diff --git a/go.mod b/go.mod index 2effbbf28c..c98dfe4f2b 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/IBM/sarama v1.41.2 github.com/IBM/scc-go-sdk/v5 v5.4.1 github.com/IBM/schematics-go-sdk v0.2.3 - github.com/IBM/secrets-manager-go-sdk/v2 v2.0.5 + github.com/IBM/secrets-manager-go-sdk/v2 v2.0.6 github.com/IBM/vmware-go-sdk v0.1.2 github.com/IBM/vpc-beta-go-sdk v0.6.0 github.com/IBM/vpc-go-sdk v0.57.0 diff --git a/go.sum b/go.sum index c3a7916418..1fd042a521 100644 --- a/go.sum +++ b/go.sum @@ -187,6 +187,8 @@ github.com/IBM/schematics-go-sdk v0.2.3 h1:lgTt0Sbudii3cuSk1YSQgrtiZAXDbBABAoVj3 github.com/IBM/schematics-go-sdk v0.2.3/go.mod h1:Tw2OSAPdpC69AxcwoyqcYYaGTTW6YpERF9uNEU+BFRQ= github.com/IBM/secrets-manager-go-sdk/v2 v2.0.5 h1:VMc/Zd6RzB8j60CqZekkwYT2wQsCfrkGV2n01Gviuaw= github.com/IBM/secrets-manager-go-sdk/v2 v2.0.5/go.mod h1:5kUgJ1dG9cdiAcPDqVz46m362bPnoqZQSth24NiowSg= +github.com/IBM/secrets-manager-go-sdk/v2 v2.0.6 h1:bF6bAdI4wDZSje6+Yx1mJxvirboxO+uMuKhzgfRCNxE= +github.com/IBM/secrets-manager-go-sdk/v2 v2.0.6/go.mod h1:XWYnbcc5vN1RnKwk/fCzfD8aZd7At/Y1/b6c+oDyliU= github.com/IBM/vmware-go-sdk v0.1.2 h1:5lKWFyInWz9e2hwGsoFTEoLa1jYkD30SReN0fQ10w9M= github.com/IBM/vmware-go-sdk v0.1.2/go.mod h1:2UGPBJju3jiv5VKKBBm9a5L6bzF/aJdKOKAzJ7HaOjA= github.com/IBM/vpc-beta-go-sdk v0.6.0 h1:wfM3AcW3zOM3xsRtZ+EA6+sESlGUjQ6Yf4n5QQyz4uc= diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret.go b/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret.go index 7572a8d2f0..2cd8853a85 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret.go @@ -131,8 +131,7 @@ func DataSourceIbmSmArbitrarySecret() *schema.Resource { } func dataSourceIbmSmArbitrarySecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - - secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ArbitrarySecretType) + secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ArbitrarySecretType, ArbitrarySecretResourceName) if diagError != nil { return diagError } @@ -142,18 +141,22 @@ func dataSourceIbmSmArbitrarySecretRead(context context.Context, d *schema.Resou var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", arbitrarySecret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(arbitrarySecret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", arbitrarySecret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if arbitrarySecret.CustomMetadata != nil { @@ -163,59 +166,73 @@ func dataSourceIbmSmArbitrarySecretRead(context context.Context, d *schema.Resou } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", arbitrarySecret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", arbitrarySecret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(arbitrarySecret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", arbitrarySecret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", arbitrarySecret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", arbitrarySecret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(arbitrarySecret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", arbitrarySecret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(arbitrarySecret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(arbitrarySecret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(arbitrarySecret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("payload", arbitrarySecret.Payload); err != nil { - return diag.FromErr(fmt.Errorf("Error setting payload: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting payload"), fmt.Sprintf("(Data) %s", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret_metadata.go index 9ac786871a..c822a89341 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_arbitrary_secret_metadata.go @@ -119,7 +119,8 @@ func DataSourceIbmSmArbitrarySecretMetadata() *schema.Resource { func dataSourceIbmSmArbitrarySecretMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -134,7 +135,8 @@ func dataSourceIbmSmArbitrarySecretMetadataRead(context context.Context, d *sche arbitrarySecretMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } arbitrarySecretMetadata := arbitrarySecretMetadataIntf.(*secretsmanagerv2.ArbitrarySecretMetadata) @@ -142,19 +144,23 @@ func dataSourceIbmSmArbitrarySecretMetadataRead(context context.Context, d *sche d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("created_by", arbitrarySecretMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(arbitrarySecretMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", arbitrarySecretMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if arbitrarySecretMetadata.CustomMetadata != nil { @@ -164,55 +170,68 @@ func dataSourceIbmSmArbitrarySecretMetadataRead(context context.Context, d *sche } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", arbitrarySecretMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", arbitrarySecretMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(arbitrarySecretMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", arbitrarySecretMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", arbitrarySecretMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", arbitrarySecretMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(arbitrarySecretMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", arbitrarySecretMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(arbitrarySecretMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(arbitrarySecretMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(arbitrarySecretMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", ArbitrarySecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_configurations.go b/ibm/service/secretsmanager/data_source_ibm_sm_configurations.go index 8b950a1d17..7bf7d41211 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_configurations.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_configurations.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "time" @@ -201,7 +202,8 @@ func DataSourceIbmSmConfigurations() *schema.Resource { func dataSourceIbmSmConfigurationsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -231,13 +233,15 @@ func dataSourceIbmSmConfigurationsRead(context context.Context, d *schema.Resour var pager *secretsmanagerv2.ConfigurationsPager pager, err = secretsManagerClient.NewConfigurationsPager(listConfigurationsOptions) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } allItems, err := pager.GetAll() if err != nil { log.Printf("[DEBUG] ConfigurationsPager.GetAll() failed %s", err) - return diag.FromErr(fmt.Errorf("ConfigurationsPager.GetAll() failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ConfigurationsPager.GetAll() %s", err), fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } d.SetId(dataSourceIbmSmConfigurationsID(d)) @@ -246,16 +250,19 @@ func dataSourceIbmSmConfigurationsRead(context context.Context, d *schema.Resour for _, modelItem := range allItems { modelMap, err := dataSourceIbmSmConfigurationsConfigurationMetadataToMap(modelItem) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } mapSlice = append(mapSlice, modelMap) } if err = d.Set("configurations", mapSlice); err != nil { - return diag.FromErr(fmt.Errorf("Error setting configurations %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting configurations"), fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("total_count", len(mapSlice)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting total_count"), fmt.Sprintf("(Data) %s", ConfigurationsResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_en_registration.go b/ibm/service/secretsmanager/data_source_ibm_sm_en_registration.go index 913ba863b1..928a7bf6ef 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_en_registration.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_en_registration.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "log" @@ -31,7 +32,8 @@ func DataSourceIbmSmEnRegistration() *schema.Resource { func dataSourceIbmSmEnRegistrationRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", EnRegistrationResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -43,16 +45,19 @@ func dataSourceIbmSmEnRegistrationRead(context context.Context, d *schema.Resour notificationsRegistration, response, err := secretsManagerClient.GetNotificationsRegistrationWithContext(context, getNotificationsRegistrationOptions) if err != nil { log.Printf("[DEBUG] GetNotificationsRegistrationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetNotificationsRegistrationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetNotificationsRegistrationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", EnRegistrationResourceName), "read") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s", region, instanceId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", EnRegistrationResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("event_notifications_instance_crn", notificationsRegistration.EventNotificationsInstanceCrn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting event_notifications_instance_crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting event_notifications_instance_crn"), fmt.Sprintf("(Data) %s", EnRegistrationResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_configuration.go b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_configuration.go index ab8f4277de..d6e80959ee 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_configuration.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_configuration.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -63,7 +64,8 @@ func DataSourceIbmSmIamCredentialsConfiguration() *schema.Resource { func dataSourceIbmSmIamCredentialsConfigurationRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -77,37 +79,45 @@ func dataSourceIbmSmIamCredentialsConfigurationRead(context context.Context, d * iAMCredentialsConfigurationIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } iAMCredentialsConfiguration := iAMCredentialsConfigurationIntf.(*secretsmanagerv2.IAMCredentialsConfiguration) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", iAMCredentialsConfiguration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", iAMCredentialsConfiguration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", iAMCredentialsConfiguration.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(iAMCredentialsConfiguration.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(iAMCredentialsConfiguration.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("api_key", iAMCredentialsConfiguration.ApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key"), fmt.Sprintf("(Data) %s", IAMCredentialsConfigResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret.go b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret.go index 2fc4b0929a..6c0a18e03e 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret.go @@ -193,8 +193,7 @@ func DataSourceIbmSmIamCredentialsSecret() *schema.Resource { } func dataSourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - - iAMCredentialsSecretIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, IAMCredentialsSecretType) + iAMCredentialsSecretIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, IAMCredentialsSecretType, IAMCredentialsSecretResourceName) if diagError != nil { return diagError } @@ -204,18 +203,22 @@ func dataSourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema. var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", iAMCredentialsSecret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(iAMCredentialsSecret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", iAMCredentialsSecret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if iAMCredentialsSecret.CustomMetadata != nil { @@ -225,96 +228,118 @@ func dataSourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema. } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", iAMCredentialsSecret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", iAMCredentialsSecret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(iAMCredentialsSecret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", iAMCredentialsSecret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", iAMCredentialsSecret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", iAMCredentialsSecret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(iAMCredentialsSecret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", iAMCredentialsSecret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(iAMCredentialsSecret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(iAMCredentialsSecret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ttl", iAMCredentialsSecret.TTL); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("api_key_id", iAMCredentialsSecret.ApiKeyID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key_id"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("service_id", iAMCredentialsSecret.ServiceID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("service_id_is_static", iAMCredentialsSecret.ServiceIdIsStatic); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id_is_static: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id_is_static"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("reuse_api_key", iAMCredentialsSecret.ReuseApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting reuse_api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting reuse_api_key"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if iAMCredentialsSecret.Rotation != nil { modelMap, err := dataSourceIbmSmIamCredentialsSecretRotationPolicyToMap(iAMCredentialsSecret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(iAMCredentialsSecret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("api_key", iAMCredentialsSecret.ApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if iAMCredentialsSecret.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(iAMCredentialsSecret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret_metadata.go index e4193e2ee6..0bca907e28 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_iam_credentials_secret_metadata.go @@ -181,7 +181,8 @@ func DataSourceIbmSmIamCredentialsSecretMetadata() *schema.Resource { func dataSourceIbmSmIamCredentialsSecretMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -196,25 +197,30 @@ func dataSourceIbmSmIamCredentialsSecretMetadataRead(context context.Context, d iAMCredentialsSecretMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } iAMCredentialsSecretMetadata := iAMCredentialsSecretMetadataIntf.(*secretsmanagerv2.IAMCredentialsSecretMetadata) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", iAMCredentialsSecretMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(iAMCredentialsSecretMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", iAMCredentialsSecretMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if iAMCredentialsSecretMetadata.CustomMetadata != nil { @@ -224,92 +230,113 @@ func dataSourceIbmSmIamCredentialsSecretMetadataRead(context context.Context, d } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", iAMCredentialsSecretMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", iAMCredentialsSecretMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(iAMCredentialsSecretMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", iAMCredentialsSecretMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", iAMCredentialsSecretMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", iAMCredentialsSecretMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(iAMCredentialsSecretMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", iAMCredentialsSecretMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(iAMCredentialsSecretMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(iAMCredentialsSecretMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ttl", iAMCredentialsSecretMetadata.TTL); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("api_key_id", iAMCredentialsSecretMetadata.ApiKeyID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key_id"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("service_id", iAMCredentialsSecretMetadata.ServiceID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("service_id_is_static", iAMCredentialsSecretMetadata.ServiceIdIsStatic); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id_is_static: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id_is_static"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("reuse_api_key", iAMCredentialsSecretMetadata.ReuseApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting reuse_api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting reuse_api_key"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if iAMCredentialsSecretMetadata.Rotation != nil { modelMap, err := dataSourceIbmSmIamCredentialsSecretMetadataRotationPolicyToMap(iAMCredentialsSecretMetadata.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(iAMCredentialsSecretMetadata.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if iAMCredentialsSecretMetadata.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(iAMCredentialsSecretMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", IAMCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate.go b/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate.go index d951300505..1a0310db03 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate.go @@ -197,7 +197,7 @@ func DataSourceIbmSmImportedCertificate() *schema.Resource { } func dataSourceIbmSmImportedCertificateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - importedCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ImportedCertSecretType) + importedCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ImportedCertSecretType, ImportedCertSecretResourceName) if diagError != nil { return diagError } @@ -207,18 +207,22 @@ func dataSourceIbmSmImportedCertificateRead(context context.Context, d *schema.R var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", importedCertificate.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(importedCertificate.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", importedCertificate.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if importedCertificate.CustomMetadata != nil { @@ -228,107 +232,132 @@ func dataSourceIbmSmImportedCertificateRead(context context.Context, d *schema.R } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", importedCertificate.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", importedCertificate.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(importedCertificate.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", importedCertificate.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", importedCertificate.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", importedCertificate.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(importedCertificate.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", importedCertificate.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(importedCertificate.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(importedCertificate.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", importedCertificate.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", importedCertificate.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(importedCertificate.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("intermediate_included", importedCertificate.IntermediateIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate_included"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", importedCertificate.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", importedCertificate.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key_included", importedCertificate.PrivateKeyIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_included"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", importedCertificate.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if importedCertificate.Validity != nil { modelMap, err := dataSourceIbmSmImportedCertificateCertificateValidityToMap(importedCertificate.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate", importedCertificate.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("intermediate", importedCertificate.Intermediate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key", importedCertificate.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), fmt.Sprintf("(Data) %s", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate_metadata.go index deb8aeb65d..d44b056af8 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_imported_certificate_metadata.go @@ -173,7 +173,8 @@ func DataSourceIbmSmImportedCertificateMetadata() *schema.Resource { func dataSourceIbmSmImportedCertificateMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -188,26 +189,31 @@ func dataSourceIbmSmImportedCertificateMetadataRead(context context.Context, d * importedCertificateMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } importedCertificateMetadata := importedCertificateMetadataIntf.(*secretsmanagerv2.ImportedCertificateMetadata) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", importedCertificateMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(importedCertificateMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", importedCertificateMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if importedCertificateMetadata.CustomMetadata != nil { @@ -217,95 +223,117 @@ func dataSourceIbmSmImportedCertificateMetadataRead(context context.Context, d * } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", importedCertificateMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", importedCertificateMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(importedCertificateMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", importedCertificateMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", importedCertificateMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", importedCertificateMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(importedCertificateMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", importedCertificateMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(importedCertificateMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(importedCertificateMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", importedCertificateMetadata.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", importedCertificateMetadata.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(importedCertificateMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("intermediate_included", importedCertificateMetadata.IntermediateIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate_included"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", importedCertificateMetadata.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", importedCertificateMetadata.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key_included", importedCertificateMetadata.PrivateKeyIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_included"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", importedCertificateMetadata.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if importedCertificateMetadata.Validity != nil { modelMap, err := dataSourceIbmSmImportedCertificateMetadataCertificateValidityToMap(importedCertificateMetadata.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s_metadata", ImportedCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret.go b/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret.go index 49e78f615f..8ad39c1e08 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret.go @@ -130,7 +130,7 @@ func DataSourceIbmSmKvSecret() *schema.Resource { func dataSourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, KvSecretType) + secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, KvSecretType, KvSecretResourceName) if diagError != nil { return diagError } @@ -140,19 +140,23 @@ func dataSourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *kVSecret.ID)) var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", kVSecret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(kVSecret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", kVSecret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if kVSecret.CustomMetadata != nil { @@ -162,51 +166,63 @@ func dataSourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", kVSecret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", kVSecret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(kVSecret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", kVSecret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", kVSecret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", kVSecret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(kVSecret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", kVSecret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(kVSecret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(kVSecret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if kVSecret.Data != nil { @@ -216,10 +232,12 @@ func dataSourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData } if err = d.Set("data", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting data %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), fmt.Sprintf("(Data) %s", KvSecretResourceName), "read") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret_metadata.go index b36a9376fc..11f82b269e 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_kv_secret_metadata.go @@ -114,7 +114,8 @@ func DataSourceIbmSmKvSecretMetadata() *schema.Resource { func dataSourceIbmSmKvSecretMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -129,26 +130,31 @@ func dataSourceIbmSmKvSecretMetadataRead(context context.Context, d *schema.Reso kVSecretMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } kVSecretMetadata := kVSecretMetadataIntf.(*secretsmanagerv2.KVSecretMetadata) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", kVSecretMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(kVSecretMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", kVSecretMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if kVSecretMetadata.CustomMetadata != nil { @@ -158,51 +164,63 @@ func dataSourceIbmSmKvSecretMetadataRead(context context.Context, d *schema.Reso } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", kVSecretMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", kVSecretMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(kVSecretMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", kVSecretMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", kVSecretMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", kVSecretMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(kVSecretMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", kVSecretMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(kVSecretMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(kVSecretMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", KvSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate.go b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate.go index 59ce4a1fa8..d8aa2181a7 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate.go @@ -253,7 +253,7 @@ func DataSourceIbmSmPrivateCertificate() *schema.Resource { } func dataSourceIbmSmPrivateCertificateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - privateCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, PrivateCertSecretType) + privateCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, PrivateCertSecretType, PrivateCertSecretResourceName) if diagError != nil { return diagError } @@ -264,19 +264,23 @@ func dataSourceIbmSmPrivateCertificateRead(context context.Context, d *schema.Re var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", privateCertificate.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(privateCertificate.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", privateCertificate.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if privateCertificate.CustomMetadata != nil { @@ -286,131 +290,161 @@ func dataSourceIbmSmPrivateCertificateRead(context context.Context, d *schema.Re } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", privateCertificate.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", privateCertificate.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(privateCertificate.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", privateCertificate.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", privateCertificate.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", privateCertificate.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(privateCertificate.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", privateCertificate.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(privateCertificate.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(privateCertificate.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", privateCertificate.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate_authority", privateCertificate.CertificateAuthority); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_authority: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_authority"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate_template", privateCertificate.CertificateTemplate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_template: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_template"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", privateCertificate.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(privateCertificate.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", privateCertificate.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", privateCertificate.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(privateCertificate.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if privateCertificate.Rotation != nil { modelMap, err := dataSourceIbmSmPrivateCertificateRotationPolicyToMap(privateCertificate.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", privateCertificate.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if privateCertificate.Validity != nil { modelMap, err := dataSourceIbmSmPrivateCertificateCertificateValidityToMap(privateCertificate.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("revocation_time_seconds", flex.IntValue(privateCertificate.RevocationTimeSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_seconds"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("revocation_time_rfc3339", DateTimeToRFC3339(privateCertificate.RevocationTimeRfc3339)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_rfc3339: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_rfc3339"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate", privateCertificate.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key", privateCertificate.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuing_ca", privateCertificate.IssuingCa); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_ca"), fmt.Sprintf("(Data) %s", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_intermediate_ca.go b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_intermediate_ca.go index 43c50c46a8..1db43ac87c 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_intermediate_ca.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_intermediate_ca.go @@ -309,7 +309,8 @@ func DataSourceIbmSmPrivateCertificateConfigurationIntermediateCA() *schema.Reso func dataSourceIbmSmPrivateCertificateConfigurationIntermediateCARead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -323,104 +324,128 @@ func dataSourceIbmSmPrivateCertificateConfigurationIntermediateCARead(context co configurationIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } privateCertificateConfigurationIntermediateCA := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationIntermediateCA) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", privateCertificateConfigurationIntermediateCA.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", privateCertificateConfigurationIntermediateCA.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(privateCertificateConfigurationIntermediateCA.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_method", privateCertificateConfigurationIntermediateCA.SigningMethod); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_method: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_method"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", privateCertificateConfigurationIntermediateCA.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_expiry_seconds", flex.IntValue(privateCertificateConfigurationIntermediateCA.CrlExpirySeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_expiry_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_disable", privateCertificateConfigurationIntermediateCA.CrlDisable); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_disable: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_disable"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_distribution_points_encoded", privateCertificateConfigurationIntermediateCA.CrlDistributionPointsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_distribution_points_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_distribution_points_encoded"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuing_certificates_urls_encoded", privateCertificateConfigurationIntermediateCA.IssuingCertificatesUrlsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_certificates_urls_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_certificates_urls_encoded"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", privateCertificateConfigurationIntermediateCA.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ip_sans", privateCertificateConfigurationIntermediateCA.IpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ip_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("uri_sans", privateCertificateConfigurationIntermediateCA.UriSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting uri_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting uri_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("format", privateCertificateConfigurationIntermediateCA.Format); err != nil { - return diag.FromErr(fmt.Errorf("Error setting format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting format"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key_format", privateCertificateConfigurationIntermediateCA.PrivateKeyFormat); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_format"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_type", privateCertificateConfigurationIntermediateCA.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(privateCertificateConfigurationIntermediateCA.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("exclude_cn_from_sans", privateCertificateConfigurationIntermediateCA.ExcludeCnFromSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting exclude_cn_from_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting exclude_cn_from_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", privateCertificateConfigurationIntermediateCA.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("status", privateCertificateConfigurationIntermediateCA.Status); err != nil { - return diag.FromErr(fmt.Errorf("Error setting status: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting status"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(privateCertificateConfigurationIntermediateCA.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if privateCertificateConfigurationIntermediateCA.CryptoKey != nil { cryptoKeyMap, err := resourceIbmSmPrivateCertificateConfigurationCryptoKeyToMap(privateCertificateConfigurationIntermediateCA.CryptoKey) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } if len(cryptoKeyMap) > 0 { if err = d.Set("crypto_key", []map[string]interface{}{cryptoKeyMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crypto_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crypto_key"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } } } @@ -429,12 +454,14 @@ func dataSourceIbmSmPrivateCertificateConfigurationIntermediateCARead(context co if privateCertificateConfigurationIntermediateCA.Data != nil { modelMap, err := dataSourceIbmSmPrivateCertificateConfigurationIntermediateCAPrivateCertificateCADataToMap(privateCertificateConfigurationIntermediateCA.Data) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } data = append(data, modelMap) } if err = d.Set("data", data); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), fmt.Sprintf("(Data) %s", PrivateCertConfigIntermediateCAResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_root_ca.go b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_root_ca.go index 68a90a5690..a415d6efa3 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_root_ca.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_root_ca.go @@ -333,7 +333,8 @@ func DataSourceIbmSmPrivateCertificateConfigurationRootCA() *schema.Resource { func dataSourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -347,7 +348,8 @@ func dataSourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Co privateCertificateConfigurationRootCAIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } privateCertificateConfigurationRootCA := privateCertificateConfigurationRootCAIntf.(*secretsmanagerv2.PrivateCertificateConfigurationRootCA) @@ -355,158 +357,194 @@ func dataSourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Co d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", privateCertificateConfigurationRootCA.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", privateCertificateConfigurationRootCA.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", privateCertificateConfigurationRootCA.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(privateCertificateConfigurationRootCA.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(privateCertificateConfigurationRootCA.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(privateCertificateConfigurationRootCA.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_expiry_seconds", flex.IntValue(privateCertificateConfigurationRootCA.CrlExpirySeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_expiry_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_disable", privateCertificateConfigurationRootCA.CrlDisable); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_disable: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_disable"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crl_distribution_points_encoded", privateCertificateConfigurationRootCA.CrlDistributionPointsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_distribution_points_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_distribution_points_encoded"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuing_certificates_urls_encoded", privateCertificateConfigurationRootCA.IssuingCertificatesUrlsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_certificates_urls_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_certificates_urls_encoded"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", privateCertificateConfigurationRootCA.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if privateCertificateConfigurationRootCA.AltNames != nil { if err = d.Set("alt_names", privateCertificateConfigurationRootCA.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("ip_sans", privateCertificateConfigurationRootCA.IpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ip_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("uri_sans", privateCertificateConfigurationRootCA.UriSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting uri_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting uri_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if privateCertificateConfigurationRootCA.OtherSans != nil { if err = d.Set("other_sans", privateCertificateConfigurationRootCA.OtherSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting other_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting other_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("ttl_seconds", flex.IntValue(privateCertificateConfigurationRootCA.TtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("format", privateCertificateConfigurationRootCA.Format); err != nil { - return diag.FromErr(fmt.Errorf("Error setting format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting format"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key_format", privateCertificateConfigurationRootCA.PrivateKeyFormat); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_format"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_type", privateCertificateConfigurationRootCA.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(privateCertificateConfigurationRootCA.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("max_path_length", flex.IntValue(privateCertificateConfigurationRootCA.MaxPathLength)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_path_length: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_path_length"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("exclude_cn_from_sans", privateCertificateConfigurationRootCA.ExcludeCnFromSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting exclude_cn_from_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting exclude_cn_from_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if privateCertificateConfigurationRootCA.PermittedDnsDomains != nil { if err = d.Set("permitted_dns_domains", privateCertificateConfigurationRootCA.PermittedDnsDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting permitted_dns_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting permitted_dns_domains"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.Ou != nil { if err = d.Set("ou", privateCertificateConfigurationRootCA.Ou); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ou: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ou"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.Organization != nil { if err = d.Set("organization", privateCertificateConfigurationRootCA.Organization); err != nil { - return diag.FromErr(fmt.Errorf("Error setting organization: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting organization"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.Country != nil { if err = d.Set("country", privateCertificateConfigurationRootCA.Country); err != nil { - return diag.FromErr(fmt.Errorf("Error setting country: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting country"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.Locality != nil { if err = d.Set("locality", privateCertificateConfigurationRootCA.Locality); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locality: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locality"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.Province != nil { if err = d.Set("province", privateCertificateConfigurationRootCA.Province); err != nil { - return diag.FromErr(fmt.Errorf("Error setting province: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting province"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.StreetAddress != nil { if err = d.Set("street_address", privateCertificateConfigurationRootCA.StreetAddress); err != nil { - return diag.FromErr(fmt.Errorf("Error setting street_address: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting street_address"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if privateCertificateConfigurationRootCA.PostalCode != nil { if err = d.Set("postal_code", privateCertificateConfigurationRootCA.PostalCode); err != nil { - return diag.FromErr(fmt.Errorf("Error setting postal_code: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting postal_code"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("serial_number", privateCertificateConfigurationRootCA.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("status", privateCertificateConfigurationRootCA.Status); err != nil { - return diag.FromErr(fmt.Errorf("Error setting status: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting status"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(privateCertificateConfigurationRootCA.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if privateCertificateConfigurationRootCA.CryptoKey != nil { cryptoKeyMap, err := resourceIbmSmPrivateCertificateConfigurationCryptoKeyToMap(privateCertificateConfigurationRootCA.CryptoKey) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if len(cryptoKeyMap) > 0 { if err = d.Set("crypto_key", []map[string]interface{}{cryptoKeyMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crypto_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crypto_key"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } } @@ -514,10 +552,12 @@ func dataSourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Co if privateCertificateConfigurationRootCA.Data != nil { dataMap, err := dataSourceIbmSmPrivateCertificateConfigurationRootCAPrivateCertificateCADataToMap(privateCertificateConfigurationRootCA.Data) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("data", []map[string]interface{}{dataMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), fmt.Sprintf("(Data) %s", PrivateCertConfigRootCAResourceName), "read") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_template.go b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_template.go index 2fbf395d9e..e82a8166fa 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_template.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_configuration_template.go @@ -290,7 +290,8 @@ func DataSourceIbmSmPrivateCertificateConfigurationTemplate() *schema.Resource { func dataSourceIbmSmPrivateCertificateConfigurationTemplateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -304,130 +305,161 @@ func dataSourceIbmSmPrivateCertificateConfigurationTemplateRead(context context. privateCertificateConfigurationTemplateIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } privateCertificateConfigurationTemplate := privateCertificateConfigurationTemplateIntf.(*secretsmanagerv2.PrivateCertificateConfigurationTemplate) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", privateCertificateConfigurationTemplate.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", privateCertificateConfigurationTemplate.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", privateCertificateConfigurationTemplate.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(privateCertificateConfigurationTemplate.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(privateCertificateConfigurationTemplate.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate_authority", privateCertificateConfigurationTemplate.CertificateAuthority); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_authority: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_authority"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allowed_secret_groups", privateCertificateConfigurationTemplate.AllowedSecretGroups); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_secret_groups: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_secret_groups"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(privateCertificateConfigurationTemplate.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ttl_seconds", flex.IntValue(privateCertificateConfigurationTemplate.TtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_localhost", privateCertificateConfigurationTemplate.AllowLocalhost); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_localhost: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_localhost"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allowed_domains_template", privateCertificateConfigurationTemplate.AllowedDomainsTemplate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_domains_template: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_domains_template"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_bare_domains", privateCertificateConfigurationTemplate.AllowBareDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_bare_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_bare_domains"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_subdomains", privateCertificateConfigurationTemplate.AllowSubdomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_subdomains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_subdomains"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_glob_domains", privateCertificateConfigurationTemplate.AllowGlobDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_glob_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_glob_domains"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_any_name", privateCertificateConfigurationTemplate.AllowAnyName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_any_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_any_name"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("enforce_hostnames", privateCertificateConfigurationTemplate.EnforceHostnames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting enforce_hostnames: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting enforce_hostnames"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("allow_ip_sans", privateCertificateConfigurationTemplate.AllowIpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_ip_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("server_flag", privateCertificateConfigurationTemplate.ServerFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting server_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting server_flag"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("client_flag", privateCertificateConfigurationTemplate.ClientFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting client_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting client_flag"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("code_signing_flag", privateCertificateConfigurationTemplate.CodeSigningFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting code_signing_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting code_signing_flag"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("email_protection_flag", privateCertificateConfigurationTemplate.EmailProtectionFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting email_protection_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting email_protection_flag"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_type", privateCertificateConfigurationTemplate.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(privateCertificateConfigurationTemplate.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("use_csr_common_name", privateCertificateConfigurationTemplate.UseCsrCommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting use_csr_common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting use_csr_common_name"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("use_csr_sans", privateCertificateConfigurationTemplate.UseCsrSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting use_csr_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting use_csr_sans"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", privateCertificateConfigurationTemplate.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("require_cn", privateCertificateConfigurationTemplate.RequireCn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting require_cn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting require_cn"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("basic_constraints_valid_for_non_ca", privateCertificateConfigurationTemplate.BasicConstraintsValidForNonCa); err != nil { - return diag.FromErr(fmt.Errorf("Error setting basic_constraints_valid_for_non_ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting basic_constraints_valid_for_non_ca"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("not_before_duration_seconds", flex.IntValue(privateCertificateConfigurationTemplate.NotBeforeDurationSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting not_before_duration_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting not_before_duration_seconds"), fmt.Sprintf("(Data) %s", PrivateCertConfigTemplateResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_metadata.go index a1afb4a638..12706e4f58 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_private_certificate_metadata.go @@ -220,7 +220,8 @@ func DataSourceIbmSmPrivateCertificateMetadata() *schema.Resource { func dataSourceIbmSmPrivateCertificateMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -235,7 +236,8 @@ func dataSourceIbmSmPrivateCertificateMetadataRead(context context.Context, d *s privateCertificateMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } privateCertificateMetadata := privateCertificateMetadataIntf.(*secretsmanagerv2.PrivateCertificateMetadata) @@ -243,19 +245,23 @@ func dataSourceIbmSmPrivateCertificateMetadataRead(context context.Context, d *s d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", privateCertificateMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(privateCertificateMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", privateCertificateMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if privateCertificateMetadata.CustomMetadata != nil { @@ -265,119 +271,146 @@ func dataSourceIbmSmPrivateCertificateMetadataRead(context context.Context, d *s } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", privateCertificateMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", privateCertificateMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(privateCertificateMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", privateCertificateMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", privateCertificateMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", privateCertificateMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(privateCertificateMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", privateCertificateMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(privateCertificateMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(privateCertificateMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", privateCertificateMetadata.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate_authority", privateCertificateMetadata.CertificateAuthority); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_authority: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_authority"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate_template", privateCertificateMetadata.CertificateTemplate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_template: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_template"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", privateCertificateMetadata.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(privateCertificateMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", privateCertificateMetadata.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", privateCertificateMetadata.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(privateCertificateMetadata.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if privateCertificateMetadata.Rotation != nil { modelMap, err := dataSourceIbmSmPrivateCertificateMetadataRotationPolicyToMap(privateCertificateMetadata.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", privateCertificateMetadata.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if privateCertificateMetadata.Validity != nil { modelMap, err := dataSourceIbmSmPrivateCertificateMetadataCertificateValidityToMap(privateCertificateMetadata.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("revocation_time_seconds", flex.IntValue(privateCertificateMetadata.RevocationTimeSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_seconds"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("revocation_time_rfc3339", DateTimeToRFC3339(privateCertificateMetadata.RevocationTimeRfc3339)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_rfc3339: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_rfc3339"), fmt.Sprintf("(Data) %s_metadata", PrivateCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate.go b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate.go index 20bfe5e1dd..17bc5ead32 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate.go @@ -307,7 +307,7 @@ func DataSourceIbmSmPublicCertificate() *schema.Resource { } func dataSourceIbmSmPublicCertificateSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - publicCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, PublicCertSecretType) + publicCertificateIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, PublicCertSecretType, PublicCertSecretResourceName) if diagError != nil { return diagError } @@ -318,19 +318,23 @@ func dataSourceIbmSmPublicCertificateSecretRead(context context.Context, d *sche var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", publicCertificate.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(publicCertificate.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", publicCertificate.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if publicCertificate.CustomMetadata != nil { @@ -340,146 +344,178 @@ func dataSourceIbmSmPublicCertificateSecretRead(context context.Context, d *sche } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", publicCertificate.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", publicCertificate.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if publicCertificate.Labels != nil { if err = d.Set("labels", publicCertificate.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(publicCertificate.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", publicCertificate.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", publicCertificate.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", publicCertificate.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(publicCertificate.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", publicCertificate.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(publicCertificate.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(publicCertificate.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", publicCertificate.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if publicCertificate.AltNames != nil { if err = d.Set("alt_names", publicCertificate.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("common_name", publicCertificate.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(publicCertificate.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } issuanceInfo := []map[string]interface{}{} if publicCertificate.IssuanceInfo != nil { modelMap, err := dataSourceIbmSmPublicCertificateSecretCertificateIssuanceInfoToMap(publicCertificate.IssuanceInfo) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } issuanceInfo = append(issuanceInfo, modelMap) } if err = d.Set("issuance_info", issuanceInfo); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuance_info %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuance_info"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", publicCertificate.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", publicCertificate.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", publicCertificate.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if publicCertificate.Validity != nil { modelMap, err := dataSourceIbmSmPublicCertificateSecretCertificateValidityToMap(publicCertificate.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if publicCertificate.Rotation != nil { modelMap, err := dataSourceIbmSmPublicCertificateSecretRotationPolicyToMap(publicCertificate.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("bundle_certs", publicCertificate.BundleCerts); err != nil { - return diag.FromErr(fmt.Errorf("Error setting bundle_certs: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting bundle_certs"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ca", publicCertificate.Ca); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ca"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("dns", publicCertificate.Dns); err != nil { - return diag.FromErr(fmt.Errorf("Error setting dns: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting dns"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("certificate", publicCertificate.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("intermediate", publicCertificate.Intermediate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("private_key", publicCertificate.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), fmt.Sprintf("(Data) %s", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go index 4f2631e6c9..89d75dcfde 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -63,7 +64,8 @@ func DataSourceIbmSmPublicCertificateConfigurationCALetsEncrypt() *schema.Resour func dataSourceIbmSmPublicCertificateConfigurationCALetsEncryptRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -77,38 +79,46 @@ func dataSourceIbmSmPublicCertificateConfigurationCALetsEncryptRead(context cont publicCertificateConfigurationCALetsEncryptIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } publicCertificateConfigurationCALetsEncrypt := publicCertificateConfigurationCALetsEncryptIntf.(*secretsmanagerv2.PublicCertificateConfigurationCALetsEncrypt) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", publicCertificateConfigurationCALetsEncrypt.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(publicCertificateConfigurationCALetsEncrypt.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(publicCertificateConfigurationCALetsEncrypt.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_environment", publicCertificateConfigurationCALetsEncrypt.LetsEncryptEnvironment); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_environment: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_environment"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_private_key", publicCertificateConfigurationCALetsEncrypt.LetsEncryptPrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_private_key"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_preferred_chain", publicCertificateConfigurationCALetsEncrypt.LetsEncryptPreferredChain); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_preferred_chain: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_preferred_chain"), fmt.Sprintf("(Data) %s", PublicCertConfigCALetsEncryptResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_cis.go b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_cis.go index 8a9acbe6f5..ab7f7d5893 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_cis.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_cis.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -67,7 +68,8 @@ func DataSourceIbmSmConfigurationPublicCertificateDNSCis() *schema.Resource { func dataSourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -81,7 +83,8 @@ func dataSourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Con publicCertificateConfigurationDNSCloudInternetServicesIntf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } publicCertificateConfigurationDNSCloudInternetServices := publicCertificateConfigurationDNSCloudInternetServicesIntf.(*secretsmanagerv2.PublicCertificateConfigurationDNSCloudInternetServices) @@ -89,35 +92,43 @@ func dataSourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Con d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", publicCertificateConfigurationDNSCloudInternetServices.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", publicCertificateConfigurationDNSCloudInternetServices.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", publicCertificateConfigurationDNSCloudInternetServices.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(publicCertificateConfigurationDNSCloudInternetServices.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(publicCertificateConfigurationDNSCloudInternetServices.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("cloud_internet_services_apikey", publicCertificateConfigurationDNSCloudInternetServices.CloudInternetServicesApikey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting cloud_internet_services_apikey: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting cloud_internet_services_apikey"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("cloud_internet_services_crn", publicCertificateConfigurationDNSCloudInternetServices.CloudInternetServicesCrn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting cloud_internet_services_crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting cloud_internet_services_crn"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsCISResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go index 5ddf409829..90e622cee9 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -67,7 +68,8 @@ func DataSourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructure() *sc func dataSourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -81,42 +83,51 @@ func dataSourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureRead(c publicCertificateConfigurationDNSClassicInfrastructureInf, response, err := secretsManagerClient.GetConfigurationWithContext(context, getConfigurationOptions) if err != nil { log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } publicCertificateConfigurationDNSClassicInfrastructure := publicCertificateConfigurationDNSClassicInfrastructureInf.(*secretsmanagerv2.PublicCertificateConfigurationDNSClassicInfrastructure) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *getConfigurationOptions.Name)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("config_type", publicCertificateConfigurationDNSClassicInfrastructure.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", publicCertificateConfigurationDNSClassicInfrastructure.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", publicCertificateConfigurationDNSClassicInfrastructure.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(publicCertificateConfigurationDNSClassicInfrastructure.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(publicCertificateConfigurationDNSClassicInfrastructure.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("classic_infrastructure_username", publicCertificateConfigurationDNSClassicInfrastructure.ClassicInfrastructureUsername); err != nil { - return diag.FromErr(fmt.Errorf("Error setting classic_infrastructure_username: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting classic_infrastructure_username"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("classic_infrastructure_password", publicCertificateConfigurationDNSClassicInfrastructure.ClassicInfrastructurePassword); err != nil { - return diag.FromErr(fmt.Errorf("Error setting classic_infrastructure_password: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting classic_infrastructure_password"), fmt.Sprintf("(Data) %s", PublicCertConfigDnsClassicInfrastructureResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_metadata.go index 0114bf0c27..569fb67cec 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_public_certificate_metadata.go @@ -283,7 +283,8 @@ func DataSourceIbmSmPublicCertificateMetadata() *schema.Resource { func dataSourceIbmSmPublicCertificateMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -298,7 +299,8 @@ func dataSourceIbmSmPublicCertificateMetadataRead(context context.Context, d *sc publicCertificateMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } publicCertificateMetadata := publicCertificateMetadataIntf.(*secretsmanagerv2.PublicCertificateMetadata) @@ -306,19 +308,23 @@ func dataSourceIbmSmPublicCertificateMetadataRead(context context.Context, d *sc d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", publicCertificateMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(publicCertificateMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", publicCertificateMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if publicCertificateMetadata.CustomMetadata != nil { @@ -328,123 +334,150 @@ func dataSourceIbmSmPublicCertificateMetadataRead(context context.Context, d *sc } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", publicCertificateMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", publicCertificateMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(publicCertificateMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", publicCertificateMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", publicCertificateMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", publicCertificateMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(publicCertificateMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", publicCertificateMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(publicCertificateMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(publicCertificateMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", publicCertificateMetadata.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("common_name", publicCertificateMetadata.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(publicCertificateMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } issuanceInfo := []map[string]interface{}{} if publicCertificateMetadata.IssuanceInfo != nil { modelMap, err := dataSourceIbmSmPublicCertificateMetadataCertificateIssuanceInfoToMap(publicCertificateMetadata.IssuanceInfo) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } issuanceInfo = append(issuanceInfo, modelMap) } if err = d.Set("issuance_info", issuanceInfo); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuance_info %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuance_info"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("issuer", publicCertificateMetadata.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", publicCertificateMetadata.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", publicCertificateMetadata.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } validity := []map[string]interface{}{} if publicCertificateMetadata.Validity != nil { modelMap, err := dataSourceIbmSmPublicCertificateMetadataCertificateValidityToMap(publicCertificateMetadata.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } validity = append(validity, modelMap) } if err = d.Set("validity", validity); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if publicCertificateMetadata.Rotation != nil { modelMap, err := dataSourceIbmSmPublicCertificateMetadataRotationPolicyToMap(publicCertificateMetadata.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("bundle_certs", publicCertificateMetadata.BundleCerts); err != nil { - return diag.FromErr(fmt.Errorf("Error setting bundle_certs: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting bundle_certs"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ca", publicCertificateMetadata.Ca); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ca"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("dns", publicCertificateMetadata.Dns); err != nil { - return diag.FromErr(fmt.Errorf("Error setting dns: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting dns"), fmt.Sprintf("(Data) %s_metadata", PublicCertSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_secret_group.go b/ibm/service/secretsmanager/data_source_ibm_sm_secret_group.go index 7352119b19..8c074e439e 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_secret_group.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_secret_group.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -52,7 +53,8 @@ func DataSourceIbmSmSecretGroup() *schema.Resource { func dataSourceIbmSmSecretGroupRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -67,28 +69,34 @@ func dataSourceIbmSmSecretGroupRead(context context.Context, d *schema.ResourceD secretGroup, response, err := secretsManagerClient.GetSecretGroupWithContext(context, getSecretGroupOptions) if err != nil { log.Printf("[DEBUG] GetSecretGroupWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretGroupWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretGroupWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretGroupId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", secretGroup.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("description", secretGroup.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secretGroup.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secretGroup.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", SecretGroupResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_secret_groups.go b/ibm/service/secretsmanager/data_source_ibm_sm_secret_groups.go index 014dbe6d51..ea1ee4dc89 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_secret_groups.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_secret_groups.go @@ -68,7 +68,8 @@ func DataSourceIbmSmSecretGroups() *schema.Resource { func dataSourceIbmSmSecretGroupsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -80,7 +81,8 @@ func dataSourceIbmSmSecretGroupsRead(context context.Context, d *schema.Resource secretGroupCollection, response, err := secretsManagerClient.ListSecretGroupsWithContext(context, listSecretGroupsOptions) if err != nil { log.Printf("[DEBUG] ListSecretGroupsWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("ListSecretGroupsWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListSecretGroupsWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s", region, instanceId)) @@ -90,21 +92,25 @@ func dataSourceIbmSmSecretGroupsRead(context context.Context, d *schema.Resource for _, modelItem := range secretGroupCollection.SecretGroups { modelMap, err := dataSourceIbmSmSecretGroupsSecretGroupToMap(&modelItem) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } secretGroups = append(secretGroups, modelMap) } } if err = d.Set("secret_groups", secretGroups); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_groups %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_groups"), fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("total_count", flex.IntValue(secretGroupCollection.TotalCount)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting total_count: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting total_count"), fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", SecretGroupsResourceName), "read") + return tfErr.GetDiag() } return nil } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_secrets.go b/ibm/service/secretsmanager/data_source_ibm_sm_secrets.go index a37c67ce96..a921d68cb9 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_secrets.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_secrets.go @@ -519,7 +519,8 @@ func DataSourceIbmSmSecrets() *schema.Resource { func dataSourceIbmSmSecretsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -569,13 +570,15 @@ func dataSourceIbmSmSecretsRead(context context.Context, d *schema.ResourceData, var pager *secretsmanagerv2.SecretsPager pager, err = secretsManagerClient.NewSecretsPager(listSecretsOptions) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } allItems, err := pager.GetAll() if err != nil { log.Printf("[DEBUG] SecretsPager.GetAll() failed %s", err) - return diag.FromErr(fmt.Errorf("SecretsPager.GetAll() failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("SecretsPager.GetAll() failed %s", err), fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s", region, instanceId)) @@ -584,20 +587,24 @@ func dataSourceIbmSmSecretsRead(context context.Context, d *schema.ResourceData, for _, modelItem := range allItems { modelMap, err := dataSourceIbmSmSecretsSecretMetadataToMap(modelItem) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } mapSlice = append(mapSlice, modelMap) } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secrets", mapSlice); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secrets %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secrets"), fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("total_count", len(mapSlice)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting total_count"), fmt.Sprintf("(Data) %s", SecretsResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret.go b/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret.go index ac195ad03f..205328b790 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret.go @@ -280,7 +280,7 @@ func DataSourceIbmSmServiceCredentialsSecret() *schema.Resource { } func dataSourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - ServiceCredentialsSecretIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ServiceCredentialsSecretType) + ServiceCredentialsSecretIntf, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, ServiceCredentialsSecretType, ServiceCredentialsSecretResourceName) if diagError != nil { return diagError } @@ -290,18 +290,22 @@ func dataSourceIbmSmServiceCredentialsSecretRead(context context.Context, d *sch var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", ServiceCredentialsSecret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(ServiceCredentialsSecret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", ServiceCredentialsSecret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if ServiceCredentialsSecret.CustomMetadata != nil { @@ -311,77 +315,94 @@ func dataSourceIbmSmServiceCredentialsSecretRead(context context.Context, d *sch } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", ServiceCredentialsSecret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", ServiceCredentialsSecret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if ServiceCredentialsSecret.Labels != nil { if err = d.Set("labels", ServiceCredentialsSecret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(ServiceCredentialsSecret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", ServiceCredentialsSecret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", ServiceCredentialsSecret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", ServiceCredentialsSecret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(ServiceCredentialsSecret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", ServiceCredentialsSecret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(ServiceCredentialsSecret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(ServiceCredentialsSecret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ttl", ServiceCredentialsSecret.TTL); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if ServiceCredentialsSecret.Rotation != nil { modelMap, err := dataSourceIbmSmServiceCredentialsSecretRotationPolicyToMap(ServiceCredentialsSecret.Rotation.(*secretsmanagerv2.RotationPolicy)) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(ServiceCredentialsSecret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if ServiceCredentialsSecret.Credentials != nil { @@ -389,23 +410,27 @@ func dataSourceIbmSmServiceCredentialsSecretRead(context context.Context, d *sch cred, _ := json.Marshal(ServiceCredentialsSecret.Credentials) json.Unmarshal(cred, &credInterface) if err = d.Set("credentials", flex.Flatten(credInterface)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting credentials: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting credentials"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } sourceServiceMap, err := dataSourceIbmSmServiceCredentialsSecretSourceServiceToMap(ServiceCredentialsSecret.SourceService) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if len(sourceServiceMap) > 0 { if err = d.Set("source_service", []map[string]interface{}{sourceServiceMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting source_service: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting source_service"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if ServiceCredentialsSecret.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(ServiceCredentialsSecret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret_metadata.go index af85181e3a..1114706736 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_service_credentials_secret_metadata.go @@ -265,7 +265,8 @@ func DataSourceIbmSmServiceCredentialsSecretMetadata() *schema.Resource { func dataSourceIbmSmServiceCredentialsSecretMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -280,25 +281,30 @@ func dataSourceIbmSmServiceCredentialsSecretMetadataRead(context context.Context ServiceCredentialsSecretMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } ServiceCredentialsSecretMetadata := ServiceCredentialsSecretMetadataIntf.(*secretsmanagerv2.ServiceCredentialsSecretMetadata) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", ServiceCredentialsSecretMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(ServiceCredentialsSecretMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", ServiceCredentialsSecretMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if ServiceCredentialsSecretMetadata.CustomMetadata != nil { @@ -308,92 +314,112 @@ func dataSourceIbmSmServiceCredentialsSecretMetadataRead(context context.Context } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", ServiceCredentialsSecretMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", ServiceCredentialsSecretMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if ServiceCredentialsSecretMetadata.Labels != nil { if err = d.Set("labels", ServiceCredentialsSecretMetadata.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(ServiceCredentialsSecretMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", ServiceCredentialsSecretMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", ServiceCredentialsSecretMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", ServiceCredentialsSecretMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(ServiceCredentialsSecretMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", ServiceCredentialsSecretMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(ServiceCredentialsSecretMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(ServiceCredentialsSecretMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("ttl", ServiceCredentialsSecretMetadata.TTL); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if ServiceCredentialsSecretMetadata.Rotation != nil { modelMap, err := dataSourceIbmSmServiceCredentialsSecretMetadataRotationPolicyToMap(ServiceCredentialsSecretMetadata.Rotation.(*secretsmanagerv2.RotationPolicy)) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(ServiceCredentialsSecretMetadata.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } sourceServiceMap, err := dataSourceIbmSmServiceCredentialsSecretMetadataSourceServiceToMap(ServiceCredentialsSecretMetadata.SourceService) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } if len(sourceServiceMap) > 0 { if err = d.Set("source_service", []map[string]interface{}{sourceServiceMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting source_service: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting source_service"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } if ServiceCredentialsSecretMetadata.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(ServiceCredentialsSecretMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", ServiceCredentialsSecretResourceName), "read") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret.go b/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret.go index 262b037ad5..2ef644bd18 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret.go @@ -194,7 +194,7 @@ func DataSourceIbmSmUsernamePasswordSecret() *schema.Resource { } func dataSourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, UsernamePasswordSecretType) + secret, region, instanceId, diagError := getSecretByIdOrByName(context, d, meta, UsernamePasswordSecretType, UsernamePasswordSecretResourceName) if diagError != nil { return diagError } @@ -205,19 +205,23 @@ func dataSourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schem var err error if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", usernamePasswordSecret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(usernamePasswordSecret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", usernamePasswordSecret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if usernamePasswordSecret.CustomMetadata != nil { @@ -227,91 +231,111 @@ func dataSourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schem } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", usernamePasswordSecret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", usernamePasswordSecret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(usernamePasswordSecret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", usernamePasswordSecret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", usernamePasswordSecret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", usernamePasswordSecret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(usernamePasswordSecret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", usernamePasswordSecret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(usernamePasswordSecret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(usernamePasswordSecret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if usernamePasswordSecret.Rotation != nil { modelMap, err := dataSourceIbmSmUsernamePasswordSecretRotationPolicyToMap(usernamePasswordSecret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } passwordPolicy := []map[string]interface{}{} if usernamePasswordSecret.PasswordGenerationPolicy != nil { modelMap, err := passwordGenerationPolicyToMap(usernamePasswordSecret.PasswordGenerationPolicy) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } passwordPolicy = append(passwordPolicy, modelMap) } if err = d.Set("password_generation_policy", passwordPolicy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting password_generation_policy %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting password_generation_policy"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(usernamePasswordSecret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(usernamePasswordSecret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("username", usernamePasswordSecret.Username); err != nil { - return diag.FromErr(fmt.Errorf("Error setting username: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting username"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("password", usernamePasswordSecret.Password); err != nil { - return diag.FromErr(fmt.Errorf("Error setting password: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting password"), fmt.Sprintf("(Data) %s", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret_metadata.go b/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret_metadata.go index cc6756f00c..a1bdb8ce35 100644 --- a/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret_metadata.go +++ b/ibm/service/secretsmanager/data_source_ibm_sm_username_password_secret_metadata.go @@ -177,7 +177,8 @@ func DataSourceIbmSmUsernamePasswordSecretMetadata() *schema.Resource { func dataSourceIbmSmUsernamePasswordSecretMetadataRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -192,26 +193,31 @@ func dataSourceIbmSmUsernamePasswordSecretMetadataRead(context context.Context, usernamePasswordSecretMetadataIntf, response, err := secretsManagerClient.GetSecretMetadataWithContext(context, getSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] GetSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretMetadataWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } usernamePasswordSecretMetadata := usernamePasswordSecretMetadataIntf.(*secretsmanagerv2.UsernamePasswordSecretMetadata) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, secretId)) if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_by", usernamePasswordSecretMetadata.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(usernamePasswordSecretMetadata.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("crn", usernamePasswordSecretMetadata.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if usernamePasswordSecretMetadata.CustomMetadata != nil { @@ -221,83 +227,101 @@ func dataSourceIbmSmUsernamePasswordSecretMetadataRead(context context.Context, } if err = d.Set("custom_metadata", flex.Flatten(convertedMap)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err != nil { - return diag.FromErr(fmt.Errorf("Error setting custom_metadata %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting custom_metadata"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } } if err = d.Set("description", usernamePasswordSecretMetadata.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", usernamePasswordSecretMetadata.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(usernamePasswordSecretMetadata.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("name", usernamePasswordSecretMetadata.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", usernamePasswordSecretMetadata.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", usernamePasswordSecretMetadata.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(usernamePasswordSecretMetadata.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("state_description", usernamePasswordSecretMetadata.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(usernamePasswordSecretMetadata.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(usernamePasswordSecretMetadata.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } rotation := []map[string]interface{}{} if usernamePasswordSecretMetadata.Rotation != nil { modelMap, err := dataSourceIbmSmUsernamePasswordSecretMetadataRotationPolicyToMap(usernamePasswordSecretMetadata.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } rotation = append(rotation, modelMap) } if err = d.Set("rotation", rotation); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } passwordPolicy := []map[string]interface{}{} if usernamePasswordSecretMetadata.PasswordGenerationPolicy != nil { modelMap, err := passwordGenerationPolicyToMap(usernamePasswordSecretMetadata.PasswordGenerationPolicy) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } passwordPolicy = append(passwordPolicy, modelMap) } if err = d.Set("password_generation_policy", passwordPolicy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting password_generation_policy %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting password_generation_policy"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(usernamePasswordSecretMetadata.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(usernamePasswordSecretMetadata.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), fmt.Sprintf("(Data) %s_metadata", UsernamePasswordSecretResourceName), "read") + return tfErr.GetDiag() } return nil diff --git a/ibm/service/secretsmanager/resource_ibm_sm_arbitrary_secret.go b/ibm/service/secretsmanager/resource_ibm_sm_arbitrary_secret.go index b4b4e2bd7f..88a3336911 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_arbitrary_secret.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_arbitrary_secret.go @@ -144,7 +144,8 @@ func ResourceIbmSmArbitrarySecret() *schema.Resource { func resourceIbmSmArbitrarySecretCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ArbitrarySecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -155,14 +156,16 @@ func resourceIbmSmArbitrarySecretCreate(context context.Context, d *schema.Resou secretPrototypeModel, err := resourceIbmSmArbitrarySecretMapToArbitrarySecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ArbitrarySecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), ArbitrarySecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ArbitrarySecret) @@ -171,8 +174,8 @@ func resourceIbmSmArbitrarySecretCreate(context context.Context, d *schema.Resou _, err = waitForIbmSmArbitrarySecretCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmArbitrarySecret (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmArbitrarySecret (%s) to be created: %s", d.Id(), err.Error()), ArbitrarySecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmArbitrarySecretRead(context, d, meta) @@ -214,12 +217,14 @@ func waitForIbmSmArbitrarySecretCreate(secretsManagerClient *secretsmanagerv2.Se func resourceIbmSmArbitrarySecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -237,72 +242,92 @@ func resourceIbmSmArbitrarySecretRead(context context.Context, d *schema.Resourc return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ArbitrarySecret) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() + } + if secret.CustomMetadata != nil { + d.Set("custom_metadata", secret.CustomMetadata) + } + if err = d.Set("description", secret.Description); err != nil { + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() + } + if secret.Labels != nil { + if err = d.Set("labels", secret.Labels); err != nil { + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() + } } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) - } - if secret.CustomMetadata != nil { - d.Set("custom_metadata", secret.CustomMetadata) - } - if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) - } - if secret.Labels != nil { - if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) - } + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("payload", secret.Payload); err != nil { - return diag.FromErr(fmt.Errorf("Error setting payload: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting payload"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } // Call get version metadata API to get the current version_custom_metadata @@ -313,13 +338,15 @@ func resourceIbmSmArbitrarySecretRead(context context.Context, d *schema.Resourc versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.ArbitrarySecretVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), ArbitrarySecretResourceName, "read") + return tfErr.GetDiag() } } @@ -329,7 +356,8 @@ func resourceIbmSmArbitrarySecretRead(context context.Context, d *schema.Resourc func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -373,13 +401,15 @@ func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.Resou layout := time.RFC3339 parseToTime, err := time.Parse(layout, d.Get("expiration_date").(string)) if err != nil { - return diag.FromErr(errors.New(`Failed to get "expiration_date". Error: ` + err.Error())) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf(`Failed to get "expiration_date"`), ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } parseToDateTime := strfmt.DateTime(parseToTime) patchVals.ExpirationDate = &parseToDateTime hasChange = true } else { - return diag.FromErr(errors.New(`The "expiration_date" field cannot be removed. To disable expiration set expiration date to a far future date'`)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf(`The "expiration_date" field cannot be removed. To disable expiration set expiration date to a far future date'`), ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } } @@ -389,7 +419,8 @@ func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.Resou _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } } @@ -415,7 +446,8 @@ func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.Resou resourceIbmSmArbitrarySecretRead(context, d, meta) } log.Printf("[DEBUG] CreateSecretVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretVersionWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } } else if d.HasChange("version_custom_metadata") { // Apply change to version_custom_metadata in current version @@ -434,7 +466,8 @@ func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.Resou resourceIbmSmArbitrarySecretRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "update") + return tfErr.GetDiag() } } @@ -444,7 +477,8 @@ func resourceIbmSmArbitrarySecretUpdate(context context.Context, d *schema.Resou func resourceIbmSmArbitrarySecretDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ArbitrarySecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -460,7 +494,8 @@ func resourceIbmSmArbitrarySecretDelete(context context.Context, d *schema.Resou response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), ArbitrarySecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_en_registration.go b/ibm/service/secretsmanager/resource_ibm_sm_en_registration.go index c32fd78b37..f0ce9112e7 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_en_registration.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_en_registration.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "strings" @@ -30,21 +31,21 @@ func ResourceIbmSmEnRegistration() *schema.Resource { Type: schema.TypeString, Required: true, ForceNew: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_en_registration", "event_notifications_instance_crn"), + ValidateFunc: validate.InvokeValidator(EnRegistrationResourceName, "event_notifications_instance_crn"), Description: "A CRN that uniquely identifies an IBM Cloud resource.", }, "event_notifications_source_name": &schema.Schema{ Type: schema.TypeString, Required: true, ForceNew: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_en_registration", "event_notifications_source_name"), + ValidateFunc: validate.InvokeValidator(EnRegistrationResourceName, "event_notifications_source_name"), Description: "The name that is displayed as a source that is in your Event Notifications instance.", }, "event_notifications_source_description": &schema.Schema{ Type: schema.TypeString, Optional: true, ForceNew: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_en_registration", "event_notifications_source_description"), + ValidateFunc: validate.InvokeValidator(EnRegistrationResourceName, "event_notifications_source_description"), Description: "An optional description for the source that is in your Event Notifications instance.", }, }, @@ -83,14 +84,15 @@ func ResourceIbmSmEnRegistrationValidator() *validate.ResourceValidator { }, ) - resourceValidator := validate.ResourceValidator{ResourceName: "ibm_sm_en_registration", Schema: validateSchema} + resourceValidator := validate.ResourceValidator{ResourceName: EnRegistrationResourceName, Schema: validateSchema} return &resourceValidator } func resourceIbmSmEnRegistrationCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", EnRegistrationResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -108,7 +110,8 @@ func resourceIbmSmEnRegistrationCreate(context context.Context, d *schema.Resour _, response, err := secretsManagerClient.CreateNotificationsRegistrationWithContext(context, createNotificationsRegistrationOptions) if err != nil { log.Printf("[DEBUG] CreateNotificationsRegistrationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateNotificationsRegistrationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateNotificationsRegistrationWithContext failed %s\n%s", err, response), EnRegistrationResourceName, "create") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s", region, instanceId)) @@ -119,12 +122,14 @@ func resourceIbmSmEnRegistrationCreate(context context.Context, d *schema.Resour func resourceIbmSmEnRegistrationRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", EnRegistrationResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 2 { - return diag.Errorf("Wrong format of resource ID. To import event notification registration use the format `/`") + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Wrong format of resource ID. To import event notification registration use the format `/`"), EnRegistrationResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -139,17 +144,21 @@ func resourceIbmSmEnRegistrationRead(context context.Context, d *schema.Resource return nil } log.Printf("[DEBUG] GetNotificationsRegistrationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetNotificationsRegistrationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetNotificationsRegistrationWithContext failed %s\n%s", err, response), EnRegistrationResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), EnRegistrationResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), EnRegistrationResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("event_notifications_instance_crn", notificationsRegistration.EventNotificationsInstanceCrn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting event_notifications_instance_crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting event_notifications_instance_crn"), EnRegistrationResourceName, "read") + return tfErr.GetDiag() } return nil @@ -158,7 +167,8 @@ func resourceIbmSmEnRegistrationRead(context context.Context, d *schema.Resource func resourceIbmSmEnRegistrationUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf(""), EnRegistrationResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -183,8 +193,9 @@ func resourceIbmSmEnRegistrationUpdate(context context.Context, d *schema.Resour if hasChange { _, response, err := secretsManagerClient.CreateNotificationsRegistrationWithContext(context, createNotificationsRegistrationOptions) if err != nil { - log.Printf("[DEBUG] CreateNotificationsRegistrationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateNotificationsRegistrationWithContext failed %s\n%s", err, response)) + log.Printf("[DEBUG] UpdateNotificationsRegistrationWithContext failed %s\n%s", err, response) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateNotificationsRegistrationWithContext failed %s\n%s", err, response), EnRegistrationResourceName, "update") + return tfErr.GetDiag() } } @@ -194,7 +205,8 @@ func resourceIbmSmEnRegistrationUpdate(context context.Context, d *schema.Resour func resourceIbmSmEnRegistrationDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", EnRegistrationResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -207,7 +219,8 @@ func resourceIbmSmEnRegistrationDelete(context context.Context, d *schema.Resour response, err := secretsManagerClient.DeleteNotificationsRegistrationWithContext(context, deleteNotificationsRegistrationOptions) if err != nil { log.Printf("[DEBUG] DeleteNotificationsRegistrationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteNotificationsRegistrationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteNotificationsRegistrationWithContext failed %s\n%s", err, response), EnRegistrationResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_configuration.go b/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_configuration.go index b284d0567d..cfda48d0bd 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_configuration.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_configuration.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "strings" @@ -70,7 +71,8 @@ func ResourceIbmSmIamCredentialsConfiguration() *schema.Resource { func resourceIbmSmIamCredentialsConfigurationCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsConfigResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -81,14 +83,16 @@ func resourceIbmSmIamCredentialsConfigurationCreate(context context.Context, d * configurationPrototypeModel, err := resourceIbmSmIamCredentialsConfigurationMapToConfigurationPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsConfigResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(configurationPrototypeModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed %s\n%s", err, response), IAMCredentialsConfigResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.IAMCredentialsConfiguration) @@ -100,12 +104,14 @@ func resourceIbmSmIamCredentialsConfigurationCreate(context context.Context, d * func resourceIbmSmIamCredentialsConfigurationRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import IAM credentials configuration use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import IAM credentials configuration use the format `//`", IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -123,33 +129,42 @@ func resourceIbmSmIamCredentialsConfigurationRead(context context.Context, d *sc return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.IAMCredentialsConfiguration) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", configuration.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(configuration.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(configuration.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("api_key", configuration.ApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key"), IAMCredentialsConfigResourceName, "read") + return tfErr.GetDiag() } return nil @@ -158,7 +173,8 @@ func resourceIbmSmIamCredentialsConfigurationRead(context context.Context, d *sc func resourceIbmSmIamCredentialsConfigurationUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsConfigResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -186,7 +202,8 @@ func resourceIbmSmIamCredentialsConfigurationUpdate(context context.Context, d * _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), IAMCredentialsConfigResourceName, "update") + return tfErr.GetDiag() } } @@ -212,7 +229,8 @@ func resourceIbmSmIamCredentialsConfigurationDelete(context context.Context, d * response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), IAMCredentialsConfigResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_secret.go b/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_secret.go index a0fef420ab..0a78d80a50 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_secret.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_iam_credentials_secret.go @@ -212,7 +212,8 @@ func ResourceIbmSmIamCredentialsSecret() *schema.Resource { func resourceIbmSmIamCredentialsSecretCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -222,18 +223,21 @@ func resourceIbmSmIamCredentialsSecretCreate(context context.Context, d *schema. createSecretOptions := &secretsmanagerv2.CreateSecretOptions{} if !d.Get("reuse_api_key").(bool) { - return diag.Errorf("IAM credentials secrets managed by Terraform must have reuse_api_key set to true") + tfErr := flex.TerraformErrorf(err, "IAM credentials secrets managed by Terraform must have reuse_api_key set to true", IAMCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } secretPrototypeModel, err := resourceIbmSmIamCredentialsSecretMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), IAMCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.IAMCredentialsSecret) @@ -242,8 +246,8 @@ func resourceIbmSmIamCredentialsSecretCreate(context context.Context, d *schema. _, err = waitForIbmSmIamCredentialsSecretCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmIamCredentialsSecret (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmIamCredentialsSecret (%s) to be created: %s", d.Id(), err.Error()), IAMCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmIamCredentialsSecretRead(context, d, meta) @@ -286,12 +290,14 @@ func waitForIbmSmIamCredentialsSecretCreate(secretsManagerClient *secretsmanager func resourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -309,107 +315,136 @@ func resourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema.Re return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.IAMCredentialsSecret) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("ttl", secret.TTL); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if secret.AccessGroups != nil { if err = d.Set("access_groups", secret.AccessGroups); err != nil { - return diag.FromErr(fmt.Errorf("Error setting access_groups: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting access_groups"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("api_key_id", secret.ApiKeyID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting api_key_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key_id"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("service_id", secret.ServiceID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("service_id_is_static", secret.ServiceIdIsStatic); err != nil { - return diag.FromErr(fmt.Errorf("Error setting service_id_is_static: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting service_id_is_static"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } // Prevent import of secrets with reuse_api_key = false into Terraform if !*secret.ReuseApiKey { - return diag.Errorf("IAM credentials secrets with Reuse IAM credentials turned off (reuse_api_key = false) cannot be managed by Terraform") + tfErr := flex.TerraformErrorf(nil, "IAM credentials secrets with Reuse IAM credentials turned off (reuse_api_key = false) cannot be managed by Terraform", IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } else { if err = d.Set("reuse_api_key", true); err != nil { - return diag.FromErr(fmt.Errorf("Error setting reuse_api_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting reuse_api_key"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } rotationMap, err := resourceIbmSmIamCredentialsSecretRotationPolicyToMap(secret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if len(rotationMap) > 0 { if err = d.Set("rotation", []map[string]interface{}{rotationMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("next_rotation_date", DateTimeToRFC3339(secret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("api_key", secret.ApiKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting api_key"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } // Call get version metadata API to get the current version_custom_metadata @@ -420,19 +455,22 @@ func resourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema.Re versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.IAMCredentialsSecretVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if secret.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), IAMCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -442,7 +480,8 @@ func resourceIbmSmIamCredentialsSecretRead(context context.Context, d *schema.Re func resourceIbmSmIamCredentialsSecretUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -488,7 +527,8 @@ func resourceIbmSmIamCredentialsSecretUpdate(context context.Context, d *schema. RotationModel, err := resourceIbmSmIamCredentialsSecretMapToRotationPolicy(d.Get("rotation").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err), IAMCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.Rotation = RotationModel hasChange = true @@ -499,7 +539,8 @@ func resourceIbmSmIamCredentialsSecretUpdate(context context.Context, d *schema. _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), IAMCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -520,7 +561,8 @@ func resourceIbmSmIamCredentialsSecretUpdate(context context.Context, d *schema. resourceIbmSmIamCredentialsSecretRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), IAMCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -530,7 +572,8 @@ func resourceIbmSmIamCredentialsSecretUpdate(context context.Context, d *schema. func resourceIbmSmIamCredentialsSecretDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", IAMCredentialsSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -546,7 +589,8 @@ func resourceIbmSmIamCredentialsSecretDelete(context context.Context, d *schema. response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), IAMCredentialsSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_imported_certificate.go b/ibm/service/secretsmanager/resource_ibm_sm_imported_certificate.go index c91f1c2d31..adc731ae96 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_imported_certificate.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_imported_certificate.go @@ -223,7 +223,8 @@ func ResourceIbmSmImportedCertificate() *schema.Resource { func resourceIbmSmImportedCertificateCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -234,14 +235,16 @@ func resourceIbmSmImportedCertificateCreate(context context.Context, d *schema.R secretPrototypeModel, err := resourceIbmSmImportedCertificateMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), ImportedCertSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ImportedCertificate) @@ -250,8 +253,8 @@ func resourceIbmSmImportedCertificateCreate(context context.Context, d *schema.R _, err = waitForIbmSmImportedCertificateCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmImportedCertificate (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmImportedCertificate (%s) to be created: %s", d.Id(), err.Error()), ImportedCertSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmImportedCertificateRead(context, d, meta) @@ -294,12 +297,14 @@ func waitForIbmSmImportedCertificateCreate(secretsManagerClient *secretsmanagerv func resourceIbmSmImportedCertificateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -317,105 +322,136 @@ func resourceIbmSmImportedCertificateRead(context context.Context, d *schema.Res return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ImportedCertificate) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", secret.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("common_name", secret.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("intermediate_included", secret.IntermediateIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate_included"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuer", secret.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", secret.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key_included", secret.PrivateKeyIncluded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_included: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_included"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", secret.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } validityMap, err := resourceIbmSmImportedCertificateCertificateValidityToMap(secret.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("validity", []map[string]interface{}{validityMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("certificate", secret.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("intermediate", secret.Intermediate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key", secret.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } // Call get version metadata API to get the current version_custom_metadata @@ -426,13 +462,15 @@ func resourceIbmSmImportedCertificateRead(context context.Context, d *schema.Res versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.ImportedCertificateVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), ImportedCertSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -442,7 +480,8 @@ func resourceIbmSmImportedCertificateRead(context context.Context, d *schema.Res func resourceIbmSmImportedCertificateUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -487,7 +526,8 @@ func resourceIbmSmImportedCertificateUpdate(context context.Context, d *schema.R _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -519,7 +559,8 @@ func resourceIbmSmImportedCertificateUpdate(context context.Context, d *schema.R resourceIbmSmImportedCertificateRead(context, d, meta) } log.Printf("[DEBUG] CreateSecretVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretVersionWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "update") + return tfErr.GetDiag() } } else if d.HasChange("version_custom_metadata") { // Apply change to version_custom_metadata in current version @@ -538,7 +579,8 @@ func resourceIbmSmImportedCertificateUpdate(context context.Context, d *schema.R resourceIbmSmImportedCertificateRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "update") + return tfErr.GetDiag() } } return resourceIbmSmImportedCertificateRead(context, d, meta) @@ -547,7 +589,8 @@ func resourceIbmSmImportedCertificateUpdate(context context.Context, d *schema.R func resourceIbmSmImportedCertificateDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ImportedCertSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -563,7 +606,8 @@ func resourceIbmSmImportedCertificateDelete(context context.Context, d *schema.R response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), ImportedCertSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_kv_secret.go b/ibm/service/secretsmanager/resource_ibm_sm_kv_secret.go index f32d9ee23a..81a6f44be1 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_kv_secret.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_kv_secret.go @@ -135,7 +135,8 @@ func ResourceIbmSmKvSecret() *schema.Resource { func resourceIbmSmKvSecretCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", KvSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -146,14 +147,16 @@ func resourceIbmSmKvSecretCreate(context context.Context, d *schema.ResourceData secretPrototypeModel, err := resourceIbmSmKvSecretMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", KvSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), KvSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.KVSecret) @@ -162,8 +165,8 @@ func resourceIbmSmKvSecretCreate(context context.Context, d *schema.ResourceData _, err = waitForIbmSmKvSecretCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmKvSecret (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmKvSecret (%s) to be created: %s", d.Id(), err.Error()), KvSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmKvSecretRead(context, d, meta) @@ -206,12 +209,14 @@ func waitForIbmSmKvSecretCreate(secretsManagerClient *secretsmanagerv2.SecretsMa func resourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", KvSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", KvSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -229,65 +234,83 @@ func resourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData, return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), KvSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.KVSecret) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), KvSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), KvSecretResourceName, "read") + return tfErr.GetDiag() } } if secret.Data != nil { @@ -302,13 +325,15 @@ func resourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData, versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), KvSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.KVSecretVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), KvSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -318,7 +343,8 @@ func resourceIbmSmKvSecretRead(context context.Context, d *schema.ResourceData, func resourceIbmSmKvSecretUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", KvSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -363,7 +389,8 @@ func resourceIbmSmKvSecretUpdate(context context.Context, d *schema.ResourceData _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), KvSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -389,7 +416,8 @@ func resourceIbmSmKvSecretUpdate(context context.Context, d *schema.ResourceData resourceIbmSmKvSecretRead(context, d, meta) } log.Printf("[DEBUG] CreateSecretVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretVersionWithContext failed %s\n%s", err, response), KvSecretResourceName, "update") + return tfErr.GetDiag() } } else if d.HasChange("version_custom_metadata") { // Apply change to version_custom_metadata in current version @@ -408,7 +436,8 @@ func resourceIbmSmKvSecretUpdate(context context.Context, d *schema.ResourceData resourceIbmSmKvSecretRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), KvSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -418,7 +447,8 @@ func resourceIbmSmKvSecretUpdate(context context.Context, d *schema.ResourceData func resourceIbmSmKvSecretDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", KvSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -434,7 +464,8 @@ func resourceIbmSmKvSecretDelete(context context.Context, d *schema.ResourceData response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), KvSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate.go index 6cd0aa6faf..8a2e424619 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate.go @@ -320,7 +320,8 @@ func ResourceIbmSmPrivateCertificate() *schema.Resource { func resourceIbmSmPrivateCertificateCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -331,14 +332,16 @@ func resourceIbmSmPrivateCertificateCreate(context context.Context, d *schema.Re secretPrototypeModel, err := resourceIbmSmPrivateCertificateMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), PrivateCertSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.PrivateCertificate) @@ -347,8 +350,8 @@ func resourceIbmSmPrivateCertificateCreate(context context.Context, d *schema.Re _, err = waitForIbmSmPrivateCertificateCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmPrivateCertificate (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmPrivateCertificate (%s) to be created: %s", d.Id(), err.Error()), PrivateCertSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmPrivateCertificateRead(context, d, meta) @@ -391,12 +394,14 @@ func waitForIbmSmPrivateCertificateCreate(secretsManagerClient *secretsmanagerv2 func resourceIbmSmPrivateCertificateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -414,135 +419,173 @@ func resourceIbmSmPrivateCertificateRead(context context.Context, d *schema.Reso return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.PrivateCertificate) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("signing_algorithm", secret.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.AltNames != nil { if err = d.Set("alt_names", secret.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("certificate_authority", secret.CertificateAuthority); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_authority: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_authority"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("certificate_template", secret.CertificateTemplate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_template: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_template"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("common_name", secret.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuer", secret.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_algorithm", secret.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(secret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } rotationMap, err := resourceIbmSmPrivateCertificateRotationPolicyToMap(secret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if len(rotationMap) > 0 { if err = d.Set("rotation", []map[string]interface{}{rotationMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("serial_number", secret.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Validity != nil { validityMap, err := resourceIbmSmPrivateCertificateCertificateValidityToMap(secret.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("validity", []map[string]interface{}{validityMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("revocation_time_seconds", flex.IntValue(secret.RevocationTimeSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_seconds"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("revocation_time_rfc3339", DateTimeToRFC3339(secret.RevocationTimeRfc3339)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting revocation_time_rfc3339: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting revocation_time_rfc3339"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("certificate", secret.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key", secret.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuing_ca", secret.IssuingCa); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_ca"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CaChain != nil { if err = d.Set("ca_chain", secret.CaChain); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ca_chain: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ca_chain"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -554,13 +597,15 @@ func resourceIbmSmPrivateCertificateRead(context context.Context, d *schema.Reso versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.PrivateCertificateVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), PrivateCertSecretResourceName, "read") + return tfErr.GetDiag() } } return nil @@ -569,7 +614,8 @@ func resourceIbmSmPrivateCertificateRead(context context.Context, d *schema.Reso func resourceIbmSmPrivateCertificateUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -611,7 +657,8 @@ func resourceIbmSmPrivateCertificateUpdate(context context.Context, d *schema.Re RotationModel, err := resourceIbmSmPrivateCertificateMapToRotationPolicy(d.Get("rotation").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err), PrivateCertSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.Rotation = RotationModel hasChange = true @@ -622,7 +669,8 @@ func resourceIbmSmPrivateCertificateUpdate(context context.Context, d *schema.Re _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), PrivateCertSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -643,7 +691,8 @@ func resourceIbmSmPrivateCertificateUpdate(context context.Context, d *schema.Re resourceIbmSmPrivateCertificateRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), PrivateCertSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -653,7 +702,8 @@ func resourceIbmSmPrivateCertificateUpdate(context context.Context, d *schema.Re func resourceIbmSmPrivateCertificateDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -669,7 +719,8 @@ func resourceIbmSmPrivateCertificateDelete(context context.Context, d *schema.Re response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), PrivateCertSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_set_signed.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_set_signed.go index 99f3836a8e..fe29f3c189 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_set_signed.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_set_signed.go @@ -3,6 +3,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/IBM/go-sdk-core/v5/core" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -47,7 +48,8 @@ func ResourceIbmSmPrivateCertificateConfigurationActionSetSigned() *schema.Resou func resourceIbmSmPrivateCertificateConfigurationActionSetSignedCreateOrUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigActionSetSigned, "create/update") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -58,7 +60,8 @@ func resourceIbmSmPrivateCertificateConfigurationActionSetSignedCreateOrUpdate(c configurationActionPrototypeModel, err := resourceIbmSmPrivateCertificateConfigurationActionSetSignedPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigActionSetSigned, "create/update") + return tfErr.GetDiag() } createConfigurationActionOptions.SetConfigActionPrototype(configurationActionPrototypeModel) createConfigurationActionOptions.SetName(d.Get("name").(string)) @@ -66,7 +69,8 @@ func resourceIbmSmPrivateCertificateConfigurationActionSetSignedCreateOrUpdate(c _, response, err := secretsManagerClient.CreateConfigurationActionWithContext(context, createConfigurationActionOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationActionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationActionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationActionWithContext failed: %s\n%s", err.Error(), response), PrivateCertConfigActionSetSigned, "create/update") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s/%s/set_signed", region, instanceId, d.Get("name").(string))) diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_sign_csr.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_sign_csr.go index 0c808c4791..e177853407 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_sign_csr.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_action_sign_csr.go @@ -212,7 +212,8 @@ func ResourceIbmSmPrivateCertificateConfigurationActionSignCsr() *schema.Resourc func resourceIbmSmPrivateCertificateConfigurationActionSignCsrCreateOrUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigActionSignCsr, "create/update") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -223,7 +224,8 @@ func resourceIbmSmPrivateCertificateConfigurationActionSignCsrCreateOrUpdate(con configurationActionPrototypeModel, err := resourceIbmSmPrivateCertificateConfigurationActionSignCsrMapToConfigurationActionPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigActionSignCsr, "create/update") + return tfErr.GetDiag() } createConfigurationActionOptions.SetConfigActionPrototype(configurationActionPrototypeModel) createConfigurationActionOptions.SetName(d.Get("name").(string)) @@ -231,7 +233,8 @@ func resourceIbmSmPrivateCertificateConfigurationActionSignCsrCreateOrUpdate(con configurationActionIntf, response, err := secretsManagerClient.CreateConfigurationActionWithContext(context, createConfigurationActionOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationActionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationActionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationActionWithContext failed: %s\n%s", err.Error(), response), PrivateCertConfigActionSignCsr, "create/update") + return tfErr.GetDiag() } configurationAction := configurationActionIntf.(*secretsmanagerv2.PrivateCertificateConfigurationActionSignCSR) @@ -239,10 +242,12 @@ func resourceIbmSmPrivateCertificateConfigurationActionSignCsrCreateOrUpdate(con if configurationAction.Data != nil { dataMap, err := resourceIbmSmPrivateCertificateConfigurationActionSignCsrDataToMap(*configurationAction.Data) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigActionSignCsr, "create/update") + return tfErr.GetDiag() } if err = d.Set("data", []map[string]interface{}{dataMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data: %s", err), PrivateCertConfigActionSignCsr, "create/update") + return tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca.go index e82d66747c..e774f2f764 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca.go @@ -389,7 +389,8 @@ func ResourceIbmSmPrivateCertificateConfigurationIntermediateCA() *schema.Resour func resourceIbmSmPrivateCertificateConfigurationIntermediateCACreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -400,14 +401,16 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCACreate(context co configurationPrototypeModel, err := resourceIbmSmPrivateCertificateConfigurationIntermediateCAMapToConfigurationPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(configurationPrototypeModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationIntermediateCA) @@ -421,17 +424,20 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCACreate(context co createConfigurationActionOptions.SetName(d.Get("issuer").(string)) configurationActionPrototypeModel, err := resourceIbmSmConfigurationActionPrivateCertificateSignIntermediateCAMapToConfigurationActionPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } createConfigurationActionOptions.SetConfigActionPrototype(configurationActionPrototypeModel) _, responseAction, errAction := secretsManagerClient.CreateConfigurationActionWithContext(context, createConfigurationActionOptions) if errAction != nil { log.Printf("[DEBUG] CreateConfigurationActionWithContext failed %s\n%s", errAction, responseAction) - return diag.FromErr(fmt.Errorf("CreateConfigurationActionWithContext failed %s\n%s", errAction, responseAction)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationActionWithContext failed %s\n%s", errAction, responseAction), PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } } else { - return diag.FromErr(fmt.Errorf("`issuer` parameter is missing")) + tfErr := flex.TerraformErrorf(nil, "`issuer` parameter is missing", PrivateCertConfigIntermediateCAResourceName, "create") + return tfErr.GetDiag() } } @@ -441,12 +447,14 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCACreate(context co func resourceIbmSmPrivateCertificateConfigurationIntermediateCARead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import an intermediate CA use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import an intermediate CA use the format `//`", PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -464,151 +472,190 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCARead(context cont return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationIntermediateCA) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("config_type", configuration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(configuration.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if d.Get("max_ttl") == nil || d.Get("max_ttl") == "" { if err = d.Set("max_ttl", strconv.FormatInt(*configuration.MaxTtlSeconds, 10)+"s"); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("crl_expiry_seconds", flex.IntValue(configuration.CrlExpirySeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_expiry_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry_seconds"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if d.Get("crl_expiry") == nil || d.Get("crl_expiry") == "" { if err = d.Set("crl_expiry", strconv.FormatInt(*configuration.CrlExpirySeconds, 10)+"s"); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("signing_method", configuration.SigningMethod); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_method: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_method"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuer", configuration.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crl_disable", configuration.CrlDisable); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_disable: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_disable"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crl_distribution_points_encoded", configuration.CrlDistributionPointsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_distribution_points_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_distribution_points_encoded"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuing_certificates_urls_encoded", configuration.IssuingCertificatesUrlsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_certificates_urls_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_certificates_urls_encoded"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("common_name", configuration.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if configuration.AltNames != nil { if err = d.Set("alt_names", configuration.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("ip_sans", configuration.IpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ip_sans"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("uri_sans", configuration.UriSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting uri_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting uri_sans"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if configuration.OtherSans != nil { if err = d.Set("other_sans", configuration.OtherSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting other_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting other_sans"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("format", configuration.Format); err != nil { - return diag.FromErr(fmt.Errorf("Error setting format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting format"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key_format", configuration.PrivateKeyFormat); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_format"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_type", configuration.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(configuration.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("exclude_cn_from_sans", configuration.ExcludeCnFromSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting exclude_cn_from_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting exclude_cn_from_sans"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if configuration.Ou != nil { if err = d.Set("ou", configuration.Ou); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ou: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ou"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Organization != nil { if err = d.Set("organization", configuration.Organization); err != nil { - return diag.FromErr(fmt.Errorf("Error setting organization: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting organization"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Country != nil { if err = d.Set("country", configuration.Country); err != nil { - return diag.FromErr(fmt.Errorf("Error setting country: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting country"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Locality != nil { if err = d.Set("locality", configuration.Locality); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locality: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locality"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Province != nil { if err = d.Set("province", configuration.Province); err != nil { - return diag.FromErr(fmt.Errorf("Error setting province: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting province"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.StreetAddress != nil { if err = d.Set("street_address", configuration.StreetAddress); err != nil { - return diag.FromErr(fmt.Errorf("Error setting street_address: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting street_address"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.PostalCode != nil { if err = d.Set("postal_code", configuration.PostalCode); err != nil { - return diag.FromErr(fmt.Errorf("Error setting postal_code: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting postal_code"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("serial_number", configuration.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("status", configuration.Status); err != nil { - return diag.FromErr(fmt.Errorf("Error setting status: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting status"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(configuration.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if configuration.Data != nil { dataMap, err := resourceIbmSmPrivateCertificateConfigurationIntermediateCAPrivateCertificateCADataToMap(configuration.Data) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("data", []map[string]interface{}{dataMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.CryptoKey != nil { cryptoKeyMap, err := resourceIbmSmPrivateCertificateConfigurationCryptoKeyToMap(configuration.CryptoKey) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } if len(cryptoKeyMap) > 0 { if err = d.Set("crypto_key", []map[string]interface{}{cryptoKeyMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crypto_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crypto_key"), PrivateCertConfigIntermediateCAResourceName, "read") + return tfErr.GetDiag() } } } @@ -660,7 +707,8 @@ func resourceIbmSmPrivateCertificateConfigurationCryptoKeyProviderToMap(provider func resourceIbmSmPrivateCertificateConfigurationIntermediateCAUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -708,7 +756,8 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCAUpdate(context co _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigIntermediateCAResourceName, "update") + return tfErr.GetDiag() } } @@ -718,7 +767,8 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCAUpdate(context co func resourceIbmSmPrivateCertificateConfigurationIntermediateCADelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigIntermediateCAResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -734,7 +784,8 @@ func resourceIbmSmPrivateCertificateConfigurationIntermediateCADelete(context co response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigIntermediateCAResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca_test.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca_test.go index 0983c1c3e0..0865e6ec58 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca_test.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_intermediate_ca_test.go @@ -186,7 +186,7 @@ func privateCertificateIntermediateCAConfigCryptoKey() string { common_name = "ibm.com" crypto_key { allow_generate_key = true - label = "tf_test" + label = "e2e-tf-test" provider { type = "%s" instance_crn = "%s" diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca.go index e51d97856c..77e167787a 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca.go @@ -393,7 +393,8 @@ func ResourceIbmSmPrivateCertificateConfigurationRootCA() *schema.Resource { func resourceIbmSmPrivateCertificateConfigurationRootCACreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -404,14 +405,16 @@ func resourceIbmSmPrivateCertificateConfigurationRootCACreate(context context.Co configurationPrototypeModel, err := resourceIbmSmPrivateCertificateConfigurationRootCAMapToConfigurationPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(configurationPrototypeModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PrivateCertConfigRootCAResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationRootCA) @@ -423,12 +426,14 @@ func resourceIbmSmPrivateCertificateConfigurationRootCACreate(context context.Co func resourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a root CA use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a root CA use the format `//`", PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -446,165 +451,207 @@ func resourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Cont return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationRootCA) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", configuration.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(configuration.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(configuration.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(configuration.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if d.Get("max_ttl") == nil || d.Get("max_ttl") == "" { if err = d.Set("max_ttl", strconv.FormatInt(*configuration.MaxTtlSeconds, 10)+"s"); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("crl_expiry_seconds", flex.IntValue(configuration.CrlExpirySeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_expiry_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry_seconds"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if d.Get("crl_expiry") == nil || d.Get("crl_expiry") == "" { if err = d.Set("crl_expiry", strconv.FormatInt(*configuration.CrlExpirySeconds, 10)+"s"); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_expiry"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("crl_disable", configuration.CrlDisable); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_disable: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_disable"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crl_distribution_points_encoded", configuration.CrlDistributionPointsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crl_distribution_points_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crl_distribution_points_encoded"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuing_certificates_urls_encoded", configuration.IssuingCertificatesUrlsEncoded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuing_certificates_urls_encoded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuing_certificates_urls_encoded"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("common_name", configuration.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if configuration.AltNames != nil { if err = d.Set("alt_names", configuration.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("ip_sans", configuration.IpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ip_sans"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("uri_sans", configuration.UriSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting uri_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting uri_sans"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if configuration.OtherSans != nil { if err = d.Set("other_sans", configuration.OtherSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting other_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting other_sans"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("ttl_seconds", flex.IntValue(configuration.TtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl_seconds"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("format", configuration.Format); err != nil { - return diag.FromErr(fmt.Errorf("Error setting format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting format"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key_format", configuration.PrivateKeyFormat); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key_format: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key_format"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_type", configuration.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(configuration.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("max_path_length", flex.IntValue(configuration.MaxPathLength)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_path_length: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_path_length"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("exclude_cn_from_sans", configuration.ExcludeCnFromSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting exclude_cn_from_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting exclude_cn_from_sans"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if configuration.PermittedDnsDomains != nil { if err = d.Set("permitted_dns_domains", configuration.PermittedDnsDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting permitted_dns_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting permitted_dns_domains"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Ou != nil { if err = d.Set("ou", configuration.Ou); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ou: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ou"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Organization != nil { if err = d.Set("organization", configuration.Organization); err != nil { - return diag.FromErr(fmt.Errorf("Error setting organization: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting organization"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Country != nil { if err = d.Set("country", configuration.Country); err != nil { - return diag.FromErr(fmt.Errorf("Error setting country: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting country"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Locality != nil { if err = d.Set("locality", configuration.Locality); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locality: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locality"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.Province != nil { if err = d.Set("province", configuration.Province); err != nil { - return diag.FromErr(fmt.Errorf("Error setting province: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting province"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.StreetAddress != nil { if err = d.Set("street_address", configuration.StreetAddress); err != nil { - return diag.FromErr(fmt.Errorf("Error setting street_address: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting street_address"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.PostalCode != nil { if err = d.Set("postal_code", configuration.PostalCode); err != nil { - return diag.FromErr(fmt.Errorf("Error setting postal_code: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting postal_code"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("serial_number", configuration.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("status", configuration.Status); err != nil { - return diag.FromErr(fmt.Errorf("Error setting status: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting status"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(configuration.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if configuration.Data != nil { dataMap, err := resourceIbmSmPrivateCertificateConfigurationRootCAPrivateCertificateCADataToMap(configuration.Data) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("data", []map[string]interface{}{dataMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting data: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting data"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } if configuration.CryptoKey != nil { cryptoKeyMap, err := resourceIbmSmPrivateCertificateConfigurationCryptoKeyToMap(configuration.CryptoKey) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } if len(cryptoKeyMap) > 0 { if err = d.Set("crypto_key", []map[string]interface{}{cryptoKeyMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crypto_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crypto_key"), PrivateCertConfigRootCAResourceName, "read") + return tfErr.GetDiag() } } } @@ -615,7 +662,8 @@ func resourceIbmSmPrivateCertificateConfigurationRootCARead(context context.Cont func resourceIbmSmPrivateCertificateConfigurationRootCAUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -658,7 +706,8 @@ func resourceIbmSmPrivateCertificateConfigurationRootCAUpdate(context context.Co _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigRootCAResourceName, "update") + return tfErr.GetDiag() } } @@ -668,7 +717,8 @@ func resourceIbmSmPrivateCertificateConfigurationRootCAUpdate(context context.Co func resourceIbmSmPrivateCertificateConfigurationRootCADelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigRootCAResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -684,7 +734,8 @@ func resourceIbmSmPrivateCertificateConfigurationRootCADelete(context context.Co response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigRootCAResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca_test.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca_test.go index 7d3d10de13..b9825fd9e5 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca_test.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_root_ca_test.go @@ -184,7 +184,7 @@ func privateCertificateRootCAConfigCryptoKey() string { alt_names = ["ddd.com", "aaa.com"] crypto_key { allow_generate_key = true - label = "tf_test" + label = "e2e-tf-test" provider { type = "%s" instance_crn = "%s" diff --git a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_template.go b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_template.go index fbebe341a0..d7c104cf7d 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_template.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_private_certificate_configuration_template.go @@ -325,7 +325,8 @@ func ResourceIbmSmPrivateCertificateConfigurationTemplate() *schema.Resource { func resourceIbmSmPrivateCertificateConfigurationTemplateCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigTemplateResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -336,14 +337,16 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateCreate(context context. configurationPrototypeModel, err := resourceIbmSmPrivateCertificateConfigurationTemplateMapToConfigurationPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigTemplateResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(configurationPrototypeModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PrivateCertConfigTemplateResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationTemplate) @@ -355,12 +358,14 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateCreate(context context. func resourceIbmSmPrivateCertificateConfigurationTemplateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a certificate template use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a certificate template use the format `//`", PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -378,163 +383,206 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateRead(context context.Co return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PrivateCertificateConfigurationTemplate) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("config_type", configuration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("certificate_authority", configuration.CertificateAuthority); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate_authority: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate_authority"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allowed_secret_groups", configuration.AllowedSecretGroups); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_secret_groups: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_secret_groups"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("max_ttl_seconds", flex.IntValue(configuration.MaxTtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting max_ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting max_ttl_seconds"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("ttl_seconds", flex.IntValue(configuration.TtlSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ttl_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ttl_seconds"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_localhost", configuration.AllowLocalhost); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_localhost: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_localhost"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if configuration.AllowedDomains != nil { if err = d.Set("allowed_domains", configuration.AllowedDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_domains"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("allowed_domains_template", configuration.AllowedDomainsTemplate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_domains_template: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_domains_template"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_bare_domains", configuration.AllowBareDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_bare_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_bare_domains"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_subdomains", configuration.AllowSubdomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_subdomains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_subdomains"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_glob_domains", configuration.AllowGlobDomains); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_glob_domains: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_glob_domains"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_any_name", configuration.AllowAnyName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_any_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_any_name"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("enforce_hostnames", configuration.EnforceHostnames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting enforce_hostnames: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting enforce_hostnames"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("allow_ip_sans", configuration.AllowIpSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allow_ip_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allow_ip_sans"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if configuration.AllowedUriSans != nil { if err = d.Set("allowed_uri_sans", configuration.AllowedUriSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_uri_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_uri_sans"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.AllowedOtherSans != nil { if err = d.Set("allowed_other_sans", configuration.AllowedOtherSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting allowed_other_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting allowed_other_sans"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("server_flag", configuration.ServerFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting server_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting server_flag"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("client_flag", configuration.ClientFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting client_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting client_flag"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("code_signing_flag", configuration.CodeSigningFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting code_signing_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting code_signing_flag"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("email_protection_flag", configuration.EmailProtectionFlag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting email_protection_flag: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting email_protection_flag"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_type", configuration.KeyType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_type"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("key_bits", flex.IntValue(configuration.KeyBits)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_bits: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_bits"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if configuration.KeyUsage != nil { if err = d.Set("key_usage", configuration.KeyUsage); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_usage: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_usage"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.ExtKeyUsage != nil { if err = d.Set("ext_key_usage", configuration.ExtKeyUsage); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ext_key_usage: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ext_key_usage"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.ExtKeyUsageOids != nil { if err = d.Set("ext_key_usage_oids", configuration.ExtKeyUsageOids); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ext_key_usage_oids: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ext_key_usage_oids"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("use_csr_common_name", configuration.UseCsrCommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting use_csr_common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting use_csr_common_name"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("use_csr_sans", configuration.UseCsrSans); err != nil { - return diag.FromErr(fmt.Errorf("Error setting use_csr_sans: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting use_csr_sans"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if configuration.Ou != nil { if err = d.Set("ou", configuration.Ou); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ou: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ou"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.Organization != nil { if err = d.Set("organization", configuration.Organization); err != nil { - return diag.FromErr(fmt.Errorf("Error setting organization: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting organization"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.Country != nil { if err = d.Set("country", configuration.Country); err != nil { - return diag.FromErr(fmt.Errorf("Error setting country: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting country"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.Locality != nil { if err = d.Set("locality", configuration.Locality); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locality: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locality"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.Province != nil { if err = d.Set("province", configuration.Province); err != nil { - return diag.FromErr(fmt.Errorf("Error setting province: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting province"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.StreetAddress != nil { if err = d.Set("street_address", configuration.StreetAddress); err != nil { - return diag.FromErr(fmt.Errorf("Error setting street_address: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting street_address"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if configuration.PostalCode != nil { if err = d.Set("postal_code", configuration.PostalCode); err != nil { - return diag.FromErr(fmt.Errorf("Error setting postal_code: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting postal_code"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("require_cn", configuration.RequireCn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting require_cn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting require_cn"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if configuration.PolicyIdentifiers != nil { if err = d.Set("policy_identifiers", configuration.PolicyIdentifiers); err != nil { - return diag.FromErr(fmt.Errorf("Error setting policy_identifiers: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting policy_identifiers"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("basic_constraints_valid_for_non_ca", configuration.BasicConstraintsValidForNonCa); err != nil { - return diag.FromErr(fmt.Errorf("Error setting basic_constraints_valid_for_non_ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting basic_constraints_valid_for_non_ca"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("not_before_duration_seconds", flex.IntValue(configuration.NotBeforeDurationSeconds)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting not_before_duration_seconds: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting not_before_duration_seconds"), PrivateCertConfigTemplateResourceName, "read") + return tfErr.GetDiag() } return nil @@ -543,7 +591,8 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateRead(context context.Co func resourceIbmSmPrivateCertificateConfigurationTemplateUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigTemplateResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -802,7 +851,8 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateUpdate(context context. _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigTemplateResourceName, "update") + return tfErr.GetDiag() } } @@ -812,7 +862,8 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateUpdate(context context. func resourceIbmSmPrivateCertificateConfigurationTemplateDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PrivateCertConfigTemplateResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -828,7 +879,8 @@ func resourceIbmSmPrivateCertificateConfigurationTemplateDelete(context context. response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PrivateCertConfigTemplateResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate.go b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate.go index 8cbd049687..17aa926c7d 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate.go @@ -409,7 +409,8 @@ func ResourceIbmSmPublicCertificate() *schema.Resource { func resourceIbmSmPublicCertificateCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -420,14 +421,16 @@ func resourceIbmSmPublicCertificateCreate(context context.Context, d *schema.Res secretPrototypeModel, err := resourceIbmSmPublicCertificateMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), PublicCertSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.PublicCertificate) @@ -441,8 +444,8 @@ func resourceIbmSmPublicCertificateCreate(context context.Context, d *schema.Res } if err != nil { - return diag.FromErr(fmt.Errorf( - "error waiting for resource IbmSmPublicCertificate (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmPublicCertificate (%s) to be created: %s", d.Id(), err.Error()), PublicCertSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmPublicCertificateRead(context, d, meta) @@ -484,12 +487,14 @@ func waitForIbmSmPublicCertificateCreate(secretsManagerClient *secretsmanagerv2. func resourceIbmSmPublicCertificateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -507,133 +512,170 @@ func resourceIbmSmPublicCertificateRead(context context.Context, d *schema.Resou return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.PublicCertificate) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("common_name", secret.CommonName); err != nil { - return diag.FromErr(fmt.Errorf("Error setting common_name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting common_name"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.IssuanceInfo != nil { issuanceInfoMap, err := resourceIbmSmPublicCertificateCertificateIssuanceInfoToMap(secret.IssuanceInfo, d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuance_info", []map[string]interface{}{issuanceInfoMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuance_info: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuance_info"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("key_algorithm", secret.KeyAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting key_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting key_algorithm"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("ca", secret.Ca); err != nil { - return diag.FromErr(fmt.Errorf("Error setting ca: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting ca"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if d.Get("dns").(string) != "akamai" { if err = d.Set("dns", secret.Dns); err != nil { - return diag.FromErr(fmt.Errorf("Error setting dns: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting dns"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("bundle_certs", secret.BundleCerts); err != nil { - return diag.FromErr(fmt.Errorf("Error setting bundle_certs: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting bundle_certs"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } rotationMap, err := resourceIbmSmPublicCertificateRotationPolicyToMap(secret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("rotation", []map[string]interface{}{rotationMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("signing_algorithm", secret.SigningAlgorithm); err != nil { - return diag.FromErr(fmt.Errorf("Error setting signing_algorithm: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting signing_algorithm"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if secret.AltNames != nil { if err = d.Set("alt_names", secret.AltNames); err != nil { - return diag.FromErr(fmt.Errorf("Error setting alt_names: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting alt_names"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("issuer", secret.Issuer); err != nil { - return diag.FromErr(fmt.Errorf("Error setting issuer: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting issuer"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("serial_number", secret.SerialNumber); err != nil { - return diag.FromErr(fmt.Errorf("Error setting serial_number: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting serial_number"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } validityMap, err := resourceIbmSmPublicCertificateCertificateValidityToMap(secret.Validity) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("validity", []map[string]interface{}{validityMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting validity: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting validity"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("certificate", secret.Certificate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting certificate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting certificate"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("intermediate", secret.Intermediate); err != nil { - return diag.FromErr(fmt.Errorf("Error setting intermediate: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting intermediate"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("private_key", secret.PrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting private_key"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if *secret.StateDescription == "active" { @@ -645,13 +687,15 @@ func resourceIbmSmPublicCertificateRead(context context.Context, d *schema.Resou versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.PublicCertificateVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } } @@ -669,7 +713,8 @@ func resourceIbmSmPublicCertificateRead(context context.Context, d *schema.Resou func resourceIbmSmPublicCertificateUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -711,7 +756,8 @@ func resourceIbmSmPublicCertificateUpdate(context context.Context, d *schema.Res RotationModel, err := resourceIbmSmPublicCertificateMapToRotationPolicy(d.Get("rotation").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err), PublicCertSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.Rotation = RotationModel hasChange = true @@ -722,7 +768,8 @@ func resourceIbmSmPublicCertificateUpdate(context context.Context, d *schema.Res _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), PublicCertSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -743,7 +790,8 @@ func resourceIbmSmPublicCertificateUpdate(context context.Context, d *schema.Res resourceIbmSmPublicCertificateRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), PublicCertSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -753,7 +801,8 @@ func resourceIbmSmPublicCertificateUpdate(context context.Context, d *schema.Res func resourceIbmSmPublicCertificateDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -769,7 +818,8 @@ func resourceIbmSmPublicCertificateDelete(context context.Context, d *schema.Res response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), PublicCertSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") @@ -1095,7 +1145,8 @@ func setChallengesWithAkamaiAndValidateManualDns(context context.Context, d *sch for _, challengeItem := range secret.IssuanceInfo.Challenges { if _, exists := successfullySetChallengeDomains[*challengeItem.TxtRecordValue]; !exists { resourceIbmSmPublicCertificateDelete(context, d, meta) - return diag.FromErr(fmt.Errorf("error: a dns record set in Akamai was not created for domain: %s", *challengeItem.Domain)) + tfErr := flex.TerraformErrorf(nil, fmt.Sprintf("error: a dns record set in Akamai was not created for domain: %s", *challengeItem.Domain), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -1106,9 +1157,10 @@ func configureAkamai(d *schema.ResourceData) (edgegrid.Config, diag.Diagnostics) var config edgegrid.Config var err error defaultErrMsg := "error configuring Akamai: One or more arguments are missing. Please verify that you provided either a path to your 'edgerc' file or all the config parameters ('host', 'client_secret', 'access_token' and 'client_token')" + defaultTfErr := flex.TerraformErrorf(nil, defaultErrMsg, PublicCertSecretResourceName, "read") if len(d.Get("akamai").([]interface{})) == 0 || d.Get("akamai").([]interface{})[0] == nil { - return config, diag.FromErr(fmt.Errorf(defaultErrMsg)) + return config, defaultTfErr.GetDiag() } akamaiData := d.Get("akamai").([]interface{})[0].(map[string]interface{}) @@ -1116,12 +1168,13 @@ func configureAkamai(d *schema.ResourceData) (edgegrid.Config, diag.Diagnostics) edgercData := akamaiData["edgerc"].([]interface{})[0].(map[string]interface{}) edgerc := edgercData["path_to_edgerc"].(string) if edgerc == "" { - return config, diag.FromErr(fmt.Errorf(defaultErrMsg)) + return config, defaultTfErr.GetDiag() } configSection := edgercData["config_section"].(string) config, err = edgegrid.InitEdgeRc(edgerc, configSection) if err != nil { - return config, diag.FromErr(fmt.Errorf("error initiating edgerc: %s", err)) + tfErr := flex.TerraformErrorf(nil, fmt.Sprintf("error initiating edgerc: %s", err), PublicCertSecretResourceName, "read") + return config, tfErr.GetDiag() } } else if len(akamaiData["config"].([]interface{})) > 0 && akamaiData["config"].([]interface{})[0] != nil { akamaiDataConfig := akamaiData["config"].([]interface{})[0].(map[string]interface{}) @@ -1134,10 +1187,10 @@ func configureAkamai(d *schema.ResourceData) (edgegrid.Config, diag.Diagnostics) config.MaxBody = 131072 } } else { - return config, diag.FromErr(fmt.Errorf(defaultErrMsg)) + return config, defaultTfErr.GetDiag() } } else { - return config, diag.FromErr(fmt.Errorf(defaultErrMsg)) + return config, defaultTfErr.GetDiag() } return config, nil @@ -1147,11 +1200,13 @@ func configureAkamai(d *schema.ResourceData) (edgegrid.Config, diag.Diagnostics) func checkIfRecordExistsInAkamai(config edgegrid.Config, zone string, txtRecordName string) ([]string, diag.Diagnostics) { req, err := client.NewRequest(config, "GET", fmt.Sprintf("/config-dns/v2/zones/%s/names/%s/types/TXT", zone, txtRecordName), nil) if err != nil { - return nil, diag.FromErr(fmt.Errorf("error creating akamai 'GET' request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error creating akamai 'GET' request: %s", err), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } res, err := client.Do(config, req) if err != nil { - return nil, diag.FromErr(fmt.Errorf("error in performing akamai 'GET' request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' request: %s", err), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } if res.StatusCode == 404 { // there is no record set, we need to create one return nil, nil @@ -1160,7 +1215,8 @@ func checkIfRecordExistsInAkamai(config edgegrid.Config, zone string, txtRecordN err := json.NewDecoder(res.Body).Decode(&recordData) if err != nil { - diag.FromErr(fmt.Errorf("error in performing akamai 'GET' request: error in decoding JSON: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' request: error in decoding JSON: %s", err), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } return recordData.Target, nil @@ -1168,9 +1224,11 @@ func checkIfRecordExistsInAkamai(config edgegrid.Config, zone string, txtRecordN body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Printf("Error reading response: %s\n", err.Error()) - return nil, diag.FromErr(fmt.Errorf("error in performing akamai 'GET' request: error reading error: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' request: error reading error: %s", err), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } - return nil, diag.FromErr(fmt.Errorf("error in performing akamai 'GET' request: %s", string(body))) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' request: %s", string(body)), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } } @@ -1191,15 +1249,18 @@ func createOrUpdateAkamaiChallengeRecordSet(config edgegrid.Config, zone string, jsonBody, err := json.Marshal(recordSetBody) if err != nil { - return diag.FromErr(fmt.Errorf("error setting body for akamai request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error setting body for akamai request: %s", err), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } req, err := client.NewRequest(config, method, fmt.Sprintf("/config-dns/v2/zones/%s/names/%s/types/TXT", zone, txtRecordName), bytes.NewReader(jsonBody)) if err != nil { - return diag.FromErr(fmt.Errorf("error creating akamai request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error creating akamai request: %s", err), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } res, err := client.Do(config, req) if err != nil { - return diag.FromErr(fmt.Errorf("error in akamai request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in akamai request: %s", err), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } if res.StatusCode != 201 && res.StatusCode != 200 { body, err := ioutil.ReadAll(res.Body) @@ -1207,7 +1268,8 @@ func createOrUpdateAkamaiChallengeRecordSet(config edgegrid.Config, zone string, fmt.Printf("Error reading response: %s\n", err.Error()) return nil } - return diag.FromErr(fmt.Errorf("error from akamai in '%s' request: %s", method, string(body))) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error from akamai in '%s' request: %s", method, string(body)), PublicCertSecretResourceName, "read") + return tfErr.GetDiag() } return nil } @@ -1230,7 +1292,8 @@ func findAllTxtRecordValuesForDomain(domainItem string, txtRecordName string, se if len(txtRecordValues) > 0 { return txtRecordValues, nil } - return nil, diag.FromErr(fmt.Errorf("failed to find a challenge for the domain: %s", domainItem)) + tfErr := flex.TerraformErrorf(nil, fmt.Sprintf("failed to find a challenge for the domain: %s", domainItem), PublicCertSecretResourceName, "read") + return nil, tfErr.GetDiag() } func findTxtRecordValuesDifferences(akamaiValues, challengesValues []string) []string { @@ -1256,16 +1319,19 @@ func findTxtRecordValuesDifferences(akamaiValues, challengesValues []string) []s func getZone(currentZone string, originalDomain string, config edgegrid.Config) (string, diag.Diagnostics) { req, err := client.NewRequest(config, "GET", fmt.Sprintf("/config-dns/v2/zones/%s", currentZone), nil) if err != nil { - return "", diag.FromErr(fmt.Errorf("error creating akamai 'GET' zone request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error creating akamai 'GET' zone request: %s", err), PublicCertSecretResourceName, "read") + return "", tfErr.GetDiag() } res, err := client.Do(config, req) if err != nil { - return "", diag.FromErr(fmt.Errorf("error in performing akamai 'GET' zone request: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' zone request: %s", err), PublicCertSecretResourceName, "read") + return "", tfErr.GetDiag() } if res.StatusCode == 404 { zoneSplit := strings.Split(currentZone, ".") if len(zoneSplit) == 2 { - return "", diag.FromErr(fmt.Errorf("could not find a zone in Akamai for the domain: %s", originalDomain)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("could not find a zone in Akamai for the domain: %s", originalDomain), PublicCertSecretResourceName, "read") + return "", tfErr.GetDiag() } newZone := strings.Join(zoneSplit[1:], ".") @@ -1277,8 +1343,10 @@ func getZone(currentZone string, originalDomain string, config edgegrid.Config) body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Printf("Error reading response: %s\n", err.Error()) - return "", diag.FromErr(fmt.Errorf("error in performing akamai 'GET' zone request for zone: %s: error reading error: %s", currentZone, err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' zone request for zone: %s: error reading error: %s", currentZone, err), PublicCertSecretResourceName, "read") + return "", tfErr.GetDiag() } - return "", diag.FromErr(fmt.Errorf("error in performing akamai 'GET' zone request for zone: %s:: %s", currentZone, string(body))) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("error in performing akamai 'GET' zone request for zone: %s:: %s", currentZone, string(body)), PublicCertSecretResourceName, "read") + return "", tfErr.GetDiag() } } diff --git a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_action_validate_manual_dns.go b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_action_validate_manual_dns.go index bc317e7fe4..4180dba347 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_action_validate_manual_dns.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_action_validate_manual_dns.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "log" @@ -40,7 +41,8 @@ func ResourceIbmSmPublicCertificateActionValidateManualDns() *schema.Resource { func resourceIbmSmPublicCertificateActionValidateManualDnsCreateOrUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigActionValidateManualDNSResourceName, "create/update") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -75,13 +77,14 @@ func validateManualDns(context context.Context, d *schema.ResourceData, secretsM _, response, err := secretsManagerClient.CreateSecretActionWithContext(context, createActionOptions) if err != nil { log.Printf("[DEBUG] CreateSecretActionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretActionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretActionWithContext failed: %s\n%s", err.Error(), response), PublicCertConfigActionValidateManualDNSResourceName, "create") + return tfErr.GetDiag() } _, err = waitForIbmSmPublicCertificateCreate(secretsManagerClient, d, "pre_activation", "active") if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmPublicCertificateActionValidateManualDns (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmPublicCertificateActionValidateManualDns (%s) to be created: %s", d.Id(), err.Error()), PublicCertConfigActionValidateManualDNSResourceName, "create") + return tfErr.GetDiag() } return nil } diff --git a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go index 4d23c48659..6719aed8d2 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_ca_lets_encrypt.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "log" @@ -70,7 +71,8 @@ func ResourceIbmSmPublicCertificateConfigurationCALetsEncrypt() *schema.Resource func resourceIbmSmPublicCertificateConfigurationCALetsEncryptCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigCALetsEncryptResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -81,14 +83,16 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptCreate(context cont configurationPrototypeModel, err := resourceIbmSmPublicCertificateConfigurationCALetsEncryptMapToConfigurationPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigCALetsEncryptResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(configurationPrototypeModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PublicCertConfigCALetsEncryptResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationCALetsEncrypt) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *configuration.Name)) @@ -99,12 +103,14 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptCreate(context cont func resourceIbmSmPublicCertificateConfigurationCALetsEncryptRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a CA configuration use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a CA configuration use the format `//`", PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -122,34 +128,43 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptRead(context contex return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationCALetsEncrypt) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("config_type", configuration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_environment", configuration.LetsEncryptEnvironment); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_environment: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_environment"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_preferred_chain", configuration.LetsEncryptPreferredChain); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_preferred_chain: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_preferred_chain"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("lets_encrypt_private_key", configuration.LetsEncryptPrivateKey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting lets_encrypt_private_key: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting lets_encrypt_private_key"), PublicCertConfigCALetsEncryptResourceName, "read") + return tfErr.GetDiag() } return nil @@ -158,7 +173,8 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptRead(context contex func resourceIbmSmPublicCertificateConfigurationCALetsEncryptUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigCALetsEncryptResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -196,7 +212,8 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptUpdate(context cont _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigCALetsEncryptResourceName, "update") + return tfErr.GetDiag() } } @@ -206,7 +223,8 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptUpdate(context cont func resourceIbmSmPublicCertificateConfigurationCALetsEncryptDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigCALetsEncryptResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -222,7 +240,8 @@ func resourceIbmSmPublicCertificateConfigurationCALetsEncryptDelete(context cont response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigCALetsEncryptResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_cis.go b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_cis.go index 4dd008a3a5..4421f09bb4 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_cis.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_cis.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "strings" @@ -41,13 +42,13 @@ func ResourceIbmSmConfigurationPublicCertificateDNSCis() *schema.Resource { "cloud_internet_services_apikey": &schema.Schema{ Type: schema.TypeString, Optional: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_public_certificate_configuration_dns_cis", "cloud_internet_services_apikey"), + ValidateFunc: validate.InvokeValidator(PublicCertConfigDnsCISResourceName, "cloud_internet_services_apikey"), Description: "An IBM Cloud API key that can to list domains in your Cloud Internet Services instance.To grant Secrets Manager the ability to view the Cloud Internet Services instance and all of its domains, the API key must be assigned the Reader service role on Internet Services (`internet-svcs`).If you need to manage specific domains, you can assign the Manager role. For production environments, it is recommended that you assign the Reader access role, and then use the[IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control specific domains. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).", }, "cloud_internet_services_crn": &schema.Schema{ Type: schema.TypeString, Required: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_public_certificate_configuration_dns_cis", "cloud_internet_services_crn"), + ValidateFunc: validate.InvokeValidator(PublicCertConfigDnsCISResourceName, "cloud_internet_services_crn"), Description: "A CRN that uniquely identifies an IBM Cloud resource.", }, "secret_type": &schema.Schema{ @@ -97,14 +98,15 @@ func ResourceIbmSmConfigurationPublicCertificateDNSCisValidator() *validate.Reso }, ) - resourceValidator := validate.ResourceValidator{ResourceName: "ibm_sm_public_certificate_configuration_dns_cis", Schema: validateSchema} + resourceValidator := validate.ResourceValidator{ResourceName: PublicCertConfigDnsCISResourceName, Schema: validateSchema} return &resourceValidator } func resourceIbmSmConfigurationPublicCertificateDNSCisCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsCISResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -129,14 +131,16 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisCreate(context context.Con } convertedModel, err := resourceIbmSmConfigurationPublicCertificateCisMapToPublicCertificateConfigurationDNSCloudInternetServicesPrototype(bodyModelMap) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsCISResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(convertedModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PublicCertConfigDnsCISResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationDNSCloudInternetServices) @@ -148,12 +152,14 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisCreate(context context.Con func resourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a DNS configuration use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a DNS configuration use the format `//`", PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -170,45 +176,56 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Conte return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationDNSCloudInternetServices) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if !core.IsNil(configuration.ConfigType) { if err = d.Set("config_type", configuration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } } if !core.IsNil(configuration.CloudInternetServicesApikey) { if err = d.Set("cloud_internet_services_apikey", configuration.CloudInternetServicesApikey); err != nil { - return diag.FromErr(fmt.Errorf("Error setting cloud_internet_services_apikey: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting cloud_internet_services_apikey"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } } if !core.IsNil(configuration.CloudInternetServicesCrn) { if err = d.Set("cloud_internet_services_crn", configuration.CloudInternetServicesCrn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting cloud_internet_services_crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting cloud_internet_services_crn"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", configuration.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(configuration.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(configuration.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), PublicCertConfigDnsCISResourceName, "read") + return tfErr.GetDiag() } return nil @@ -217,7 +234,8 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisRead(context context.Conte func resourceIbmSmConfigurationPublicCertificateDNSCisUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsCISResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -248,7 +266,8 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisUpdate(context context.Con _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsCISResourceName, "update") + return tfErr.GetDiag() } } @@ -258,7 +277,8 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisUpdate(context context.Con func resourceIbmSmConfigurationPublicCertificateDNSCisDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsCISResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -273,7 +293,8 @@ func resourceIbmSmConfigurationPublicCertificateDNSCisDelete(context context.Con response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsCISResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go index 9b1f9f8eaf..1fa2028750 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_public_certificate_configuration_dns_classic_infrastructure.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "strings" @@ -41,13 +42,13 @@ func ResourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructure() *sche "classic_infrastructure_username": &schema.Schema{ Type: schema.TypeString, Required: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_public_certificate_configuration_dns_classic_infrastructure", "classic_infrastructure_username"), + ValidateFunc: validate.InvokeValidator(PublicCertConfigDnsClassicInfrastructureResourceName, "classic_infrastructure_username"), Description: "The username that is associated with your classic infrastructure account.In most cases, your classic infrastructure username is your `_`. For more information, see the [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).", }, "classic_infrastructure_password": &schema.Schema{ Type: schema.TypeString, Required: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_public_certificate_configuration_dns_classic_infrastructure", "classic_infrastructure_password"), + ValidateFunc: validate.InvokeValidator(PublicCertConfigDnsClassicInfrastructureResourceName, "classic_infrastructure_password"), Description: "Your classic infrastructure API key.For information about viewing and accessing your classic infrastructure API key, see the [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).", }, "secret_type": &schema.Schema{ @@ -97,14 +98,15 @@ func ResourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureValidato }, ) - resourceValidator := validate.ResourceValidator{ResourceName: "ibm_sm_public_certificate_configuration_dns_classic_infrastructure", Schema: validateSchema} + resourceValidator := validate.ResourceValidator{ResourceName: PublicCertConfigDnsClassicInfrastructureResourceName, Schema: validateSchema} return &resourceValidator } func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsClassicInfrastructureResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -127,14 +129,16 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureCreate(c } convertedModel, err := resourceIbmSmConfigurationPublicCertificateClassicInfrastructureMapToPublicCertificateConfigurationDNSClassicInfrastructurePrototype(bodyModelMap) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsClassicInfrastructureResourceName, "create") + return tfErr.GetDiag() } createConfigurationOptions.SetConfigurationPrototype(convertedModel) configurationIntf, response, err := secretsManagerClient.CreateConfigurationWithContext(context, createConfigurationOptions) if err != nil { log.Printf("[DEBUG] CreateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateConfigurationWithContext failed: %s\n%s", err.Error(), response), PublicCertConfigDnsClassicInfrastructureResourceName, "create") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationDNSClassicInfrastructure) @@ -146,12 +150,14 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureCreate(c func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a DNS configuration use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a DNS configuration use the format `//`", PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -168,45 +174,56 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureRead(con return nil } log.Printf("[DEBUG] GetConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } configuration := configurationIntf.(*secretsmanagerv2.PublicCertificateConfigurationDNSClassicInfrastructure) if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if !core.IsNil(configuration.ConfigType) { if err = d.Set("config_type", configuration.ConfigType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting config_type"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } } if !core.IsNil(configuration.ClassicInfrastructureUsername) { if err = d.Set("classic_infrastructure_username", configuration.ClassicInfrastructureUsername); err != nil { - return diag.FromErr(fmt.Errorf("Error setting classic_infrastructure_username: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting classic_infrastructure_username"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } } if !core.IsNil(configuration.ClassicInfrastructurePassword) { if err = d.Set("classic_infrastructure_password", configuration.ClassicInfrastructurePassword); err != nil { - return diag.FromErr(fmt.Errorf("Error setting classic_infrastructure_password: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting classic_infrastructure_password"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("name", configuration.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting config name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", configuration.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", configuration.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(configuration.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(configuration.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), PublicCertConfigDnsClassicInfrastructureResourceName, "read") + return tfErr.GetDiag() } return nil @@ -215,7 +232,8 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureRead(con func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsClassicInfrastructureResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -246,7 +264,8 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureUpdate(c _, response, err := secretsManagerClient.UpdateConfigurationWithContext(context, updateConfigurationOptions) if err != nil { log.Printf("[DEBUG] UpdateConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsClassicInfrastructureResourceName, "update") + return tfErr.GetDiag() } } @@ -256,7 +275,8 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureUpdate(c func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", PublicCertConfigDnsClassicInfrastructureResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -271,7 +291,8 @@ func resourceIbmSmPublicCertificateConfigurationDNSClassicInfrastructureDelete(c response, err := secretsManagerClient.DeleteConfigurationWithContext(context, deleteConfigurationOptions) if err != nil { log.Printf("[DEBUG] DeleteConfigurationWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteConfigurationWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteConfigurationWithContext failed %s\n%s", err, response), PublicCertConfigDnsClassicInfrastructureResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_secret_group.go b/ibm/service/secretsmanager/resource_ibm_sm_secret_group.go index 1c04eccab6..0fb9fbcd0b 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_secret_group.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_secret_group.go @@ -6,6 +6,7 @@ package secretsmanager import ( "context" "fmt" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "log" "strings" @@ -34,13 +35,13 @@ func ResourceIbmSmSecretGroup() *schema.Resource { "name": &schema.Schema{ Type: schema.TypeString, Required: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_secret_group", "name"), + ValidateFunc: validate.InvokeValidator(SecretGroupResourceName, "name"), Description: "The name of your secret group.", }, "description": &schema.Schema{ Type: schema.TypeString, Optional: true, - ValidateFunc: validate.InvokeValidator("ibm_sm_secret_group", "description"), + ValidateFunc: validate.InvokeValidator(SecretGroupResourceName, "description"), Description: "An extended description of your secret group.To protect your privacy, do not use personal data, such as your name or location, as a description for your secret group.", }, "created_at": &schema.Schema{ @@ -80,14 +81,15 @@ func ResourceIbmSmSecretGroupValidator() *validate.ResourceValidator { }, ) - resourceValidator := validate.ResourceValidator{ResourceName: "ibm_sm_secret_group", Schema: validateSchema} + resourceValidator := validate.ResourceValidator{ResourceName: SecretGroupResourceName, Schema: validateSchema} return &resourceValidator } func resourceIbmSmSecretGroupCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", SecretGroupResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -104,7 +106,8 @@ func resourceIbmSmSecretGroupCreate(context context.Context, d *schema.ResourceD secretGroup, response, err := secretsManagerClient.CreateSecretGroupWithContext(context, createSecretGroupOptions) if err != nil { log.Printf("[DEBUG] CreateSecretGroupWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretGroupWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretGroupWithContext failed: %s\n%s", err.Error(), response), SecretGroupResourceName, "create") + return tfErr.GetDiag() } d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *secretGroup.ID)) @@ -116,12 +119,14 @@ func resourceIbmSmSecretGroupCreate(context context.Context, d *schema.ResourceD func resourceIbmSmSecretGroupRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", SecretGroupResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret group use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret group use the format `//`", SecretGroupResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -139,29 +144,37 @@ func resourceIbmSmSecretGroupRead(context context.Context, d *schema.ResourceDat return nil } log.Printf("[DEBUG] GetSecretGroupWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretGroupWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretGroupWithContext failed %s\n%s", err, response), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secretGroupId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secretGroup.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("description", secretGroup.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secretGroup.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secretGroup.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), SecretGroupResourceName, "read") + return tfErr.GetDiag() } return nil @@ -170,7 +183,8 @@ func resourceIbmSmSecretGroupRead(context context.Context, d *schema.ResourceDat func resourceIbmSmSecretGroupUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", SecretGroupResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -202,7 +216,8 @@ func resourceIbmSmSecretGroupUpdate(context context.Context, d *schema.ResourceD _, response, err := secretsManagerClient.UpdateSecretGroupWithContext(context, updateSecretGroupOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretGroupWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretGroupWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretGroupWithContext failed %s\n%s", err, response), SecretGroupResourceName, "update") + return tfErr.GetDiag() } } @@ -212,7 +227,8 @@ func resourceIbmSmSecretGroupUpdate(context context.Context, d *schema.ResourceD func resourceIbmSmSecretGroupDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", SecretGroupResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -228,7 +244,8 @@ func resourceIbmSmSecretGroupDelete(context context.Context, d *schema.ResourceD response, err := secretsManagerClient.DeleteSecretGroupWithContext(context, deleteSecretGroupOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretGroupWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretGroupWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretGroupWithContext failed %s\n%s", err, response), SecretGroupResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_service_credentials_secret.go b/ibm/service/secretsmanager/resource_ibm_sm_service_credentials_secret.go index d2f0b337a9..b4dc68f99d 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_service_credentials_secret.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_service_credentials_secret.go @@ -307,7 +307,8 @@ func ResourceIbmSmServiceCredentialsSecret() *schema.Resource { func resourceIbmSmServiceCredentialsSecretCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -318,14 +319,16 @@ func resourceIbmSmServiceCredentialsSecretCreate(context context.Context, d *sch secretPrototypeModel, err := resourceIbmSmServiceCredentialsSecretMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), ServiceCredentialsSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ServiceCredentialsSecret) @@ -338,12 +341,14 @@ func resourceIbmSmServiceCredentialsSecretCreate(context context.Context, d *sch func resourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -361,83 +366,105 @@ func resourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schem return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.ServiceCredentialsSecret) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } rotationMap, err := resourceIbmSmServiceCredentialsSecretRotationPolicyToMap(secret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if len(rotationMap) > 0 { if err = d.Set("rotation", []map[string]interface{}{rotationMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } sourceServiceMap, err := resourceIbmSmServiceCredentialsSecretSourceServiceToMap(secret.SourceService) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } if len(sourceServiceMap) > 0 { if err = d.Set("source_service", []map[string]interface{}{sourceServiceMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting source_service: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting source_service"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if secret.Credentials != nil { @@ -445,11 +472,13 @@ func resourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schem cred, _ := json.Marshal(secret.Credentials) json.Unmarshal(cred, &credInterface) if err = d.Set("credentials", flex.Flatten(credInterface)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting credentials: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting credentials"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("next_rotation_date", DateTimeToRFC3339(secret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } // Call get version metadata API to get the current version_custom_metadata @@ -460,19 +489,22 @@ func resourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schem versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.ServiceCredentialsSecretVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } if secret.ExpirationDate != nil { if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), ServiceCredentialsSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -482,7 +514,8 @@ func resourceIbmSmServiceCredentialsSecretRead(context context.Context, d *schem func resourceIbmSmServiceCredentialsSecretUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -528,7 +561,8 @@ func resourceIbmSmServiceCredentialsSecretUpdate(context context.Context, d *sch RotationModel, err := resourceIbmSmServiceCredentialsSecretMapToRotationPolicy(d.Get("rotation").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err), ServiceCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.Rotation = RotationModel hasChange = true @@ -540,7 +574,8 @@ func resourceIbmSmServiceCredentialsSecretUpdate(context context.Context, d *sch _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), ServiceCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -561,7 +596,8 @@ func resourceIbmSmServiceCredentialsSecretUpdate(context context.Context, d *sch resourceIbmSmServiceCredentialsSecretRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), ServiceCredentialsSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -571,7 +607,8 @@ func resourceIbmSmServiceCredentialsSecretUpdate(context context.Context, d *sch func resourceIbmSmServiceCredentialsSecretDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", ServiceCredentialsSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -587,7 +624,8 @@ func resourceIbmSmServiceCredentialsSecretDelete(context context.Context, d *sch response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), ServiceCredentialsSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/resource_ibm_sm_username_password_secret.go b/ibm/service/secretsmanager/resource_ibm_sm_username_password_secret.go index 2a21a8935f..267928197a 100644 --- a/ibm/service/secretsmanager/resource_ibm_sm_username_password_secret.go +++ b/ibm/service/secretsmanager/resource_ibm_sm_username_password_secret.go @@ -9,7 +9,6 @@ import ( "github.com/IBM-Cloud/bluemix-go/bmxerror" "github.com/go-openapi/strfmt" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/pkg/errors" "log" "strings" "time" @@ -219,7 +218,8 @@ func ResourceIbmSmUsernamePasswordSecret() *schema.Resource { func resourceIbmSmUsernamePasswordSecretCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "create") + return tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) @@ -230,14 +230,16 @@ func resourceIbmSmUsernamePasswordSecretCreate(context context.Context, d *schem secretPrototypeModel, err := resourceIbmSmUsernamePasswordSecretMapToSecretPrototype(d) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "create") + return tfErr.GetDiag() } createSecretOptions.SetSecretPrototype(secretPrototypeModel) secretIntf, response, err := secretsManagerClient.CreateSecretWithContext(context, createSecretOptions) if err != nil { log.Printf("[DEBUG] CreateSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretWithContext failed: %s\n%s", err.Error(), response), UsernamePasswordSecretResourceName, "create") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.UsernamePasswordSecret) d.SetId(fmt.Sprintf("%s/%s/%s", region, instanceId, *secret.ID)) @@ -245,8 +247,8 @@ func resourceIbmSmUsernamePasswordSecretCreate(context context.Context, d *schem _, err = waitForIbmSmUsernamePasswordSecretCreate(secretsManagerClient, d) if err != nil { - return diag.FromErr(fmt.Errorf( - "Error waiting for resource IbmSmUsernamePasswordSecret (%s) to be created: %s", d.Id(), err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error waiting for resource IbmSmUsernamePasswordSecret (%s) to be created: %s", d.Id(), err.Error()), UsernamePasswordSecretResourceName, "create") + return tfErr.GetDiag() } return resourceIbmSmUsernamePasswordSecretRead(context, d, meta) @@ -287,12 +289,14 @@ func waitForIbmSmUsernamePasswordSecretCreate(secretsManagerClient *secretsmanag func resourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") if len(id) != 3 { - return diag.Errorf("Wrong format of resource ID. To import a secret use the format `//`") + tfErr := flex.TerraformErrorf(nil, "Wrong format of resource ID. To import a secret use the format `//`", UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } region := id[0] instanceId := id[1] @@ -310,92 +314,118 @@ func resourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schema. return nil } log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } secret := secretIntf.(*secretsmanagerv2.UsernamePasswordSecret) if err = d.Set("secret_id", secretId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_id"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("instance_id", instanceId); err != nil { - return diag.FromErr(fmt.Errorf("Error setting instance_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting instance_id"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("region", region); err != nil { - return diag.FromErr(fmt.Errorf("Error setting region: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting region"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_by", secret.CreatedBy); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_by"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("created_at", DateTimeToRFC3339(secret.CreatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("crn", secret.Crn); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting crn"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if secret.CustomMetadata != nil { d.Set("custom_metadata", secret.CustomMetadata) } if err = d.Set("description", secret.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting description"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("downloaded", secret.Downloaded); err != nil { - return diag.FromErr(fmt.Errorf("Error setting downloaded: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting downloaded"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if secret.Labels != nil { if err = d.Set("labels", secret.Labels); err != nil { - return diag.FromErr(fmt.Errorf("Error setting labels: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting labels"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } } if err = d.Set("locks_total", flex.IntValue(secret.LocksTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting locks_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting locks_total"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("name", secret.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting name"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_group_id", secret.SecretGroupID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_group_id: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_group_id"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("secret_type", secret.SecretType); err != nil { - return diag.FromErr(fmt.Errorf("Error setting secret_type: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secret_type"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state", flex.IntValue(secret.State)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("state_description", secret.StateDescription); err != nil { - return diag.FromErr(fmt.Errorf("Error setting state_description: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting state_description"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("updated_at", DateTimeToRFC3339(secret.UpdatedAt)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting updated_at: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting updated_at"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("versions_total", flex.IntValue(secret.VersionsTotal)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting versions_total: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting versions_total"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } rotationMap, err := resourceIbmSmUsernamePasswordSecretRotationPolicyToMap(secret.Rotation) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("rotation", []map[string]interface{}{rotationMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting rotation: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting rotation"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("expiration_date", DateTimeToRFC3339(secret.ExpirationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting expiration_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting expiration_date"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("next_rotation_date", DateTimeToRFC3339(secret.NextRotationDate)); err != nil { - return diag.FromErr(fmt.Errorf("Error setting next_rotation_date: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting next_rotation_date"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("username", secret.Username); err != nil { - return diag.FromErr(fmt.Errorf("Error setting username: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting username"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("password", secret.Password); err != nil { - return diag.FromErr(fmt.Errorf("Error setting password: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting password"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } passwordPolicyMap, err := passwordGenerationPolicyToMap(secret.PasswordGenerationPolicy) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } if err = d.Set("password_generation_policy", []map[string]interface{}{passwordPolicyMap}); err != nil { - return diag.FromErr(fmt.Errorf("Error setting password generation policy: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting password_generation_policy"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } // Call get version metadata API to get the current version_custom_metadata @@ -406,13 +436,15 @@ func resourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schema. versionMetadataIntf, response, err := secretsManagerClient.GetSecretVersionMetadataWithContext(context, getVersionMetdataOptions) if err != nil { log.Printf("[DEBUG] GetSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretVersionMetadataWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } versionMetadata := versionMetadataIntf.(*secretsmanagerv2.UsernamePasswordSecretVersionMetadata) if versionMetadata.VersionCustomMetadata != nil { if err = d.Set("version_custom_metadata", versionMetadata.VersionCustomMetadata); err != nil { - return diag.FromErr(fmt.Errorf("Error setting version_custom_metadata: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting version_custom_metadata"), UsernamePasswordSecretResourceName, "read") + return tfErr.GetDiag() } } @@ -422,7 +454,8 @@ func resourceIbmSmUsernamePasswordSecretRead(context context.Context, d *schema. func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -464,7 +497,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem RotationModel, err := resourceIbmSmUsernamePasswordSecretMapToRotationPolicy(d.Get("rotation").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading Rotation parameter failed: %s", err), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.Rotation = RotationModel hasChange = true @@ -475,13 +509,15 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem layout := time.RFC3339 parseToTime, err := time.Parse(layout, d.Get("expiration_date").(string)) if err != nil { - return diag.FromErr(errors.New(`Failed to get "expiration_date". Error: ` + err.Error())) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf(`Failed to get "expiration_date". Error: %s`, err.Error()), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } parseToDateTime := strfmt.DateTime(parseToTime) patchVals.ExpirationDate = &parseToDateTime hasChange = true } else { - return diag.FromErr(errors.New(`The "expiration_date" field cannot be removed. To disable expiration set expiration date to a far future date'`)) + tfErr := flex.TerraformErrorf(nil, `The "expiration_date" field cannot be removed. To disable expiration set expiration date to a far future date'`, UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -489,7 +525,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem passwordPolicyModel, err := mapToPasswordGenerationPolicyPatch(d.Get("password_generation_policy").([]interface{})[0].(map[string]interface{})) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed: Reading password_generation_policy parameter failed: %s", err) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed: Reading password_generation_policy parameter failed: %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed: Reading password_generation_policy parameter failed: %s", err), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } patchVals.PasswordGenerationPolicy = passwordPolicyModel hasChange = true @@ -500,7 +537,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem _, response, err := secretsManagerClient.UpdateSecretMetadataWithContext(context, updateSecretMetadataOptions) if err != nil { log.Printf("[DEBUG] UpdateSecretMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretMetadataWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -526,7 +564,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem resourceIbmSmUsernamePasswordSecretRead(context, d, meta) } log.Printf("[DEBUG] CreateSecretVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateSecretVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateSecretVersionWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } } else if d.HasChange("version_custom_metadata") { // Apply change to version_custom_metadata in current version @@ -545,7 +584,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem resourceIbmSmUsernamePasswordSecretRead(context, d, meta) } log.Printf("[DEBUG] UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateSecretVersionMetadataWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "update") + return tfErr.GetDiag() } } @@ -555,7 +595,8 @@ func resourceIbmSmUsernamePasswordSecretUpdate(context context.Context, d *schem func resourceIbmSmUsernamePasswordSecretDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", UsernamePasswordSecretResourceName, "delete") + return tfErr.GetDiag() } id := strings.Split(d.Id(), "/") @@ -571,7 +612,8 @@ func resourceIbmSmUsernamePasswordSecretDelete(context context.Context, d *schem response, err := secretsManagerClient.DeleteSecretWithContext(context, deleteSecretOptions) if err != nil { log.Printf("[DEBUG] DeleteSecretWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteSecretWithContext failed %s\n%s", err, response), UsernamePasswordSecretResourceName, "delete") + return tfErr.GetDiag() } d.SetId("") diff --git a/ibm/service/secretsmanager/utils.go b/ibm/service/secretsmanager/utils.go index da8e661425..0a481168ff 100644 --- a/ibm/service/secretsmanager/utils.go +++ b/ibm/service/secretsmanager/utils.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/secrets-manager-go-sdk/v2/secretsmanagerv2" "github.com/go-openapi/strfmt" @@ -26,6 +27,32 @@ const ( ImportedCertSecretType = "imported_cert" PublicCertSecretType = "public_cert" PrivateCertSecretType = "private_cert" + + ArbitrarySecretResourceName = "ibm_sm_arbitrary_secret" + UsernamePasswordSecretResourceName = "ibm_sm_username_password_secret" + IAMCredentialsSecretResourceName = "ibm_sm_iam_credentials_secret" + ServiceCredentialsSecretResourceName = "ibm_sm_service_credentials_secret" + KvSecretResourceName = "ibm_sm_kv_secret" + ImportedCertSecretResourceName = "ibm_sm_imported_certificate" + PublicCertSecretResourceName = "ibm_sm_public_certificate" + PrivateCertSecretResourceName = "ibm_sm_private_certificate" + + EnRegistrationResourceName = "ibm_sm_en_registration" + IAMCredentialsConfigResourceName = "ibm_sm_iam_credentials_configuration" + ConfigurationsResourceName = "ibm_sm_configurations" + PrivateCertConfigIntermediateCAResourceName = "ibm_sm_private_certificate_configuration_intermediate_ca" + PrivateCertConfigRootCAResourceName = "ibm_sm_private_certificate_configuration_root_ca" + PrivateCertConfigTemplateResourceName = "ibm_sm_private_certificate_configuration_template" + PrivateCertConfigActionSetSigned = "ibm_sm_private_certificate_configuration_action_set_signed" + PrivateCertConfigActionSignCsr = "ibm_sm_private_certificate_configuration_action_sign_csr" + PublicCertConfigCALetsEncryptResourceName = "ibm_sm_public_certificate_configuration_ca_lets_encrypt" + PublicCertConfigDnsCISResourceName = "ibm_sm_public_certificate_configuration_dns_cis" + PublicCertConfigDnsClassicInfrastructureResourceName = "ibm_sm_public_certificate_configuration_dns_classic_infrastructure" + PublicCertConfigActionValidateManualDNSResourceName = "ibm_sm_public_certificate_action_validate_manual_dns" + + SecretGroupResourceName = "ibm_sm_secret_group" + SecretGroupsResourceName = "ibm_sm_secret_groups" + SecretsResourceName = "ibm_sm_secrets" ) func getRegion(originalClient *secretsmanagerv2.SecretsManagerV2, d *schema.ResourceData) string { @@ -134,11 +161,12 @@ func DateTimeToRFC3339(dt *strfmt.DateTime) (s string) { return } -func getSecretByIdOrByName(context context.Context, d *schema.ResourceData, meta interface{}, secretType string) (secretsmanagerv2.SecretIntf, string, string, diag.Diagnostics) { +func getSecretByIdOrByName(context context.Context, d *schema.ResourceData, meta interface{}, secretType string, dataSourceName string) (secretsmanagerv2.SecretIntf, string, string, diag.Diagnostics) { secretsManagerClient, err := meta.(conns.ClientSession).SecretsManagerV2() if err != nil { - return nil, "", "", diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, "", fmt.Sprintf("(Data) %s", dataSourceName), "read") + return nil, "", "", tfErr.GetDiag() } region := getRegion(secretsManagerClient, d) instanceId := d.Get("instance_id").(string) @@ -160,7 +188,8 @@ func getSecretByIdOrByName(context context.Context, d *schema.ResourceData, meta secretIntf, response, err = secretsManagerClient.GetSecretWithContext(context, getSecretOptions) if err != nil { log.Printf("[DEBUG] GetSecretWithContext failed %s\n%s", err, response) - return nil, "", "", diag.FromErr(fmt.Errorf("GetSecretWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", dataSourceName), "read") + return nil, "", "", tfErr.GetDiag() } return secretIntf, region, instanceId, nil } @@ -176,12 +205,14 @@ func getSecretByIdOrByName(context context.Context, d *schema.ResourceData, meta secretIntf, response, err = secretsManagerClient.GetSecretByNameTypeWithContext(context, getSecretByNameOptions) if err != nil { log.Printf("[DEBUG] GetSecretByNameTypeWithContext failed %s\n%s", err, response) - return nil, "", "", diag.FromErr(fmt.Errorf("GetSecretByNameTypeWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetSecretByNameTypeWithContext failed %s\n%s", err, response), fmt.Sprintf("(Data) %s", dataSourceName), "read") + return nil, "", "", tfErr.GetDiag() } return secretIntf, region, instanceId, nil } - return nil, "", "", diag.FromErr(fmt.Errorf("Missing required arguments. Please make sure that either \"secret_id\" or \"name\" and \"secret_group_name\" are provided\n")) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Missing required arguments. Please make sure that either \"secret_id\" or \"name\" and \"secret_group_name\" are provided\n"), fmt.Sprintf("(Data) %s", dataSourceName), "read") + return nil, "", "", tfErr.GetDiag() } func secretVersionMetadataAsPatchFunction(secretVersionMetadataPatch *secretsmanagerv2.SecretVersionMetadataPatch) (_patch map[string]interface{}, err error) {