{"id":21514825,"url":"https://github.com/getindata/terraform-snowflake-schema","last_synced_at":"2026-02-08T12:33:59.985Z","repository":{"id":65940876,"uuid":"582908498","full_name":"getindata/terraform-snowflake-schema","owner":"getindata","description":"Terraform module for managing Snowflake schemas","archived":false,"fork":false,"pushed_at":"2025-08-20T12:01:19.000Z","size":141,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-20T14:18:45.478Z","etag":null,"topics":["schema","snowflake","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getindata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-28T07:47:51.000Z","updated_at":"2025-08-20T12:01:01.000Z","dependencies_parsed_at":"2025-01-08T09:22:34.718Z","dependency_job_id":"11bd8390-c2c7-4474-a28d-55c098fb196c","html_url":"https://github.com/getindata/terraform-snowflake-schema","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":"getindata/terraform-module-template","purl":"pkg:github/getindata/terraform-snowflake-schema","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getindata%2Fterraform-snowflake-schema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getindata%2Fterraform-snowflake-schema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getindata%2Fterraform-snowflake-schema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getindata%2Fterraform-snowflake-schema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getindata","download_url":"https://codeload.github.com/getindata/terraform-snowflake-schema/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getindata%2Fterraform-snowflake-schema/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28891448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["schema","snowflake","terraform","terraform-module"],"created_at":"2024-11-23T23:53:06.146Z","updated_at":"2026-02-08T12:33:59.978Z","avatar_url":"https://github.com/getindata.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Snowflake Schema Terraform Module\n![Snowflake](https://img.shields.io/badge/-SNOWFLAKE-249edc?style=for-the-badge\u0026logo=snowflake\u0026logoColor=white)\n![Terraform](https://img.shields.io/badge/terraform-%235835CC.svg?style=for-the-badge\u0026logo=terraform\u0026logoColor=white)\n\n![License](https://badgen.net/github/license/getindata/terraform-snowflake-schema/)\n![Release](https://badgen.net/github/release/getindata/terraform-snowflake-schema/)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" src=\"https://getindata.com/img/logo.svg\"\u003e\n  \u003ch3 align=\"center\"\u003eWe help companies turn their data into assets\u003c/h3\u003e\n\u003c/p\u003e\n\n---\n\nTerraform module for Snowflake schema management.\n\n- Creates Snowflake schema\n- Can create custom Snowflake database roles with role-to-role assignments\n- Can create a set of default database roles to simplify access management:\n  - `READONLY` - granted select on all tables and views and usage on some objects in the schema\n  - `READWRITE` - granted write type grants on tables and stages. Additionally, allows calling procedures and tasks in the schema\n  - `TRANSFORMER` - Allows creating tables and views on top of the `READWRITE` role privileges\n  - `ADMIN` - Full access, including setting schema options like `data_retention_days`\n  - Each role can be disabled seperately by setting `enabled` to false - see [Complete example](examples/complete)\n  - Each role can be additionally modified - see [Complete example](examples/complete)\n\n## USAGE\n\n```terraform\nmodule \"snowflake_schema\" {\n  source = \"github.com/getindata/terraform-snowflake-schema\"\n  # version = \"x.x.x\"\n\n  name     = \"MY_SCHEMA\"\n  database = \"MY_DB\"\n\n  is_managed          = false\n  is_transient        = false\n  data_retention_days = 1\n\n  create_default_database_roles = true\n}\n```\n\n## EXAMPLES\n\n- [Complete](examples/complete) - Advanced usage of the module\n- [Simple](examples/simple) - Basic usage of the module\n\n## Breaking changes in v2.x of the module\n\nDue to breaking changes in Snowflake provider and additional code optimizations, **breaking changes** were introduced in `v2.0.0` version of this module.\n\nList of code and variable (API) changes:\n\n- Switched to `snowflake_database_role` module to leverage new `database_roles` mechanism\n- stage module version was updated (`v2.1.0`) to use newly introduced changes by Snowflake provider\n- overhaul of `roles` and `stages` variables\n- variable `add_grants_to_existing_objects` was removed as it is no longer needed\n\nWhen upgrading from `v1.x`, expect most of the resources to be recreated - if recreation is impossible, then it is possible to import some existing resources.\n\nFor more information, refer to [variables.tf](variables.tf), list of inputs below and Snowflake provider documentation\n\n## Breaking changes in v3.x of the module\n\nDue to replacement of nulllabel (`context.tf`) with context provider, some **breaking changes** were introduced in `v3.0.0` version of this module.\n\nList od code and variable (API) changes:\n\n- Removed `context.tf` file (a single-file module with additonal variables), which implied a removal of all its variables (except `name`):\n  - `descriptor_formats`\n  - `label_value_case`\n  - `label_key_case`\n  - `id_length_limit`\n  - `regex_replace_chars`\n  - `label_order`\n  - `additional_tag_map`\n  - `tags`\n  - `labels_as_tags`\n  - `attributes`\n  - `delimiter`\n  - `stage`\n  - `environment`\n  - `tenant`\n  - `namespace`\n  - `enabled`\n  - `context`\n- Remove support `enabled` flag - that might cause some backward compatibility issues with terraform state (please take into account that proper `move` clauses were added to minimize the impact), but proceed with caution\n- Additional `context` provider configuration\n- New variables were added, to allow naming configuration via `context` provider:\n  - `context_templates`\n  - `name_schema`\n\n## Breaking changes in v4.x of the module\n\n- Due to rename of Snowflake terraform provider source, all `versions.tf` files were updated accordingly.\n\n  Please keep in mind to mirror this change in your own repos also.\n\n  For more information about provider rename, refer to [Snowflake documentation](https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/SNOWFLAKEDB_MIGRATION.md).\n\n- Maximal version of supported provider was also unblocked (previosly locked in terraform-snowflake-stage module), so keep in mind that, starting with Snowflake provider version `1.x`, the `snowflake_stage` resource is considered a preview feature and must be explicitly enabled in the provider configuration.\n\n  **Required Provider Configuration:**\n\n  ```terraform\n  provider \"snowflake\" {\n    preview_features_enabled = [\"snowflake_stage_resource\"]\n  }\n  ```\n\n  Without this configuration, you will encounter the following error:\n\n  ```shell\n  Error: snowflake_stage_resource is currently a preview feature, and must be enabled by adding snowflake_stage_resource to preview_features_enabled in Terraform configuration.\n  ```\n\n  For more information about preview features, refer to the [Snowflake provider documentation](https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/stage#preview-features) and [Snowflake stage resource documentation](https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/stage).\n\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n\n\n\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_catalog\"\u003e\u003c/a\u003e [catalog](#input\\_catalog) | Parameter that specifies the default catalog to use for Iceberg tables. | `string` | `null` | no |\n| \u003ca name=\"input_comment\"\u003e\u003c/a\u003e [comment](#input\\_comment) | Specifies a comment for the schema | `string` | `null` | no |\n| \u003ca name=\"input_context_templates\"\u003e\u003c/a\u003e [context\\_templates](#input\\_context\\_templates) | Map of context templates used for naming conventions - this variable supersedes `naming_scheme.properties` and `naming_scheme.delimiter` configuration | `map(string)` | `{}` | no |\n| \u003ca name=\"input_create_default_roles\"\u003e\u003c/a\u003e [create\\_default\\_roles](#input\\_create\\_default\\_roles) | Whether the default database roles should be created | `bool` | `false` | no |\n| \u003ca name=\"input_data_retention_time_in_days\"\u003e\u003c/a\u003e [data\\_retention\\_time\\_in\\_days](#input\\_data\\_retention\\_time\\_in\\_days) | Specifies the number of days for which Time Travel actions (CLONE and UNDROP) can be performed on the schema,\u003cbr/\u003e    as well as specifying the default Time Travel retention time for all tables created in the schema | `number` | `1` | no |\n| \u003ca name=\"input_database\"\u003e\u003c/a\u003e [database](#input\\_database) | Database where the schema should be created | `string` | n/a | yes |\n| \u003ca name=\"input_default_ddl_collation\"\u003e\u003c/a\u003e [default\\_ddl\\_collation](#input\\_default\\_ddl\\_collation) | Specifies a default collation specification for all schemas and tables added to the database.\u003cbr/\u003eIt can be overridden on schema or table level. | `string` | `null` | no |\n| \u003ca name=\"input_enable_console_output\"\u003e\u003c/a\u003e [enable\\_console\\_output](#input\\_enable\\_console\\_output) | Enables console output for user tasks. | `bool` | `null` | no |\n| \u003ca name=\"input_external_volume\"\u003e\u003c/a\u003e [external\\_volume](#input\\_external\\_volume) | Parameter that specifies the default external volume to use for Iceberg tables. | `string` | `null` | no |\n| \u003ca name=\"input_is_transient\"\u003e\u003c/a\u003e [is\\_transient](#input\\_is\\_transient) | Specifies a schema as transient.\u003cbr/\u003e    Transient schemas do not have a Fail-safe period so they do not incur additional storage costs once they leave Time Travel; \u003cbr/\u003e    however, this means they are also not protected by Fail-safe in the event of a data loss. | `bool` | `false` | no |\n| \u003ca name=\"input_log_level\"\u003e\u003c/a\u003e [log\\_level](#input\\_log\\_level) | Specifies the severity level of messages that should be ingested and made available in the active event table.\u003cbr/\u003eValid options are: [TRACE DEBUG INFO WARN ERROR FATAL OFF].\u003cbr/\u003eMessages at the specified level (and at more severe levels) are ingested. | `string` | `null` | no |\n| \u003ca name=\"input_max_data_extension_time_in_days\"\u003e\u003c/a\u003e [max\\_data\\_extension\\_time\\_in\\_days](#input\\_max\\_data\\_extension\\_time\\_in\\_days) | Object parameter that specifies the maximum number of days for which Snowflake can extend the data retention period \u003cbr/\u003efor tables in the database to prevent streams on the tables from becoming stale. | `number` | `null` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name of the resource | `string` | n/a | yes |\n| \u003ca name=\"input_name_scheme\"\u003e\u003c/a\u003e [name\\_scheme](#input\\_name\\_scheme) | Naming scheme configuration for the resource. This configuration is used to generate names using context provider:\u003cbr/\u003e    - `properties` - list of properties to use when creating the name - is superseded by `var.context_templates`\u003cbr/\u003e    - `delimiter` - delimited used to create the name from `properties` - is superseded by `var.context_templates`\u003cbr/\u003e    - `context_template_name` - name of the context template used to create the name\u003cbr/\u003e    - `replace_chars_regex` - regex to use for replacing characters in property-values created by the provider - any characters that match the regex will be removed from the name\u003cbr/\u003e    - `extra_values` - map of extra label-value pairs, used to create a name\u003cbr/\u003e    - `uppercase` - convert name to uppercase | \u003cpre\u003eobject({\u003cbr/\u003e    properties            = optional(list(string), [\"name\"])\u003cbr/\u003e    delimiter             = optional(string, \"_\")\u003cbr/\u003e    context_template_name = optional(string, \"snowflake-schema\")\u003cbr/\u003e    replace_chars_regex   = optional(string, \"[^a-zA-Z0-9_]\")\u003cbr/\u003e    extra_values          = optional(map(string))\u003cbr/\u003e    uppercase             = optional(bool, true)\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_pipe_execution_paused\"\u003e\u003c/a\u003e [pipe\\_execution\\_paused](#input\\_pipe\\_execution\\_paused) | Pauses the execution of a pipe. | `bool` | `null` | no |\n| \u003ca name=\"input_quoted_identifiers_ignore_case\"\u003e\u003c/a\u003e [quoted\\_identifiers\\_ignore\\_case](#input\\_quoted\\_identifiers\\_ignore\\_case) | If true, the case of quoted identifiers is ignored. | `bool` | `null` | no |\n| \u003ca name=\"input_replace_invalid_characters\"\u003e\u003c/a\u003e [replace\\_invalid\\_characters](#input\\_replace\\_invalid\\_characters) | Specifies whether to replace invalid UTF-8 characters with the Unicode replacement character () in query results for an Iceberg table.\u003cbr/\u003eYou can only set this parameter for tables that use an external Iceberg catalog. | `bool` | `null` | no |\n| \u003ca name=\"input_roles\"\u003e\u003c/a\u003e [roles](#input\\_roles) | Database roles created in the scheme scope | \u003cpre\u003emap(object({\u003cbr/\u003e    name_scheme = optional(object({\u003cbr/\u003e      properties            = optional(list(string))\u003cbr/\u003e      delimiter             = optional(string)\u003cbr/\u003e      context_template_name = optional(string)\u003cbr/\u003e      replace_chars_regex   = optional(string)\u003cbr/\u003e      extra_labels          = optional(map(string))\u003cbr/\u003e      uppercase             = optional(bool)\u003cbr/\u003e    }))\u003cbr/\u003e    role_ownership_grant      = optional(string)\u003cbr/\u003e    granted_to_roles          = optional(list(string))\u003cbr/\u003e    granted_to_database_roles = optional(list(string))\u003cbr/\u003e    granted_database_roles    = optional(list(string))\u003cbr/\u003e    schema_grants = optional(list(object({\u003cbr/\u003e      all_privileges    = optional(bool)\u003cbr/\u003e      with_grant_option = optional(bool, false)\u003cbr/\u003e      privileges        = optional(list(string), null)\u003cbr/\u003e    })))\u003cbr/\u003e    schema_objects_grants = optional(map(list(object({\u003cbr/\u003e      all_privileges    = optional(bool)\u003cbr/\u003e      with_grant_option = optional(bool)\u003cbr/\u003e      privileges        = optional(list(string), null)\u003cbr/\u003e      object_name       = optional(string)\u003cbr/\u003e      on_all            = optional(bool, false)\u003cbr/\u003e      on_future         = optional(bool, false)\u003cbr/\u003e    }))), {})\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_skip_schema_creation\"\u003e\u003c/a\u003e [skip\\_schema\\_creation](#input\\_skip\\_schema\\_creation) | Should schema creation be skipped but allow all other resources to be created.\u003cbr/\u003e    Useful if schema already exsists but you want to add e.g. access roles.\" | `bool` | `false` | no |\n| \u003ca name=\"input_stages\"\u003e\u003c/a\u003e [stages](#input\\_stages) | Stages to be created in the schema | \u003cpre\u003emap(object({\u003cbr/\u003e    name_scheme = optional(object({\u003cbr/\u003e      properties            = optional(list(string))\u003cbr/\u003e      delimiter             = optional(string)\u003cbr/\u003e      context_template_name = optional(string)\u003cbr/\u003e      replace_chars_regex   = optional(string)\u003cbr/\u003e      extra_labels          = optional(map(string))\u003cbr/\u003e      uppercase             = optional(bool)\u003cbr/\u003e    }))\u003cbr/\u003e    aws_external_id      = optional(string)\u003cbr/\u003e    comment              = optional(string)\u003cbr/\u003e    copy_options         = optional(string)\u003cbr/\u003e    credentials          = optional(string)\u003cbr/\u003e    directory            = optional(string)\u003cbr/\u003e    encryption           = optional(string)\u003cbr/\u003e    file_format          = optional(string)\u003cbr/\u003e    snowflake_iam_user   = optional(string)\u003cbr/\u003e    storage_integration  = optional(string)\u003cbr/\u003e    url                  = optional(string)\u003cbr/\u003e    create_default_roles = optional(bool)\u003cbr/\u003e    roles = optional(map(object({\u003cbr/\u003e      name_scheme = optional(object({\u003cbr/\u003e        properties            = optional(list(string))\u003cbr/\u003e        delimiter             = optional(string)\u003cbr/\u003e        context_template_name = optional(string)\u003cbr/\u003e        replace_chars_regex   = optional(string)\u003cbr/\u003e        extra_labels          = optional(map(string))\u003cbr/\u003e        uppercase             = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      with_grant_option         = optional(bool)\u003cbr/\u003e      granted_to_roles          = optional(list(string))\u003cbr/\u003e      granted_to_database_roles = optional(list(string))\u003cbr/\u003e      granted_database_roles    = optional(list(string))\u003cbr/\u003e      stage_grants              = optional(list(string))\u003cbr/\u003e      all_privileges            = optional(bool)\u003cbr/\u003e    })), {})\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_storage_serialization_policy\"\u003e\u003c/a\u003e [storage\\_serialization\\_policy](#input\\_storage\\_serialization\\_policy) | The storage serialization policy for Iceberg tables that use Snowflake as the catalog.\u003cbr/\u003eValid options are: [COMPATIBLE OPTIMIZED]. | `string` | `null` | no |\n| \u003ca name=\"input_suspend_task_after_num_failures\"\u003e\u003c/a\u003e [suspend\\_task\\_after\\_num\\_failures](#input\\_suspend\\_task\\_after\\_num\\_failures) | How many times a task must fail in a row before it is automatically suspended. 0 disables auto-suspending. | `number` | `null` | no |\n| \u003ca name=\"input_task_auto_retry_attempts\"\u003e\u003c/a\u003e [task\\_auto\\_retry\\_attempts](#input\\_task\\_auto\\_retry\\_attempts) | Maximum automatic retries allowed for a user task. | `number` | `null` | no |\n| \u003ca name=\"input_trace_level\"\u003e\u003c/a\u003e [trace\\_level](#input\\_trace\\_level) | Controls how trace events are ingested into the event table.\u003cbr/\u003eValid options are: [ALWAYS ON\\_EVENT OFF].\" | `string` | `null` | no |\n| \u003ca name=\"input_user_task_managed_initial_warehouse_size\"\u003e\u003c/a\u003e [user\\_task\\_managed\\_initial\\_warehouse\\_size](#input\\_user\\_task\\_managed\\_initial\\_warehouse\\_size) | The initial size of warehouse to use for managed warehouses in the absence of history. | `string` | `null` | no |\n| \u003ca name=\"input_user_task_minimum_trigger_interval_in_seconds\"\u003e\u003c/a\u003e [user\\_task\\_minimum\\_trigger\\_interval\\_in\\_seconds](#input\\_user\\_task\\_minimum\\_trigger\\_interval\\_in\\_seconds) | Minimum amount of time between Triggered Task executions in seconds. | `number` | `null` | no |\n| \u003ca name=\"input_user_task_timeout_ms\"\u003e\u003c/a\u003e [user\\_task\\_timeout\\_ms](#input\\_user\\_task\\_timeout\\_ms) | User task execution timeout in milliseconds. | `number` | `null` | no |\n| \u003ca name=\"input_with_managed_access\"\u003e\u003c/a\u003e [with\\_managed\\_access](#input\\_with\\_managed\\_access) | Specifies a managed schema. Managed access schemas centralize privilege management with the schema owner | `bool` | `false` | no |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_roles_deep_merge\"\u003e\u003c/a\u003e [roles\\_deep\\_merge](#module\\_roles\\_deep\\_merge) | Invicton-Labs/deepmerge/null | 0.1.5 |\n| \u003ca name=\"module_snowflake_custom_role\"\u003e\u003c/a\u003e [snowflake\\_custom\\_role](#module\\_snowflake\\_custom\\_role) | getindata/database-role/snowflake | 3.0.0 |\n| \u003ca name=\"module_snowflake_default_role\"\u003e\u003c/a\u003e [snowflake\\_default\\_role](#module\\_snowflake\\_default\\_role) | getindata/database-role/snowflake | 3.0.0 |\n| \u003ca name=\"module_snowflake_stage\"\u003e\u003c/a\u003e [snowflake\\_stage](#module\\_snowflake\\_stage) | getindata/stage/snowflake | 4.1.0 |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_database\"\u003e\u003c/a\u003e [database](#output\\_database) | Database where the schema is deployed to |\n| \u003ca name=\"output_database_roles\"\u003e\u003c/a\u003e [database\\_roles](#output\\_database\\_roles) | Snowflake Database Roles |\n| \u003ca name=\"output_name\"\u003e\u003c/a\u003e [name](#output\\_name) | Name of the schema |\n| \u003ca name=\"output_schema_catalog\"\u003e\u003c/a\u003e [schema\\_catalog](#output\\_schema\\_catalog) | Catalog for the schema |\n| \u003ca name=\"output_schema_comment\"\u003e\u003c/a\u003e [schema\\_comment](#output\\_schema\\_comment) | Comment of the schema |\n| \u003ca name=\"output_schema_data_retention_time_in_days\"\u003e\u003c/a\u003e [schema\\_data\\_retention\\_time\\_in\\_days](#output\\_schema\\_data\\_retention\\_time\\_in\\_days) | Data retention time in days for the schema |\n| \u003ca name=\"output_schema_database\"\u003e\u003c/a\u003e [schema\\_database](#output\\_schema\\_database) | Database where the schema is deployed to |\n| \u003ca name=\"output_schema_default_ddl_collation\"\u003e\u003c/a\u003e [schema\\_default\\_ddl\\_collation](#output\\_schema\\_default\\_ddl\\_collation) | Default DDL collation for the schema |\n| \u003ca name=\"output_schema_enable_console_output\"\u003e\u003c/a\u003e [schema\\_enable\\_console\\_output](#output\\_schema\\_enable\\_console\\_output) | Whether to enable console output for the schema |\n| \u003ca name=\"output_schema_external_volume\"\u003e\u003c/a\u003e [schema\\_external\\_volume](#output\\_schema\\_external\\_volume) | External volume for the schema |\n| \u003ca name=\"output_schema_is_transient\"\u003e\u003c/a\u003e [schema\\_is\\_transient](#output\\_schema\\_is\\_transient) | Is the schema transient |\n| \u003ca name=\"output_schema_log_level\"\u003e\u003c/a\u003e [schema\\_log\\_level](#output\\_schema\\_log\\_level) | Log level for the schema |\n| \u003ca name=\"output_schema_max_data_extension_time_in_days\"\u003e\u003c/a\u003e [schema\\_max\\_data\\_extension\\_time\\_in\\_days](#output\\_schema\\_max\\_data\\_extension\\_time\\_in\\_days) | Maximum data extension time in days for the schema |\n| \u003ca name=\"output_schema_pipe_execution_paused\"\u003e\u003c/a\u003e [schema\\_pipe\\_execution\\_paused](#output\\_schema\\_pipe\\_execution\\_paused) | Whether to pause pipe execution for the schema |\n| \u003ca name=\"output_schema_quoted_identifiers_ignore_case\"\u003e\u003c/a\u003e [schema\\_quoted\\_identifiers\\_ignore\\_case](#output\\_schema\\_quoted\\_identifiers\\_ignore\\_case) | Whether to ignore case for quoted identifiers for the schema |\n| \u003ca name=\"output_schema_replace_invalid_characters\"\u003e\u003c/a\u003e [schema\\_replace\\_invalid\\_characters](#output\\_schema\\_replace\\_invalid\\_characters) | Whether to replace invalid characters for the schema |\n| \u003ca name=\"output_schema_storage_serialization_policy\"\u003e\u003c/a\u003e [schema\\_storage\\_serialization\\_policy](#output\\_schema\\_storage\\_serialization\\_policy) | Storage serialization policy for the schema |\n| \u003ca name=\"output_schema_suspend_task_after_num_failures\"\u003e\u003c/a\u003e [schema\\_suspend\\_task\\_after\\_num\\_failures](#output\\_schema\\_suspend\\_task\\_after\\_num\\_failures) | Number of task failures after which to suspend the task for the schema |\n| \u003ca name=\"output_schema_task_auto_retry_attempts\"\u003e\u003c/a\u003e [schema\\_task\\_auto\\_retry\\_attempts](#output\\_schema\\_task\\_auto\\_retry\\_attempts) | Number of task auto retry attempts for the schema |\n| \u003ca name=\"output_schema_trace_level\"\u003e\u003c/a\u003e [schema\\_trace\\_level](#output\\_schema\\_trace\\_level) | Trace level for the schema |\n| \u003ca name=\"output_schema_user_task_managed_initial_warehouse_size\"\u003e\u003c/a\u003e [schema\\_user\\_task\\_managed\\_initial\\_warehouse\\_size](#output\\_schema\\_user\\_task\\_managed\\_initial\\_warehouse\\_size) | User task managed initial warehouse size for the schema |\n| \u003ca name=\"output_schema_user_task_minimum_trigger_interval_in_seconds\"\u003e\u003c/a\u003e [schema\\_user\\_task\\_minimum\\_trigger\\_interval\\_in\\_seconds](#output\\_schema\\_user\\_task\\_minimum\\_trigger\\_interval\\_in\\_seconds) | User task minimum trigger interval in seconds for the schema |\n| \u003ca name=\"output_schema_user_task_timeout_ms\"\u003e\u003c/a\u003e [schema\\_user\\_task\\_timeout\\_ms](#output\\_schema\\_user\\_task\\_timeout\\_ms) | User task timeout in milliseconds for the schema |\n| \u003ca name=\"output_schema_with_managed_access\"\u003e\u003c/a\u003e [schema\\_with\\_managed\\_access](#output\\_schema\\_with\\_managed\\_access) | Whether the schema has managed access |\n| \u003ca name=\"output_stages\"\u003e\u003c/a\u003e [stages](#output\\_stages) | Schema stages |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_context\"\u003e\u003c/a\u003e [context](#provider\\_context) | \u003e=0.4.0 |\n| \u003ca name=\"provider_snowflake\"\u003e\u003c/a\u003e [snowflake](#provider\\_snowflake) | \u003e= 0.95 |\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.3 |\n| \u003ca name=\"requirement_context\"\u003e\u003c/a\u003e [context](#requirement\\_context) | \u003e=0.4.0 |\n| \u003ca name=\"requirement_snowflake\"\u003e\u003c/a\u003e [snowflake](#requirement\\_snowflake) | \u003e= 0.95 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [snowflake_schema.this](https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/schema) | resource |\n| [context_label.this](https://registry.terraform.io/providers/cloudposse/context/latest/docs/data-sources/label) | data source |\n\u003c!-- END_TF_DOCS --\u003e\n\n## CONTRIBUTING\n\nContributions are very welcomed!\n\nStart by reviewing [contribution guide](CONTRIBUTING.md) and our [code of conduct](CODE_OF_CONDUCT.md). After that, start coding and ship your changes by creating a new PR.\n\n## LICENSE\n\nApache 2 Licensed. See [LICENSE](LICENSE) for full details.\n\n## AUTHORS\n\n\u003c!--- Replace repository name --\u003e\n\u003ca href=\"https://github.com/getindata/REPO_NAME/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=getindata/terraform-snowflake-schema\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetindata%2Fterraform-snowflake-schema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetindata%2Fterraform-snowflake-schema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetindata%2Fterraform-snowflake-schema/lists"}