Skip to content

Commit 863aeff

Browse files
authored
fix(cis): update error toolchain changes for cis (IBM-Cloud#6300)
1 parent 17fd784 commit 863aeff

35 files changed

+404
-247
lines changed

ibm/service/cis/data_source_ibm_cis.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"net/url"
98

109
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -125,7 +124,7 @@ func dataSourceIBMCISInstanceRead(d *schema.ResourceData, meta interface{}) erro
125124

126125
serviceOff, err := rsCatRepo.FindByName(service.(string), true)
127126
if err != nil {
128-
return fmt.Errorf("[ERROR] Error retrieving service offering: %s", err)
127+
return flex.FmtErrorf("[ERROR] Error retrieving service offering: %s", err)
129128
}
130129

131130
rsInstQuery.ServiceID = serviceOff[0].ID
@@ -152,13 +151,13 @@ func dataSourceIBMCISInstanceRead(d *schema.ResourceData, meta interface{}) erro
152151
}
153152

154153
if len(filteredInstances) == 0 {
155-
return fmt.Errorf("[ERROR] No resource instance found with name [%s]\nIf not specified please specify more filters like resource_group_id if instance doesn't exists in default group, location or service", name)
154+
return flex.FmtErrorf("[ERROR] No resource instance found with name [%s]\nIf not specified please specify more filters like resource_group_id if instance doesn't exists in default group, location or service", name)
156155
}
157156

158157
var instance models.ServiceInstanceV2
159158

160159
if len(filteredInstances) > 1 {
161-
return fmt.Errorf("[ERROR] More than one resource instance found with name matching [%s]\nIf not specified please specify more filters like resource_group_id if instance doesn't exists in default group, location or service", name)
160+
return flex.FmtErrorf("[ERROR] More than one resource instance found with name matching [%s]\nIf not specified please specify more filters like resource_group_id if instance doesn't exists in default group, location or service", name)
162161
}
163162
instance = filteredInstances[0]
164163

@@ -169,14 +168,14 @@ func dataSourceIBMCISInstanceRead(d *schema.ResourceData, meta interface{}) erro
169168
d.Set("guid", instance.Guid)
170169
serviceOff, err := rsCatRepo.GetServiceName(instance.ServiceID)
171170
if err != nil {
172-
return fmt.Errorf("[ERROR] Error retrieving service offering: %s", err)
171+
return flex.FmtErrorf("[ERROR] Error retrieving service offering: %s", err)
173172
}
174173

175174
d.Set("service", serviceOff)
176175

177176
servicePlan, err := rsCatRepo.GetServicePlanName(instance.ResourcePlanID)
178177
if err != nil {
179-
return fmt.Errorf("[ERROR] Error retrieving plan: %s", err)
178+
return flex.FmtErrorf("[ERROR] Error retrieving plan: %s", err)
180179
}
181180
d.Set("plan", servicePlan)
182181

ibm/service/cis/data_source_ibm_cis_alert_webhooks.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
package cis
55

66
import (
7-
"fmt"
87
"time"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
10+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1111
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/validate"
1212
"github.com/IBM/go-sdk-core/v5/core"
1313
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -80,15 +80,15 @@ func DataSourceIBMCISAlertWebhooksValidator() *validate.ResourceValidator {
8080
func dataIBMCISWebhookRead(d *schema.ResourceData, meta interface{}) error {
8181
sess, err := meta.(conns.ClientSession).CisWebhookSession()
8282
if err != nil {
83-
return fmt.Errorf("[ERROR] Error while getting the cisWebhookession %s", err)
83+
return flex.FmtErrorf("[ERROR] Error while getting the cisWebhookession %s", err)
8484
}
8585
crn := d.Get(cisID).(string)
8686
sess.Crn = core.StringPtr(crn)
8787
opt := sess.NewListWebhooksOptions()
8888

8989
result, resp, err := sess.ListWebhooks(opt)
9090
if err != nil || result == nil {
91-
return fmt.Errorf("[ERROR] Error Listing all Webhooks %q: %s %s", d.Id(), err, resp)
91+
return flex.FmtErrorf("[ERROR] Error Listing all Webhooks %q: %s %s", d.Id(), err, resp)
9292
}
9393

9494
webhooks := make([]map[string]interface{}, 0)

ibm/service/cis/data_source_ibm_cis_alerts.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ package cis
55

66
import (
77
"encoding/json"
8-
"fmt"
98
"log"
109
"time"
1110

1211
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
12+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1313
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/validate"
1414
"github.com/IBM/go-sdk-core/v5/core"
1515
"github.com/IBM/networking-go-sdk/alertsv1"
@@ -146,12 +146,12 @@ func dataIBMCISAlertPolicyRead(d *schema.ResourceData, meta interface{}) error {
146146
alertOutput[cisAlertType] = *alertObj.AlertType
147147
filterOpt, err := json.Marshal(alertObj.Filters)
148148
if err != nil {
149-
return fmt.Errorf("[ERROR] Error marshalling the created filters: %s", err)
149+
return flex.FmtErrorf("[ERROR] Error marshalling the created filters: %s", err)
150150
}
151151
alertOutput[cisAlertFilters] = string(filterOpt)
152152
conditionsOpt, err := json.Marshal(alertObj.Conditions)
153153
if err != nil {
154-
return fmt.Errorf("[ERROR] Error marshalling the created Conditions: %s", err)
154+
return flex.FmtErrorf("[ERROR] Error marshalling the created Conditions: %s", err)
155155
}
156156
alertOutput[cisAlertConditions] = string(conditionsOpt)
157157
alertOutput[cisAlertMechanisms] = dataflattenCISMechanism(*alertObj.Mechanisms)

ibm/service/cis/data_source_ibm_cis_custom_certificates.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"time"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
@@ -133,7 +132,7 @@ func dataSourceIBMCISCustomCertificatesRead(d *schema.ResourceData, meta interfa
133132
opt := cisClient.NewListCustomCertificatesOptions()
134133
result, resp, err := cisClient.ListCustomCertificates(opt)
135134
if err != nil {
136-
return fmt.Errorf("[ERROR] Failed to list custom certificates: %v", resp)
135+
return flex.FmtErrorf("[ERROR] Failed to list custom certificates: %v", resp)
137136
}
138137
certsList := make([]map[string]interface{}, 0)
139138
for _, r := range result.Result {

ibm/service/cis/data_source_ibm_cis_domain.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"log"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
@@ -131,7 +130,7 @@ func dataSourceIBMCISDomainRead(d *schema.ResourceData, meta interface{}) error
131130
}
132131

133132
if !zoneFound {
134-
return fmt.Errorf("[ERROR] Given zone does not exist. Please specify correct domain")
133+
return flex.FmtErrorf("[ERROR] Given zone does not exist. Please specify correct domain")
135134
}
136135

137136
return nil

ibm/service/cis/data_source_ibm_cis_edge_functions_actions.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"time"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
@@ -139,7 +138,7 @@ func dataSourceIBMCISEdgeFunctionsActionsRead(d *schema.ResourceData, meta inter
139138
opt := cisClient.NewListEdgeFunctionsActionsOptions()
140139
result, _, err := cisClient.ListEdgeFunctionsActions(opt)
141140
if err != nil {
142-
return fmt.Errorf("[ERROR] Error: %v", err)
141+
return flex.FmtErrorf("[ERROR] Error: %v", err)
143142
}
144143
scriptInfo := make([]map[string]interface{}, 0)
145144
for _, script := range result.Result {

ibm/service/cis/data_source_ibm_cis_edge_functions_triggers.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"time"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
@@ -104,7 +103,7 @@ func dataSourceIBMCISEdgeFunctionsTriggerRead(d *schema.ResourceData, meta inter
104103
opt := cisClient.NewListEdgeFunctionsTriggersOptions()
105104
result, _, err := cisClient.ListEdgeFunctionsTriggers(opt)
106105
if err != nil {
107-
return fmt.Errorf("[ERROR] Error listing edge functions triggers: %v", err)
106+
return flex.FmtErrorf("[ERROR] Error listing edge functions triggers: %v", err)
108107
}
109108
triggerInfo := make([]map[string]interface{}, 0)
110109
for _, trigger := range result.Result {

ibm/service/cis/data_source_ibm_cis_filters.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package cis
55

66
import (
7-
"fmt"
87
"time"
98

109
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
@@ -87,20 +86,20 @@ func dataIBMCISFiltersRead(d *schema.ResourceData, meta interface{}) error {
8786

8887
sess, err := meta.(conns.ClientSession).BluemixSession()
8988
if err != nil {
90-
return fmt.Errorf("[ERROR] Error while Getting IAM Access Token using BluemixSession %s", err)
89+
return flex.FmtErrorf("[ERROR] Error while Getting IAM Access Token using BluemixSession %s", err)
9190
}
9291
xAuthtoken := sess.Config.IAMAccessToken
9392

9493
cisClient, err := meta.(conns.ClientSession).CisFiltersSession()
9594
if err != nil {
96-
return fmt.Errorf("[ERROR] Error while getting the CisFiltersSession %s", err)
95+
return flex.FmtErrorf("[ERROR] Error while getting the CisFiltersSession %s", err)
9796
}
9897
crn := d.Get(cisID).(string)
9998
zoneID, _, _ := flex.ConvertTftoCisTwoVar(d.Get(cisDomainID).(string))
10099

101100
result, resp, err := cisClient.ListAllFilters(cisClient.NewListAllFiltersOptions(xAuthtoken, crn, zoneID))
102101
if err != nil || result == nil {
103-
return fmt.Errorf("[ERROR] Error Listing all filters %q: %s %s", d.Id(), err, resp)
102+
return flex.FmtErrorf("[ERROR] Error Listing all filters %q: %s %s", d.Id(), err, resp)
104103
}
105104

106105
filtersList := make([]map[string]interface{}, 0)

ibm/service/cis/data_source_ibm_cis_firewall_rule.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,29 @@ func DataSourceIBMCISFirewallRulesValidator() *validate.ResourceValidator {
9191
func dataSourceIBMCISFirewallRulesRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
9292
sess, err := meta.(conns.ClientSession).BluemixSession()
9393
if err != nil {
94-
return diag.FromErr(err)
94+
tfErr := flex.TerraformErrorf(err,
95+
fmt.Sprintf("dataSourceIBMCISFirewallRulesRead BluemixSession initialization failed: %s", err.Error()),
96+
"ibm_cis_firewall_rule", "read")
97+
return tfErr.GetDiag()
9598
}
9699
xAuthtoken := sess.Config.IAMAccessToken
97100

98101
cisClient, err := meta.(conns.ClientSession).CisFirewallRulesSession()
99102
if err != nil {
100-
return diag.FromErr(err)
103+
tfErr := flex.TerraformErrorf(err,
104+
fmt.Sprintf("dataSourceIBMCISFirewallRulesRead CisFirewallRulesSession initialization failed: %s", err.Error()),
105+
"ibm_cis_firewall_rule", "read")
106+
return tfErr.GetDiag()
101107
}
102108
crn := d.Get(cisID).(string)
103109
zoneID, _, _ := flex.ConvertTftoCisTwoVar(d.Get(cisDomainID).(string))
104110

105111
result, resp, err := cisClient.ListAllFirewallRules(cisClient.NewListAllFirewallRulesOptions(xAuthtoken, crn, zoneID))
106112
if err != nil || result == nil {
107-
return diag.FromErr(fmt.Errorf("[ERROR] Error listing the firewall rules %s:%s", err, resp))
113+
tfErr := flex.TerraformErrorf(err,
114+
fmt.Sprintf("dataSourceIBMCISFirewallRulesRead ListAllFirewallRules failed with error: %s and response:\n%s", err, resp),
115+
"ibm_cis_firewall_rule", "read")
116+
return tfErr.GetDiag()
108117
}
109118

110119
fwrList := make([]map[string]interface{}, 0)

ibm/service/cis/data_source_ibm_cis_mtls.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ func dataIBMCISMtlsRead(context context.Context, d *schema.ResourceData, meta in
118118
sess, err := meta.(conns.ClientSession).CisMtlsSession()
119119

120120
if err != nil {
121-
return diag.FromErr(fmt.Errorf("[ERROR] Error while getting the CisMtlsSession() %s %v", err, sess))
121+
tfErr := flex.TerraformErrorf(err,
122+
fmt.Sprintf("dataIBMCISMtlsRead CisMtlsSession initialization failed: %s", err.Error()),
123+
"ibm_cis_mtls", "read")
124+
return tfErr.GetDiag()
122125
}
123126

124127
zoneID, crn, _ := flex.ConvertTftoCisTwoVar(d.Id())
@@ -128,8 +131,11 @@ func dataIBMCISMtlsRead(context context.Context, d *schema.ResourceData, meta in
128131

129132
result, resp, err := sess.ListAccessCertificates(opt)
130133
if err != nil {
131-
log.Printf("[WARN] List all certificates failed: %v\n", resp)
132-
return diag.FromErr(err)
134+
tfErr := flex.TerraformErrorf(err,
135+
fmt.Sprintf("dataIBMCISMtlsRead ListAccessCertificates failed: %s", err.Error()),
136+
"ibm_cis_mtls", "read")
137+
log.Printf("[WARN] List all certificates failed: %v\n%s\n", resp, tfErr.GetDebugMessage())
138+
return tfErr.GetDiag()
133139
}
134140
mtlsCertLists := make([]map[string]interface{}, 0)
135141
for _, certObj := range result.Result {

0 commit comments

Comments
 (0)