Skip to content

Commit 50659df

Browse files
committed
enhancement: improved error handling for vpc backup policy
1 parent 47ea841 commit 50659df

8 files changed

+199
-115
lines changed

ibm/service/vpc/data_source_ibm_is_backup_policies.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ func DataSourceIBMIsBackupPolicies() *schema.Resource {
240240
func dataSourceIBMIsBackupPoliciesRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
241241
sess, err := vpcClient(meta)
242242
if err != nil {
243-
return diag.FromErr(err)
243+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("vpcClient creation failed: %s", err.Error()), "(Data) ibm_is_backup_policies", "read")
244+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
245+
return tfErr.GetDiag()
244246
}
245247

246248
start := ""
@@ -277,8 +279,10 @@ func dataSourceIBMIsBackupPoliciesRead(context context.Context, d *schema.Resour
277279
}
278280
backupPolicyCollection, response, err := sess.ListBackupPoliciesWithContext(context, listBackupPoliciesOptions)
279281
if err != nil {
280-
log.Printf("[DEBUG] ListBackupPoliciesWithContext failed %s\n%s", err, response)
281-
return diag.FromErr(fmt.Errorf("[ERROR] ListBackupPoliciesWithContext failed %s\n%s", err, response))
282+
err = fmt.Errorf("[ERROR] ListBackupPoliciesWithContext failed %s\n%s", err, response)
283+
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_is_backup_policies", "read")
284+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
285+
return tfErr.GetDiag()
282286
}
283287
if backupPolicyCollection != nil && *backupPolicyCollection.TotalCount == int64(0) {
284288
break
@@ -299,7 +303,9 @@ func dataSourceIBMIsBackupPoliciesRead(context context.Context, d *schema.Resour
299303
if matchBackupPolicies != nil {
300304
err = d.Set("backup_policies", dataSourceBackupPolicyCollectionFlattenBackupPolicies(matchBackupPolicies))
301305
if err != nil {
302-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting backup_policies %s", err))
306+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting backup_policies %s", err), "(Data) ibm_is_backup_policies", "read")
307+
log.Printf("[DEBUG] %s", tfErr.GetDebugMessage())
308+
return tfErr.GetDiag()
303309
}
304310
}
305311

ibm/service/vpc/data_source_ibm_is_backup_policy.go

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,9 @@ func DataSourceIBMIsBackupPolicy() *schema.Resource {
220220
func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
221221
sess, err := vpcClient(meta)
222222
if err != nil {
223-
return diag.FromErr(err)
223+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("vpcClient creation failed: %s", err.Error()), "(Data) ibm_is_backup_policy", "read")
224+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
225+
return tfErr.GetDiag()
224226
}
225227
var backupPolicy *vpcv1.BackupPolicy
226228

@@ -231,8 +233,9 @@ func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.Resource
231233
getBackupPolicyOptions.SetID(id)
232234
backupPolicyInfo, response, err := sess.GetBackupPolicyWithContext(context, getBackupPolicyOptions)
233235
if err != nil {
234-
log.Printf("[DEBUG] GetBackupPolicyWithContext failed %s\n%s", err, response)
235-
return diag.FromErr(fmt.Errorf("[ERROR] GetBackupPolicyWithContext failed %s\n%s", err, response))
236+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetBackupPolicyWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_is_backup_policy", "read")
237+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
238+
return tfErr.GetDiag()
236239
}
237240
backupPolicy = backupPolicyInfo.(*vpcv1.BackupPolicy)
238241

@@ -248,8 +251,9 @@ func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.Resource
248251
}
249252
backupPolicyCollection, response, err := sess.ListBackupPoliciesWithContext(context, listBackupPoliciesOptions)
250253
if err != nil {
251-
log.Printf("[DEBUG] ListBackupPoliciesWithContext failed %s\n%s", err, response)
252-
return diag.FromErr(fmt.Errorf("[ERROR] ListBackupPoliciesWithContext failed %s\n%s", err, response))
254+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListBackupPoliciesWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_is_backup_policy", "read")
255+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
256+
return tfErr.GetDiag()
253257
}
254258
if backupPolicyCollection != nil && *backupPolicyCollection.TotalCount == int64(0) {
255259
break
@@ -270,37 +274,40 @@ func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.Resource
270274
}
271275
}
272276
if backupPolicy == nil {
273-
return diag.FromErr(fmt.Errorf("[ERROR] No backup policy found with name (%s)", name))
277+
err = fmt.Errorf("[ERROR] No backup policy found with name (%s)", name)
278+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListBackupPoliciesWithContext failed: %s", err.Error()), "(Data) ibm_is_backup_policy", "read")
279+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
280+
return tfErr.GetDiag()
274281
}
275282
}
276283

277284
d.SetId(*backupPolicy.ID)
278285

279286
if err = d.Set("created_at", backupPolicy.CreatedAt.String()); err != nil {
280-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting created_at: %s", err))
287+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_backup_policy", "read", "set-created_at").GetDiag()
281288
}
282289
if err = d.Set("crn", backupPolicy.CRN); err != nil {
283-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting crn: %s", err))
290+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting crn: %s", err), "(Data) ibm_is_backup_policy", "read", "set-crn").GetDiag()
284291
}
285292
if err = d.Set("href", backupPolicy.Href); err != nil {
286-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting href: %s", err))
293+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_backup_policy", "read", "set-href").GetDiag()
287294
}
288295
if backupPolicy.LastJobCompletedAt != nil {
289296
if err = d.Set("last_job_completed_at", backupPolicy.LastJobCompletedAt.String()); err != nil {
290-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting last_job_completed_at: %s", err))
297+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting last_job_completed_at: %s", err), "(Data) ibm_is_backup_policy", "read", "set-last_job_completed_at").GetDiag()
291298
}
292299
}
293300
if err = d.Set("lifecycle_state", backupPolicy.LifecycleState); err != nil {
294-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting lifecycle_state: %s", err))
301+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_state: %s", err), "(Data) ibm_is_backup_policy", "read", "set-lifecycle_state").GetDiag()
295302
}
296303
if err = d.Set("name", backupPolicy.Name); err != nil {
297-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting name: %s", err))
304+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_backup_policy", "read", "set-name").GetDiag()
298305
}
299306

300307
if backupPolicy.Plans != nil {
301308
err = d.Set("plans", dataSourceBackupPolicyFlattenPlans(backupPolicy.Plans))
302309
if err != nil {
303-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting plans %s", err))
310+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting plans: %s", err), "(Data) ibm_is_backup_policy", "read", "set-plans").GetDiag()
304311
}
305312
}
306313

@@ -320,28 +327,28 @@ func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.Resource
320327
d.Set("health_reasons", healthReasonsList)
321328
}
322329
if err = d.Set("health_state", backupPolicy.HealthState); err != nil {
323-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting health_state: %s", err))
330+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting health_state: %s", err), "(Data) ibm_is_backup_policy", "read", "set-health_state").GetDiag()
324331
}
325332

326333
if backupPolicy.Scope != nil {
327334
err = d.Set("scope", dataSourceBackupPolicyFlattenScope(*backupPolicy.Scope.(*vpcv1.BackupPolicyScope)))
328335
if err != nil {
329-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting scope: %s", err))
336+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting scope: %s", err), "(Data) ibm_is_backup_policy", "read", "set-scope").GetDiag()
330337
}
331338
}
332339

333340
if backupPolicy.MatchResourceType != nil {
334341
if err = d.Set("match_resource_types", []string{*backupPolicy.MatchResourceType}); err != nil {
335-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting match_resource_types: %s", err))
342+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting match_resource_types: %s", err), "(Data) ibm_is_backup_policy", "read", "set-match_resource_types").GetDiag()
336343
}
337344
if err = d.Set("match_resource_type", *backupPolicy.MatchResourceType); err != nil {
338-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting match_resource_type: %s", err))
345+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting match_resource_type: %s", err), "(Data) ibm_is_backup_policy", "read", "set-match_resource_type").GetDiag()
339346
}
340347
}
341348

342349
if backupPolicy.IncludedContent != nil {
343350
if err = d.Set("included_content", backupPolicy.IncludedContent); err != nil {
344-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting included_content: %s", err))
351+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting included_content: %s", err), "(Data) ibm_is_backup_policy", "read", "set-included_content").GetDiag()
345352
}
346353
}
347354

@@ -356,11 +363,11 @@ func dataSourceIBMIsBackupPolicyRead(context context.Context, d *schema.Resource
356363
if backupPolicy.ResourceGroup != nil {
357364
err = d.Set("resource_group", dataSourceBackupPolicyFlattenResourceGroup(*backupPolicy.ResourceGroup))
358365
if err != nil {
359-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_group %s", err))
366+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_group: %s", err), "(Data) ibm_is_backup_policy", "read", "set-resource_group").GetDiag()
360367
}
361368
}
362369
if err = d.Set("resource_type", backupPolicy.ResourceType); err != nil {
363-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_type: %s", err))
370+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_backup_policy", "read", "set-resource_type").GetDiag()
364371
}
365372

366373
return nil

ibm/service/vpc/data_source_ibm_is_backup_policy_job.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,9 @@ func DataSourceIBMIsBackupPolicyJob() *schema.Resource {
412412
func dataSourceIBMIsBackupPolicyJobRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
413413
vpcClient, err := vpcClient(meta)
414414
if err != nil {
415-
return diag.FromErr(err)
415+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("vpcClient creation failed: %s", err.Error()), "(Data) ibm_is_backup_policy_job", "read")
416+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
417+
return tfErr.GetDiag()
416418
}
417419

418420
getBackupPolicyJobOptions := &vpcv1.GetBackupPolicyJobOptions{}

ibm/service/vpc/data_source_ibm_is_backup_policy_jobs.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,9 @@ func DataSourceIBMIsBackupPolicyJobs() *schema.Resource {
454454
func dataSourceIBMIsBackupPolicyJobsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
455455
vpcClient, err := vpcClient(meta)
456456
if err != nil {
457-
return diag.FromErr(err)
457+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("vpcClient creation failed: %s", err.Error()), "(Data) ibm_is_backup_policy_jobs", "read")
458+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
459+
return tfErr.GetDiag()
458460
}
459461

460462
listBackupPolicyJobsOptions := &vpcv1.ListBackupPolicyJobsOptions{}
@@ -509,8 +511,10 @@ func dataSourceIBMIsBackupPolicyJobsRead(context context.Context, d *schema.Reso
509511

510512
backupPolicyJobCollection, response, err := vpcClient.ListBackupPolicyJobsWithContext(context, listBackupPolicyJobsOptions)
511513
if err != nil {
512-
log.Printf("[DEBUG] ListBackupPolicyJobsWithContext failed %s\n%s", err, response)
513-
return diag.FromErr(fmt.Errorf("ListBackupPolicyJobsWithContext failed %s\n%s", err, response))
514+
err = fmt.Errorf("[ERROR] ListBackupPolicyJobsWithContext failed %s\n%s", err, response)
515+
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_is_backup_policy_jobs", "read")
516+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
517+
return tfErr.GetDiag()
514518
}
515519

516520
if backupPolicyJobCollection != nil && *backupPolicyJobCollection.TotalCount == int64(0) {
@@ -528,7 +532,8 @@ func dataSourceIBMIsBackupPolicyJobsRead(context context.Context, d *schema.Reso
528532
if allrecs != nil {
529533
err = d.Set("jobs", dataSourceBackupPolicyJobCollectionFlattenJobs(allrecs))
530534
if err != nil {
531-
return diag.FromErr(fmt.Errorf("Error setting jobs %s", err))
535+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting jobs %s", err), "(Data) ibm_is_backup_policy_jobs", "read")
536+
return tfErr.GetDiag()
532537
}
533538
}
534539

ibm/service/vpc/data_source_ibm_is_backup_policy_plan.go

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,9 @@ func DataSourceIBMIsBackupPolicyPlan() *schema.Resource {
149149
func dataSourceIBMIsBackupPolicyPlanRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
150150
sess, err := vpcClient(meta)
151151
if err != nil {
152-
return diag.FromErr(err)
152+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("vpcClient creation failed: %s", err.Error()), "(Data) ibm_is_backup_policy_plan", "read")
153+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
154+
return tfErr.GetDiag()
153155
}
154156
var backupPolicyPlan *vpcv1.BackupPolicyPlan
155157

@@ -162,8 +164,9 @@ func dataSourceIBMIsBackupPolicyPlanRead(context context.Context, d *schema.Reso
162164

163165
backupPolicyPlanInfo, response, err := sess.GetBackupPolicyPlanWithContext(context, getBackupPolicyPlanOptions)
164166
if err != nil {
165-
log.Printf("[DEBUG] GetBackupPolicyPlanWithContext failed %s\n%s", err, response)
166-
return diag.FromErr(fmt.Errorf("[ERROR] GetBackupPolicyPlanWithContext failed %s\n%s", err, response))
167+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetBackupPolicyPlanWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_is_backup_policy_plan", "read")
168+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
169+
return tfErr.GetDiag()
167170
}
168171
backupPolicyPlan = backupPolicyPlanInfo
169172
} else if v, ok := d.GetOk("name"); ok {
@@ -175,8 +178,9 @@ func dataSourceIBMIsBackupPolicyPlanRead(context context.Context, d *schema.Reso
175178

176179
backupPolicyPlanCollection, response, err := sess.ListBackupPolicyPlansWithContext(context, listBackupPolicyPlansOptions)
177180
if err != nil {
178-
log.Printf("[DEBUG] ListBackupPolicyPlansWithContext failed %s\n%s", err, response)
179-
return diag.FromErr(fmt.Errorf("[ERROR] ListBackupPolicyPlansWithContext failed %s\n%s", err, response))
181+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListBackupPolicyPlansWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_is_backup_policy_plan", "read")
182+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
183+
return tfErr.GetDiag()
180184
}
181185
for _, backupPolicyPlanInfo := range backupPolicyPlanCollection.Plans {
182186
if *backupPolicyPlanInfo.Name == name {
@@ -185,32 +189,35 @@ func dataSourceIBMIsBackupPolicyPlanRead(context context.Context, d *schema.Reso
185189
}
186190
}
187191
if backupPolicyPlan == nil {
188-
return diag.FromErr(fmt.Errorf("[ERROR] No backup policy plan found with name (%s)", name))
192+
err = fmt.Errorf("[ERROR] No backup policy plan found with name (%s)", name)
193+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListBackupPolicyPlansWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_is_backup_policy_plan", "read")
194+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
195+
return tfErr.GetDiag()
189196
}
190197
}
191198

192199
d.SetId(*backupPolicyPlan.ID)
193200

194201
if err = d.Set("active", backupPolicyPlan.Active); err != nil {
195-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting active: %s", err))
202+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting active: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-active").GetDiag()
196203
}
197204
if err = d.Set("attach_user_tags", backupPolicyPlan.AttachUserTags); err != nil {
198-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting attach_user_tags: %s", err))
205+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting active: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-attach_user_tags").GetDiag()
199206
}
200207
if err = d.Set("copy_user_tags", backupPolicyPlan.CopyUserTags); err != nil {
201-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting copy_user_tags: %s", err))
208+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting copy_user_tags: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-copy_user_tags").GetDiag()
202209
}
203210
if err = d.Set("created_at", flex.DateTimeToString(backupPolicyPlan.CreatedAt)); err != nil {
204-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting created_at: %s", err))
211+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-created_at").GetDiag()
205212
}
206213
if err = d.Set("cron_spec", backupPolicyPlan.CronSpec); err != nil {
207-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting cron_spec: %s", err))
214+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting cron_spec: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-cron_spec").GetDiag()
208215
}
209216

210217
if backupPolicyPlan.DeletionTrigger != nil {
211218
err = d.Set("deletion_trigger", dataSourceBackupPolicyPlanFlattenDeletionTrigger(*backupPolicyPlan.DeletionTrigger))
212219
if err != nil {
213-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting deletion_trigger %s", err))
220+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting deletion_trigger: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-deletion_trigger").GetDiag()
214221
}
215222
}
216223
if backupPolicyPlan.ClonePolicy != nil {
@@ -231,29 +238,29 @@ func dataSourceIBMIsBackupPolicyPlanRead(context context.Context, d *schema.Reso
231238
d.Set("clone_policy", backupPolicyPlanClonePolicyMap)
232239
}
233240
if err = d.Set("href", backupPolicyPlan.Href); err != nil {
234-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting href: %s", err))
241+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-href").GetDiag()
235242
}
236243
if err = d.Set("lifecycle_state", backupPolicyPlan.LifecycleState); err != nil {
237-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting lifecycle_state: %s", err))
244+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_state: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-lifecycle_state").GetDiag()
238245
}
239246
if err = d.Set("name", backupPolicyPlan.Name); err != nil {
240-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting name: %s", err))
247+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-name").GetDiag()
241248
}
242249
remoteRegionPolicies := []map[string]interface{}{}
243250
if backupPolicyPlan.RemoteRegionPolicies != nil {
244251
for _, remoteCopyPolicy := range backupPolicyPlan.RemoteRegionPolicies {
245252
remoteRegionPoliciesMap, err := dataSourceIBMIsVPCBackupPolicyPlanRemoteCopyPolicyItemToMap(&remoteCopyPolicy)
246253
if err != nil {
247-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting remote copy policies: %s", err))
254+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_backup_policy_plan", "read", "remote_region_policies-to-map").GetDiag()
248255
}
249256
remoteRegionPolicies = append(remoteRegionPolicies, remoteRegionPoliciesMap)
250257
}
251258
}
252259
if err = d.Set("remote_region_policy", remoteRegionPolicies); err != nil {
253-
return diag.FromErr(fmt.Errorf("Error setting remote_region_policy %s", err))
260+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting remote_region_policies: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-remote_region_policies").GetDiag()
254261
}
255262
if err = d.Set("resource_type", backupPolicyPlan.ResourceType); err != nil {
256-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_type: %s", err))
263+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_backup_policy_plan", "read", "set-resource_type").GetDiag()
257264
}
258265

259266
return nil

0 commit comments

Comments
 (0)