From e15ed2d9da57b1c455865a5e9c48620164ea66ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Gniewek-W=C4=99grzyn?= Date: Wed, 20 Aug 2025 15:42:37 +0200 Subject: [PATCH] chore: rename snowflake provider --- README.md | 36 +++++++++++++++++++++++++++++----- examples/complete/README.md | 6 +++--- examples/complete/outputs.tf | 1 + examples/complete/providers.tf | 6 ++++-- examples/complete/versions.tf | 4 ++-- main.tf | 4 ++-- outputs.tf | 1 + versions.tf | 4 ++-- 8 files changed, 46 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 1793f77..3cd670a 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,32 @@ List od code and variable (API) changes: - `context_templates` - `name_schema` +## Breaking changes in v4.x of the module + +- Due to rename of Snowflake terraform provider source, all `versions.tf` files were updated accordingly. + + Please keep in mind to mirror this change in your own repos also. + + For more information about provider rename, refer to [Snowflake documentation](https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/SNOWFLAKEDB_MIGRATION.md). + +- Maximal version of supported provider was also unblocked in version `v4.1.x` , 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. + + **Required Provider Configuration:** + + ```terraform + provider "snowflake" { + preview_features_enabled = ["snowflake_storage_integration_resource"] + } + ``` + + Without this configuration, you will encounter the following error: + + ```shell + Error: snowflake_storage_integration_resource is currently a preview feature, and must be enabled by adding snowflake_storage_integration_resource to preview_features_enabled in Terraform configuration. + ``` + + 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 storage integration resource documentation](https://registry.terraform.io/providers/snowflakedb/snowflake/2.2.0/docs/resources/storage_integration). + ## USAGE ```terraform @@ -102,8 +128,8 @@ module "snowflake_storage_integration" { | Name | Source | Version | |------|--------|---------| | [roles\_deep\_merge](#module\_roles\_deep\_merge) | Invicton-Labs/deepmerge/null | 0.1.5 | -| [snowflake\_custom\_role](#module\_snowflake\_custom\_role) | getindata/role/snowflake | 3.1.0 | -| [snowflake\_default\_role](#module\_snowflake\_default\_role) | getindata/role/snowflake | 3.1.0 | +| [snowflake\_custom\_role](#module\_snowflake\_custom\_role) | getindata/role/snowflake | 4.0.0 | +| [snowflake\_default\_role](#module\_snowflake\_default\_role) | getindata/role/snowflake | 4.0.0 | ## Outputs @@ -131,7 +157,7 @@ module "snowflake_storage_integration" { | Name | Version | |------|---------| | [context](#provider\_context) | >=0.4.0 | -| [snowflake](#provider\_snowflake) | ~> 0.94 | +| [snowflake](#provider\_snowflake) | >= 0.94 | ## Requirements @@ -139,13 +165,13 @@ module "snowflake_storage_integration" { |------|---------| | [terraform](#requirement\_terraform) | >= 1.3 | | [context](#requirement\_context) | >=0.4.0 | -| [snowflake](#requirement\_snowflake) | ~> 0.94 | +| [snowflake](#requirement\_snowflake) | >= 0.94 | ## Resources | Name | Type | |------|------| -| [snowflake_storage_integration.this](https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/storage_integration) | resource | +| [snowflake_storage_integration.this](https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/storage_integration) | resource | | [context_label.this](https://registry.terraform.io/providers/cloudposse/context/latest/docs/data-sources/label) | data source | diff --git a/examples/complete/README.md b/examples/complete/README.md index 62e2294..3b155f9 100644 --- a/examples/complete/README.md +++ b/examples/complete/README.md @@ -104,7 +104,7 @@ terraform apply tfplan | Name | Version | |------|---------| -| [snowflake](#provider\_snowflake) | ~> 0.94 | +| [snowflake](#provider\_snowflake) | >= 0.94 | ## Requirements @@ -112,11 +112,11 @@ terraform apply tfplan |------|---------| | [terraform](#requirement\_terraform) | >= 1.3 | | [context](#requirement\_context) | >=0.4.0 | -| [snowflake](#requirement\_snowflake) | ~> 0.94 | +| [snowflake](#requirement\_snowflake) | >= 0.94 | ## Resources | Name | Type | |------|------| -| [snowflake_account_role.dev_role](https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/account_role) | resource | +| [snowflake_account_role.dev_role](https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/account_role) | resource | diff --git a/examples/complete/outputs.tf b/examples/complete/outputs.tf index 1793e72..5ccdaca 100644 --- a/examples/complete/outputs.tf +++ b/examples/complete/outputs.tf @@ -1,4 +1,5 @@ output "storage_integration" { description = "Storage integration module outputs" value = module.storage_integration + sensitive = true } diff --git a/examples/complete/providers.tf b/examples/complete/providers.tf index 5b943b9..5ebf3ae 100644 --- a/examples/complete/providers.tf +++ b/examples/complete/providers.tf @@ -1,9 +1,11 @@ -provider "snowflake" {} +provider "snowflake" { + preview_features_enabled = ["snowflake_storage_integration_resource"] +} provider "context" { properties = { "environment" = {} - "name" = { required = true } + "name" = {} } values = { diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf index b1e58ad..365bde8 100644 --- a/examples/complete/versions.tf +++ b/examples/complete/versions.tf @@ -2,8 +2,8 @@ terraform { required_version = ">= 1.3" required_providers { snowflake = { - source = "Snowflake-Labs/snowflake" - version = "~> 0.94" + source = "snowflakedb/snowflake" + version = ">= 0.94" } context = { source = "cloudposse/context" diff --git a/main.tf b/main.tf index ab2270c..f6e5b25 100644 --- a/main.tf +++ b/main.tf @@ -35,7 +35,7 @@ module "snowflake_default_role" { for_each = local.default_roles source = "getindata/role/snowflake" - version = "3.1.0" + version = "4.0.0" context_templates = var.context_templates @@ -64,7 +64,7 @@ module "snowflake_custom_role" { for_each = local.custom_roles source = "getindata/role/snowflake" - version = "3.1.0" + version = "4.0.0" context_templates = var.context_templates diff --git a/outputs.tf b/outputs.tf index 0d20af5..f602c9d 100644 --- a/outputs.tf +++ b/outputs.tf @@ -36,6 +36,7 @@ output "roles" { output "azure_consent_url" { description = "The consent URL that is used to create an Azure Snowflake service principle inside your tenant" value = snowflake_storage_integration.this.azure_consent_url + sensitive = true } output "azure_multi_tenant_app_name" { diff --git a/versions.tf b/versions.tf index b1e58ad..365bde8 100644 --- a/versions.tf +++ b/versions.tf @@ -2,8 +2,8 @@ terraform { required_version = ">= 1.3" required_providers { snowflake = { - source = "Snowflake-Labs/snowflake" - version = "~> 0.94" + source = "snowflakedb/snowflake" + version = ">= 0.94" } context = { source = "cloudposse/context"