diff --git a/ibm/service/iamidentity/data_source_ibm_iam_trusted_profile_template.go b/ibm/service/iamidentity/data_source_ibm_iam_trusted_profile_template.go index 6f7f426262..0c80418fce 100644 --- a/ibm/service/iamidentity/data_source_ibm_iam_trusted_profile_template.go +++ b/ibm/service/iamidentity/data_source_ibm_iam_trusted_profile_template.go @@ -6,10 +6,11 @@ package iamidentity import ( "context" "fmt" - "github.com/IBM/go-sdk-core/v5/core" "log" "strconv" + "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" @@ -271,15 +272,16 @@ func DataSourceIBMTrustedProfileTemplate() *schema.Resource { func dataSourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } getProfileTemplateVersionOptions := &iamidentityv1.GetProfileTemplateVersionOptions{} id, version, err := parseResourceId(d.Get("template_id").(string)) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateRead failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateRead failed %s", err)) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "sep-id-parts").GetDiag() } if version == "" { version = d.Get("version").(string) @@ -292,51 +294,53 @@ func dataSourceIBMTrustedProfileTemplateRead(context context.Context, d *schema. getProfileTemplateVersionOptions.SetIncludeHistory(d.Get("include_history").(bool)) } - trustedProfileTemplateResponse, response, err := iamIdentityClient.GetProfileTemplateVersionWithContext(context, getProfileTemplateVersionOptions) + trustedProfileTemplateResponse, _, err := iamIdentityClient.GetProfileTemplateVersionWithContext(context, getProfileTemplateVersionOptions) if err != nil { - log.Printf("[DEBUG] GetProfileTemplateVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetProfileTemplateVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetProfileTemplateVersionWithContext failed: %s", err.Error()), "(Data) ibm_iam_trusted_profile_template", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId(buildResourceIdFromTemplateVersion(*trustedProfileTemplateResponse.ID, *trustedProfileTemplateResponse.Version)) if err = d.Set("id", trustedProfileTemplateResponse.ID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting id: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting account_id: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-account_id").GetDiag() } if !core.IsNil(trustedProfileTemplateResponse.Version) { versionStr := strconv.Itoa(int(*trustedProfileTemplateResponse.Version)) if err = d.Set("version", versionStr); err != nil { - return diag.FromErr(fmt.Errorf("error setting version: %s", err)) + err = fmt.Errorf("Error setting version: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "set-version").GetDiag() } } if err = d.Set("account_id", trustedProfileTemplateResponse.AccountID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting account_id: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting account_id: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-account_id").GetDiag() } if err = d.Set("name", trustedProfileTemplateResponse.Name); err != nil { - return diag.FromErr(fmt.Errorf("Error setting name: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-name").GetDiag() } if err = d.Set("description", trustedProfileTemplateResponse.Description); err != nil { - return diag.FromErr(fmt.Errorf("Error setting description: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting description: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-description").GetDiag() } if err = d.Set("committed", trustedProfileTemplateResponse.Committed); err != nil { - return diag.FromErr(fmt.Errorf("Error setting committed: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting committed: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-committed").GetDiag() } var profile []map[string]interface{} if trustedProfileTemplateResponse.Profile != nil { modelMap, err := dataSourceIBMTrustedProfileTemplateTemplateProfileComponentResponseToMap(trustedProfileTemplateResponse.Profile) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "profile-to-map").GetDiag() } profile = append(profile, modelMap) } if err = d.Set("profile", profile); err != nil { - return diag.FromErr(fmt.Errorf("Error setting profile %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting profile: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-profile").GetDiag() } var policyTemplateReferences []map[string]interface{} @@ -344,13 +348,13 @@ func dataSourceIBMTrustedProfileTemplateRead(context context.Context, d *schema. for _, modelItem := range trustedProfileTemplateResponse.PolicyTemplateReferences { modelMap, err := dataSourceIBMTrustedProfileTemplatePolicyTemplateReferenceToMap(&modelItem) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "policy_template_references-to-map").GetDiag() } policyTemplateReferences = append(policyTemplateReferences, modelMap) } } if err = d.Set("policy_template_references", policyTemplateReferences); err != nil { - return diag.FromErr(fmt.Errorf("Error setting policy_template_references %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting policy_template_references: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-policy_template_references").GetDiag() } var history []map[string]interface{} @@ -358,37 +362,37 @@ func dataSourceIBMTrustedProfileTemplateRead(context context.Context, d *schema. for _, modelItem := range trustedProfileTemplateResponse.History { modelMap, err := dataSourceIBMTrustedProfileTemplateEnityHistoryRecordToMap(&modelItem) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_iam_trusted_profile_template", "read", "history-to-map").GetDiag() } history = append(history, modelMap) } } if err = d.Set("history", history); err != nil { - return diag.FromErr(fmt.Errorf("Error setting history %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting history: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-history").GetDiag() } if err = d.Set("entity_tag", trustedProfileTemplateResponse.EntityTag); err != nil { - return diag.FromErr(fmt.Errorf("Error setting entity_tag: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting entity_tag: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-entity_tag").GetDiag() } if err = d.Set("crn", trustedProfileTemplateResponse.CRN); err != nil { - return diag.FromErr(fmt.Errorf("Error setting crn: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting crn: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-crn").GetDiag() } if err = d.Set("created_at", trustedProfileTemplateResponse.CreatedAt); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-created_at").GetDiag() } if err = d.Set("created_by_id", trustedProfileTemplateResponse.CreatedByID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting created_by_id: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_by_id: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-created_by_id").GetDiag() } if err = d.Set("last_modified_at", trustedProfileTemplateResponse.LastModifiedAt); err != nil { - return diag.FromErr(fmt.Errorf("Error setting last_modified_at: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting last_modified_at: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-last_modified_at").GetDiag() } if err = d.Set("last_modified_by_id", trustedProfileTemplateResponse.LastModifiedByID); err != nil { - return diag.FromErr(fmt.Errorf("Error setting last_modified_by_id: %s", err)) + return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting last_modified_by_id: %s", err), "(Data) ibm_iam_trusted_profile_template", "read", "set-last_modified_by_id").GetDiag() } return nil diff --git a/ibm/service/iamidentity/resource_ibm_iam_trusted_profile_template.go b/ibm/service/iamidentity/resource_ibm_iam_trusted_profile_template.go index 586d06d2ec..3ed60958f6 100644 --- a/ibm/service/iamidentity/resource_ibm_iam_trusted_profile_template.go +++ b/ibm/service/iamidentity/resource_ibm_iam_trusted_profile_template.go @@ -268,7 +268,9 @@ func ResourceIBMTrustedProfileTemplate() *schema.Resource { func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } if _, ok := d.GetOk("template_id"); ok { // if template_id is present then we need to create a new version of this template instead @@ -286,7 +288,7 @@ func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema. if _, ok := d.GetOk("profile"); ok { profileModel, err := resourceIBMTrustedProfileTemplateMapToTemplateProfileComponentRequest(d.Get("profile.0").(map[string]interface{})) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "parse-profile").GetDiag() } createProfileTemplateOptions.SetProfile(profileModel) } @@ -296,7 +298,7 @@ func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema. value := v.(map[string]interface{}) policyTemplateReferencesItem, err := resourceIBMTrustedProfileTemplateMapToPolicyTemplateReference(value) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "parse-policy_template_references").GetDiag() } policyTemplateReferences = append(policyTemplateReferences, *policyTemplateReferencesItem) } @@ -307,10 +309,11 @@ func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema. accountID := userDetails.UserAccount createProfileTemplateOptions.SetAccountID(accountID) - trustedProfileTemplateResponse, response, err := iamIdentityClient.CreateProfileTemplateWithContext(context, createProfileTemplateOptions) + trustedProfileTemplateResponse, _, err := iamIdentityClient.CreateProfileTemplateWithContext(context, createProfileTemplateOptions) if err != nil { - log.Printf("[DEBUG] CreateProfileTemplateWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateProfileTemplateWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateProfileTemplateWithContext failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "create") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId(buildResourceIdFromTemplateVersion(*trustedProfileTemplateResponse.ID, *trustedProfileTemplateResponse.Version)) @@ -318,8 +321,9 @@ func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema. if d.Get("committed").(bool) { err := resourceIBMTrustedProfileTemplateCommit(context, d, meta) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateCommit failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateCommit failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("resourceIBMAccountSettingsTemplateCommit failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "create") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } } @@ -329,15 +333,18 @@ func resourceIBMTrustedProfileTemplateCreate(context context.Context, d *schema. func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } createProfileTemplateVersionOptions := &iamidentityv1.CreateProfileTemplateVersionOptions{} id, _, err := parseResourceId(d.Get("template_id").(string)) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateRead failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateRead failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("resourceIBMAccountSettingsTemplateRead failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "create") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } createProfileTemplateVersionOptions.SetTemplateID(id) @@ -351,7 +358,7 @@ func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d * if _, ok := d.GetOk("profile"); ok { profileModel, err := resourceIBMTrustedProfileTemplateMapToTemplateProfileComponentRequest(d.Get("profile.0").(map[string]interface{})) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "parse-profile").GetDiag() } createProfileTemplateVersionOptions.SetProfile(profileModel) } @@ -361,7 +368,7 @@ func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d * value := v.(map[string]interface{}) policyTemplateReferencesItem, err := resourceIBMTrustedProfileTemplateMapToPolicyTemplateReference(value) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "create", "parse-policy_template_references").GetDiag() } policyTemplateReferences = append(policyTemplateReferences, *policyTemplateReferencesItem) } @@ -372,10 +379,11 @@ func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d * accountID := userDetails.UserAccount createProfileTemplateVersionOptions.SetAccountID(accountID) - trustedProfileTemplateVersionResponse, response, err := iamIdentityClient.CreateProfileTemplateVersionWithContext(context, createProfileTemplateVersionOptions) + trustedProfileTemplateVersionResponse, _, err := iamIdentityClient.CreateProfileTemplateVersionWithContext(context, createProfileTemplateVersionOptions) if err != nil { - log.Printf("[DEBUG] CreateProfileTemplateWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("CreateProfileTemplateWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("CreateProfileTemplateVersionWithContext failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "create") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId(buildResourceIdFromTemplateVersion(*trustedProfileTemplateVersionResponse.ID, *trustedProfileTemplateVersionResponse.Version)) @@ -383,8 +391,9 @@ func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d * if d.Get("committed").(bool) { err := resourceIBMTrustedProfileTemplateCommit(context, d, meta) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateCommit failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateCommit failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("resourceIBMAccountSettingsTemplateCommit failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "create") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } } @@ -394,15 +403,16 @@ func resourceIBMTrustedProfileTemplateCreateVersion(context context.Context, d * func resourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } getProfileTemplateVersionOptions := &iamidentityv1.GetProfileTemplateVersionOptions{} id, version, err := parseResourceId(d.Id()) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateRead failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateRead failed %s", err)) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "sep-id-parts").GetDiag() } getProfileTemplateVersionOptions.SetTemplateID(id) @@ -414,37 +424,43 @@ func resourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.Re d.SetId("") return nil } - log.Printf("[DEBUG] GetProfileTemplateVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("GetProfileTemplateVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetProfileTemplateVersionWithContext failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } if !core.IsNil(trustedProfileTemplateResponse.Version) { if err = d.Set("version", trustedProfileTemplateResponse.Version); err != nil { - return diag.FromErr(fmt.Errorf("error setting version: %s", err)) + err = fmt.Errorf("Error setting version: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-version").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.AccountID) { if err = d.Set("account_id", trustedProfileTemplateResponse.AccountID); err != nil { - return diag.FromErr(fmt.Errorf("error setting account_id: %s", err)) + err = fmt.Errorf("Error setting account_id: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-account_id").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.Name) { if err = d.Set("name", trustedProfileTemplateResponse.Name); err != nil { - return diag.FromErr(fmt.Errorf("error setting name: %s", err)) + err = fmt.Errorf("Error setting name: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-name").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.Description) { if err = d.Set("description", trustedProfileTemplateResponse.Description); err != nil { - return diag.FromErr(fmt.Errorf("error setting description: %s", err)) + err = fmt.Errorf("Error setting description: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-description").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.Profile) { profileMap, err := resourceIBMTrustedProfileTemplateTemplateProfileComponentResponseToMap(trustedProfileTemplateResponse.Profile) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "profile-to-map").GetDiag() } if err = d.Set("profile", []map[string]interface{}{profileMap}); err != nil { - return diag.FromErr(fmt.Errorf("error setting profile: %s", err)) + err = fmt.Errorf("Error setting profile: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-profile").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.PolicyTemplateReferences) { @@ -452,20 +468,23 @@ func resourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.Re for _, policyTemplateReferencesItem := range trustedProfileTemplateResponse.PolicyTemplateReferences { policyTemplateReferencesItemMap, err := resourceIBMTrustedProfileTemplatePolicyTemplateReferenceToMap(&policyTemplateReferencesItem) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "policy_template_references-to-map").GetDiag() } policyTemplateReferences = append(policyTemplateReferences, policyTemplateReferencesItemMap) } if err = d.Set("policy_template_references", policyTemplateReferences); err != nil { - return diag.FromErr(fmt.Errorf("error setting policy_template_references: %s", err)) + err = fmt.Errorf("Error setting policy_template_references: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-policy_template_references").GetDiag() } } if err = d.Set("id", trustedProfileTemplateResponse.ID); err != nil { - return diag.FromErr(fmt.Errorf("error setting id: %s", err)) + err = fmt.Errorf("Error setting id: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-id").GetDiag() } if !core.IsNil(trustedProfileTemplateResponse.Committed) { if err = d.Set("committed", trustedProfileTemplateResponse.Committed); err != nil { - return diag.FromErr(fmt.Errorf("error setting committed: %s", err)) + err = fmt.Errorf("Error setting committed: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-committed").GetDiag() } } var history []map[string]interface{} @@ -473,43 +492,50 @@ func resourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.Re for _, historyItem := range trustedProfileTemplateResponse.History { historyItemMap, err := resourceIBMTrustedProfileTemplateEntityHistoryRecordToMap(&historyItem) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "history-to-map").GetDiag() } history = append(history, historyItemMap) } } if err = d.Set("history", history); err != nil { - return diag.FromErr(fmt.Errorf("error setting history: %s", err)) + err = fmt.Errorf("Error setting history: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-history").GetDiag() } if !core.IsNil(trustedProfileTemplateResponse.EntityTag) { if err = d.Set("entity_tag", trustedProfileTemplateResponse.EntityTag); err != nil { - return diag.FromErr(fmt.Errorf("error setting entity_tag: %s", err)) + err = fmt.Errorf("Error setting entity_tag: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-entity_tag").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.CRN) { if err = d.Set("crn", trustedProfileTemplateResponse.CRN); err != nil { - return diag.FromErr(fmt.Errorf("error setting crn: %s", err)) + err = fmt.Errorf("Error setting crn: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-crn").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.CreatedAt) { if err = d.Set("created_at", trustedProfileTemplateResponse.CreatedAt); err != nil { - return diag.FromErr(fmt.Errorf("error setting created_at: %s", err)) + err = fmt.Errorf("Error setting created_at: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-created_at").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.CreatedByID) { if err = d.Set("created_by_id", trustedProfileTemplateResponse.CreatedByID); err != nil { - return diag.FromErr(fmt.Errorf("error setting created_by_id: %s", err)) + err = fmt.Errorf("Error setting created_by_id: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-created_by_id").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.LastModifiedAt) { if err = d.Set("last_modified_at", trustedProfileTemplateResponse.LastModifiedAt); err != nil { - return diag.FromErr(fmt.Errorf("error setting last_modified_at: %s", err)) + err = fmt.Errorf("Error setting last_modified_at: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-last_modified_at").GetDiag() } } if !core.IsNil(trustedProfileTemplateResponse.LastModifiedByID) { if err = d.Set("last_modified_by_id", trustedProfileTemplateResponse.LastModifiedByID); err != nil { - return diag.FromErr(fmt.Errorf("error setting last_modified_by_id: %s", err)) + err = fmt.Errorf("Error setting last_modified_by_id: %s", err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "read", "set-last_modified_by_id").GetDiag() } } @@ -519,15 +545,16 @@ func resourceIBMTrustedProfileTemplateRead(context context.Context, d *schema.Re func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "update", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } updateProfileTemplateVersionOptions := &iamidentityv1.UpdateProfileTemplateVersionOptions{} id, version, err := parseResourceId(d.Id()) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateUpdate failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateUpdate failed %s", err)) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "update", "sep-id-parts").GetDiag() } updateProfileTemplateVersionOptions.SetTemplateID(id) @@ -547,7 +574,7 @@ func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema. if d.HasChange("profile") { profile, err := resourceIBMTrustedProfileTemplateMapToTemplateProfileComponentRequest(d.Get("profile.0").(map[string]interface{})) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "update", "parse-profile").GetDiag() } updateProfileTemplateVersionOptions.SetProfile(profile) hasChange = true @@ -558,7 +585,7 @@ func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema. value := v.(map[string]interface{}) policyTemplateReferencesItem, err := resourceIBMTrustedProfileTemplateMapToPolicyTemplateReference(value) if err != nil { - return diag.FromErr(err) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "update", "parse-policy_template_references").GetDiag() } policyTemplateReferences = append(policyTemplateReferences, *policyTemplateReferencesItem) } @@ -567,10 +594,11 @@ func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema. } if hasChange { - _, response, err := iamIdentityClient.UpdateProfileTemplateVersionWithContext(context, updateProfileTemplateVersionOptions) + _, _, err := iamIdentityClient.UpdateProfileTemplateVersionWithContext(context, updateProfileTemplateVersionOptions) if err != nil { - log.Printf("[DEBUG] UpdateProfileTemplateVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("UpdateProfileTemplateVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("UpdateProfileTemplateVersionWithContext failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "update") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } } @@ -578,8 +606,9 @@ func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema. if d.Get("committed").(bool) { err := resourceIBMTrustedProfileTemplateCommit(context, d, meta) if err != nil { - log.Printf("[DEBUG] resourceIBMTrustedProfileTemplateCommit failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMTrustedProfileTemplateCommit failed %s", err)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("resourceIBMTrustedProfileTemplateCommit failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "update") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } } else { return diag.FromErr(fmt.Errorf("A committed template cannot be uncommitted")) @@ -592,24 +621,26 @@ func resourceIBMTrustedProfileTemplateUpdate(context context.Context, d *schema. func resourceIBMTrustedProfileTemplateDelete(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { iamIdentityClient, err := meta.(conns.ClientSession).IAMIdentityV1API() if err != nil { - return diag.FromErr(err) + tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "delete", "initialize-client") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } deleteProfileTemplateVersionOptions := &iamidentityv1.DeleteProfileTemplateVersionOptions{} id, version, err := parseResourceId(d.Id()) if err != nil { - log.Printf("[DEBUG] resourceIBMAccountSettingsTemplateDelete failed %s", err) - return diag.FromErr(fmt.Errorf("resourceIBMAccountSettingsTemplateDelete failed %s", err)) + return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_iam_trusted_profile_template", "delete", "sep-id-parts").GetDiag() } deleteProfileTemplateVersionOptions.SetTemplateID(id) deleteProfileTemplateVersionOptions.SetVersion(version) - response, err := iamIdentityClient.DeleteProfileTemplateVersionWithContext(context, deleteProfileTemplateVersionOptions) + _, err = iamIdentityClient.DeleteProfileTemplateVersionWithContext(context, deleteProfileTemplateVersionOptions) if err != nil { - log.Printf("[DEBUG] DeleteProfileTemplateVersionWithContext failed %s\n%s", err, response) - return diag.FromErr(fmt.Errorf("DeleteProfileTemplateVersionWithContext failed %s\n%s", err, response)) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("DeleteProfileTemplateVersionWithContext failed: %s", err.Error()), "ibm_iam_trusted_profile_template", "delete") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId("")