diff --git a/contributing/topics/guide-new-write-only-attribute.md b/contributing/topics/guide-new-write-only-attribute.md index 5f8b7f794293..1f38b3c71ce3 100644 --- a/contributing/topics/guide-new-write-only-attribute.md +++ b/contributing/topics/guide-new-write-only-attribute.md @@ -133,6 +133,8 @@ func (SomeDatabase) Update() sdk.ResourceFunc { The `terraform-plugin-sdk@v2` provides a helpful validation for WO attributes that surfaces a warning to users if they are on a version of Terraform that supports WO attributes but are using the non-WO attribute version of a sensitive property. +> **Note:** We currently recommend not adding this validation to the resource since the only way to remove the warning diagnostic is to use to WO attribute. + ```go // update the interface that the resource should implement var _ sdk.ResourceWithConfigValidation = SomeDatabase{} diff --git a/internal/services/mssql/mssql_job_credential_resource.go b/internal/services/mssql/mssql_job_credential_resource.go index 8755973aa8bb..4f7ab56c889b 100644 --- a/internal/services/mssql/mssql_job_credential_resource.go +++ b/internal/services/mssql/mssql_job_credential_resource.go @@ -12,8 +12,6 @@ import ( "github.com/hashicorp/go-azure-helpers/lang/response" "github.com/hashicorp/go-azure-sdk/resource-manager/sql/2023-08-01-preview/jobcredentials" "github.com/hashicorp/go-cty/cty" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" "github.com/hashicorp/terraform-provider-azurerm/internal/clients" "github.com/hashicorp/terraform-provider-azurerm/internal/services/mssql/parse" @@ -41,10 +39,6 @@ func resourceMsSqlJobCredential() *pluginsdk.Resource { Delete: pluginsdk.DefaultTimeout(60 * time.Minute), }, - ValidateRawResourceConfigFuncs: []schema.ValidateRawResourceConfigFunc{ - validation.PreferWriteOnlyAttribute(cty.GetAttrPath("password"), cty.GetAttrPath("password_wo")), - }, - Schema: map[string]*pluginsdk.Schema{ "name": { Type: pluginsdk.TypeString, diff --git a/internal/services/mssql/mssql_server_resource.go b/internal/services/mssql/mssql_server_resource.go index 6e61641be330..6bcd9992ca85 100644 --- a/internal/services/mssql/mssql_server_resource.go +++ b/internal/services/mssql/mssql_server_resource.go @@ -23,8 +23,6 @@ import ( "github.com/hashicorp/go-azure-sdk/resource-manager/sql/2023-08-01-preview/servers" "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" "github.com/hashicorp/go-cty/cty" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - schemaValidation "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-azurerm/helpers/azure" "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" "github.com/hashicorp/terraform-provider-azurerm/internal/clients" @@ -51,10 +49,6 @@ func resourceMsSqlServer() *pluginsdk.Resource { return err }), - ValidateRawResourceConfigFuncs: []schema.ValidateRawResourceConfigFunc{ - schemaValidation.PreferWriteOnlyAttribute(cty.GetAttrPath("administrator_login_password"), cty.GetAttrPath("administrator_login_password_wo")), - }, - Timeouts: &pluginsdk.ResourceTimeout{ Create: pluginsdk.DefaultTimeout(60 * time.Minute), Read: pluginsdk.DefaultTimeout(5 * time.Minute), diff --git a/internal/services/mysql/mysql_flexible_server_resource.go b/internal/services/mysql/mysql_flexible_server_resource.go index 58d9ac14413b..d835fa4afd45 100644 --- a/internal/services/mysql/mysql_flexible_server_resource.go +++ b/internal/services/mysql/mysql_flexible_server_resource.go @@ -21,8 +21,6 @@ import ( "github.com/hashicorp/go-azure-sdk/resource-manager/mysql/2023-12-30/servers" "github.com/hashicorp/go-azure-sdk/resource-manager/privatedns/2024-06-01/privatezones" "github.com/hashicorp/go-cty/cty" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - pluginSdkValidation "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" "github.com/hashicorp/terraform-provider-azurerm/internal/clients" keyVaultValidate "github.com/hashicorp/terraform-provider-azurerm/internal/services/keyvault/validate" @@ -59,10 +57,6 @@ func resourceMysqlFlexibleServer() *pluginsdk.Resource { return err }), - ValidateRawResourceConfigFuncs: []schema.ValidateRawResourceConfigFunc{ - pluginSdkValidation.PreferWriteOnlyAttribute(cty.GetAttrPath("administrator_password"), cty.GetAttrPath("administrator_password_wo")), - }, - Schema: map[string]*pluginsdk.Schema{ "name": { Type: pluginsdk.TypeString, diff --git a/internal/services/postgres/postgresql_flexible_server_resource.go b/internal/services/postgres/postgresql_flexible_server_resource.go index 3138b05118ed..5616388ff262 100644 --- a/internal/services/postgres/postgresql_flexible_server_resource.go +++ b/internal/services/postgres/postgresql_flexible_server_resource.go @@ -22,8 +22,6 @@ import ( "github.com/hashicorp/go-azure-sdk/resource-manager/postgresql/2023-06-01-preview/servers" "github.com/hashicorp/go-azure-sdk/resource-manager/privatedns/2024-06-01/privatezones" "github.com/hashicorp/go-cty/cty" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - pluginSdkValidation "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-azurerm/helpers/azure" "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" "github.com/hashicorp/terraform-provider-azurerm/internal/clients" @@ -62,10 +60,6 @@ func resourcePostgresqlFlexibleServer() *pluginsdk.Resource { return err }), - ValidateRawResourceConfigFuncs: []schema.ValidateRawResourceConfigFunc{ - pluginSdkValidation.PreferWriteOnlyAttribute(cty.GetAttrPath("administrator_password"), cty.GetAttrPath("administrator_password_wo")), - }, - Schema: map[string]*pluginsdk.Schema{ "name": { Type: pluginsdk.TypeString, diff --git a/internal/services/postgres/postgresql_server_resource.go b/internal/services/postgres/postgresql_server_resource.go index 1ac2d02ac705..a7b0151c03da 100644 --- a/internal/services/postgres/postgresql_server_resource.go +++ b/internal/services/postgres/postgresql_server_resource.go @@ -21,8 +21,6 @@ import ( "github.com/hashicorp/go-azure-sdk/resource-manager/postgresql/2017-12-01/servers" "github.com/hashicorp/go-azure-sdk/resource-manager/postgresql/2017-12-01/serversecurityalertpolicies" "github.com/hashicorp/go-cty/cty" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - pluginSdkValidation "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" "github.com/hashicorp/terraform-provider-azurerm/internal/clients" "github.com/hashicorp/terraform-provider-azurerm/internal/locks" @@ -117,10 +115,6 @@ func resourcePostgreSQLServer() *pluginsdk.Resource { 0: migration.PostgresqlServerV0ToV1{}, }), - ValidateRawResourceConfigFuncs: []schema.ValidateRawResourceConfigFunc{ - pluginSdkValidation.PreferWriteOnlyAttribute(cty.GetAttrPath("administrator_login_password"), cty.GetAttrPath("administrator_login_password_wo")), - }, - Schema: map[string]*pluginsdk.Schema{ "name": { Type: pluginsdk.TypeString,