Skip to content

Commit 95d019b

Browse files
authored
Refactor terraform errors to use new toolchain in available hosts and catalog images data sources (IBM-Cloud#6407)
* Update error handling on available hosts data source * Update error handling on catalog images data source
1 parent e696479 commit 95d019b

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

ibm/service/power/data_source_ibm_pi_available_hosts.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ package power
55

66
import (
77
"context"
8+
"fmt"
9+
"log"
810

911
"github.com/IBM-Cloud/power-go-client/clients/instance"
10-
1112
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
13+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1214
"github.com/hashicorp/go-uuid"
1315
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1416
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -63,13 +65,17 @@ func DataSourceIBMPIAvailableHosts() *schema.Resource {
6365
func dataSourceIBMPIAvailableHostsRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
6466
sess, err := meta.(conns.ClientSession).IBMPISession()
6567
if err != nil {
66-
return diag.FromErr(err)
68+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_available_hosts", "read")
69+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
70+
return tfErr.GetDiag()
6771
}
6872
cloudInstanceID := d.Get(Arg_CloudInstanceID).(string)
6973
hostClient := instance.NewIBMPIHostGroupsClient(ctx, sess, cloudInstanceID)
7074
hostlist, err := hostClient.GetAvailableHosts()
7175
if err != nil {
72-
return diag.FromErr(err)
76+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetAvailableHosts failed: %s", err.Error()), "(Data) ibm_pi_available_hosts", "read")
77+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
78+
return tfErr.GetDiag()
7379
}
7480
availableHosts := []map[string]interface{}{}
7581
for _, value := range hostlist {

ibm/service/power/data_source_ibm_pi_catalog_images.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ package power
55

66
import (
77
"context"
8+
"fmt"
9+
"log"
810
"time"
911

1012
"github.com/IBM-Cloud/power-go-client/clients/instance"
1113
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
14+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1215
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1316
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1417
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -139,7 +142,9 @@ func DataSourceIBMPICatalogImages() *schema.Resource {
139142
func dataSourceIBMPICatalogImagesRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
140143
sess, err := meta.(conns.ClientSession).IBMPISession()
141144
if err != nil {
142-
return diag.FromErr(err)
145+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_catalog_images", "read")
146+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
147+
return tfErr.GetDiag()
143148
}
144149

145150
cloudInstanceID := d.Get(Arg_CloudInstanceID).(string)
@@ -148,7 +153,9 @@ func dataSourceIBMPICatalogImagesRead(ctx context.Context, d *schema.ResourceDat
148153
imageC := instance.NewIBMPIImageClient(ctx, sess, cloudInstanceID)
149154
stockImages, err := imageC.GetAllStockImages(includeSAP, includeVTL)
150155
if err != nil {
151-
return diag.FromErr(err)
156+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetAllStockImages failed: %s", err.Error()), "(Data) ibm_pi_catalog_images", "read")
157+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
158+
return tfErr.GetDiag()
152159
}
153160

154161
images := make([]map[string]interface{}, 0)

0 commit comments

Comments
 (0)