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"