Skip to content

Commit 19f6bf4

Browse files
authored
enhancement: improved error handling for vpc (IBM-Cloud#6186)
1 parent f5365a4 commit 19f6bf4

17 files changed

+1046
-533
lines changed

ibm/provider/provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ func Provider() *schema.Provider {
625625
"ibm_is_vpn_gateway_connection_peer_cidrs": vpc.DataSourceIBMIsVPNGatewayConnectionPeerCidrs(),
626626

627627
"ibm_is_vpc_default_routing_table": vpc.DataSourceIBMISVPCDefaultRoutingTable(),
628-
"ibm_is_vpc_routing_table": vpc.DataSourceIBMIBMIsVPCRoutingTable(),
628+
"ibm_is_vpc_routing_table": vpc.DataSourceIBMIsVPCRoutingTable(),
629629
"ibm_is_vpc_routing_tables": vpc.DataSourceIBMISVPCRoutingTables(),
630630
"ibm_is_vpc_routing_table_route": vpc.DataSourceIBMIBMIsVPCRoutingTableRoute(),
631631
"ibm_is_vpc_routing_table_routes": vpc.DataSourceIBMISVPCRoutingTableRoutes(),

ibm/service/vpc/data_source_ibm_is_vpc.go

Lines changed: 125 additions & 50 deletions
Large diffs are not rendered by default.

ibm/service/vpc/data_source_ibm_is_vpc_address_prefix.go

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ func DataSourceIBMIsVPCAddressPrefix() *schema.Resource {
101101
func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
102102
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
103103
if err != nil {
104-
return diag.FromErr(err)
104+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpc_address_prefix", "read", "initialize-client")
105+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
106+
return tfErr.GetDiag()
105107
}
106108

107109
vpc_id := d.Get("vpc").(string)
@@ -117,9 +119,11 @@ func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.Reso
117119
if start != "" {
118120
listVpcsOptions.Start = &start
119121
}
120-
vpcs, response, err := vpcClient.ListVpcs(listVpcsOptions)
122+
vpcs, _, err := vpcClient.ListVpcsWithContext(context, listVpcsOptions)
121123
if err != nil {
122-
return diag.FromErr(fmt.Errorf("Error Fetching vpcs %s\n%s", err, response))
124+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVpcsWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_address_prefix", "read")
125+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
126+
return tfErr.GetDiag()
123127
}
124128
start = flex.GetNext(vpcs.Next)
125129
allrecs = append(allrecs, vpcs.Vpcs...)
@@ -136,8 +140,10 @@ func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.Reso
136140
}
137141
}
138142
if !vpc_found {
139-
log.Printf("[DEBUG] VPC with given name not found %s\n", vpc_name)
140-
return diag.FromErr(fmt.Errorf("VPC with given name not found %s\n", vpc_name))
143+
err = fmt.Errorf("VPC with given name not found %s", vpc_name)
144+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVpcsWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_address_prefix", "read")
145+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
146+
return tfErr.GetDiag()
141147
}
142148
}
143149
if address_prefix_id != "" {
@@ -146,10 +152,11 @@ func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.Reso
146152
getVPCAddressPrefixOptions.SetVPCID(vpc_id)
147153
getVPCAddressPrefixOptions.SetID(address_prefix_id)
148154

149-
addressPrefix1, response, err := vpcClient.GetVPCAddressPrefixWithContext(context, getVPCAddressPrefixOptions)
155+
addressPrefix1, _, err := vpcClient.GetVPCAddressPrefixWithContext(context, getVPCAddressPrefixOptions)
150156
if err != nil {
151-
log.Printf("[DEBUG] GetVPCAddressPrefixWithContext failed %s\n%s", err, response)
152-
return diag.FromErr(fmt.Errorf("GetVPCAddressPrefixWithContext failed %s\n%s", err, response))
157+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetVPCAddressPrefixWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_address_prefix", "read")
158+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
159+
return tfErr.GetDiag()
153160
}
154161
addressPrefix = addressPrefix1
155162

@@ -163,10 +170,11 @@ func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.Reso
163170
if start != "" {
164171
listVpcAddressPrefixesOptions.Start = &start
165172
}
166-
addressPrefixCollection, response, err := vpcClient.ListVPCAddressPrefixesWithContext(context, listVpcAddressPrefixesOptions)
173+
addressPrefixCollection, _, err := vpcClient.ListVPCAddressPrefixesWithContext(context, listVpcAddressPrefixesOptions)
167174
if err != nil {
168-
log.Printf("[DEBUG] ListVpcAddressPrefixesWithContext failed %s\n%s", err, response)
169-
return diag.FromErr(fmt.Errorf("ListVpcAddressPrefixesWithContext failed %s\n%s", err, response))
175+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVPCAddressPrefixesWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_address_prefix", "read")
176+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
177+
return tfErr.GetDiag()
170178
}
171179
start = flex.GetNext(addressPrefixCollection.Next)
172180
allrecs = append(allrecs, addressPrefixCollection.AddressPrefixes...)
@@ -183,45 +191,47 @@ func dataSourceIBMIsVPCAddressPrefixRead(context context.Context, d *schema.Reso
183191
}
184192
}
185193
if !address_prefix_found {
186-
log.Printf("[DEBUG] Address Prefix with given name not found %s\n", address_prefix_name)
187-
return diag.FromErr(fmt.Errorf("Address Prefix with given name not found %s\n", address_prefix_name))
194+
err = fmt.Errorf("Address Prefix with given name not found %s", address_prefix_name)
195+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVPCAddressPrefixesWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_address_prefix", "read")
196+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
197+
return tfErr.GetDiag()
188198
}
189199
}
190200
d.SetId(*addressPrefix.ID)
191201
if err = d.Set("cidr", addressPrefix.CIDR); err != nil {
192-
return diag.FromErr(fmt.Errorf("Error setting cidr: %s", err))
202+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting cidr: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-cidr").GetDiag()
193203
}
194204

195205
if err = d.Set("created_at", flex.DateTimeToString(addressPrefix.CreatedAt)); err != nil {
196-
return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err))
206+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-created_at").GetDiag()
197207
}
198208

199209
if err = d.Set("has_subnets", addressPrefix.HasSubnets); err != nil {
200-
return diag.FromErr(fmt.Errorf("Error setting has_subnets: %s", err))
210+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting has_subnets: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-has_subnets").GetDiag()
201211
}
202212

203213
if err = d.Set("href", addressPrefix.Href); err != nil {
204-
return diag.FromErr(fmt.Errorf("Error setting href: %s", err))
214+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-href").GetDiag()
205215
}
206216

207217
if err = d.Set("is_default", addressPrefix.IsDefault); err != nil {
208-
return diag.FromErr(fmt.Errorf("Error setting is_default: %s", err))
218+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting is_default: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-is_default").GetDiag()
209219
}
210220

211221
if err = d.Set("name", addressPrefix.Name); err != nil {
212-
return diag.FromErr(fmt.Errorf("Error setting name: %s", err))
222+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-name").GetDiag()
213223
}
214224

215225
zone := []map[string]interface{}{}
216226
if addressPrefix.Zone != nil {
217227
modelMap, err := dataSourceIBMIsVPCAddressPrefixZoneReferenceToMap(addressPrefix.Zone)
218228
if err != nil {
219-
return diag.FromErr(err)
229+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpc_address_prefix", "read", "zone-to-map").GetDiag()
220230
}
221231
zone = append(zone, modelMap)
222232
}
223233
if err = d.Set("zone", zone); err != nil {
224-
return diag.FromErr(fmt.Errorf("Error setting zone %s", err))
234+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting zone: %s", err), "(Data) ibm_is_vpc_address_prefix", "read", "set-zone").GetDiag()
225235
}
226236

227237
return nil

ibm/service/vpc/data_source_ibm_is_vpc_address_prefixes.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,13 @@ func DataSourceIbmIsVpcAddressPrefixes() *schema.Resource {
9999
}
100100
}
101101

102-
func dataSourceIbmIsVpcAddressPrefixRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
102+
func dataSourceIbmIsVpcAddressPrefixRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
103103

104104
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
105105
if err != nil {
106-
return diag.FromErr(err)
106+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpc_address_prefixes", "read", "initialize-client")
107+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
108+
return tfErr.GetDiag()
107109
}
108110

109111
start := ""
@@ -116,10 +118,11 @@ func dataSourceIbmIsVpcAddressPrefixRead(context context.Context, d *schema.Reso
116118
if start != "" {
117119
listVpcAddressPrefixesOptions.Start = &start
118120
}
119-
addressPrefixCollection, response, err := vpcClient.ListVPCAddressPrefixesWithContext(context, listVpcAddressPrefixesOptions)
121+
addressPrefixCollection, _, err := vpcClient.ListVPCAddressPrefixesWithContext(ctx, listVpcAddressPrefixesOptions)
120122
if err != nil {
121-
log.Printf("[DEBUG] ListVpcAddressPrefixesWithContext failed %s\n%s", err, response)
122-
return diag.FromErr(fmt.Errorf("ListVpcAddressPrefixesWithContext failed %s\n%s", err, response))
123+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVPCAddressPrefixesWithContext failed %s", err), "(Data) ibm_is_vpc_address_prefixes", "read")
124+
log.Printf("[DEBUG] %s", tfErr.GetDebugMessage())
125+
return tfErr.GetDiag()
123126
}
124127
start = flex.GetNext(addressPrefixCollection.Next)
125128
allrecs = append(allrecs, addressPrefixCollection.AddressPrefixes...)
@@ -147,7 +150,10 @@ func dataSourceIbmIsVpcAddressPrefixRead(context context.Context, d *schema.Reso
147150

148151
if suppliedFilter {
149152
if len(matchAddressPrefixes) == 0 {
150-
return diag.FromErr(fmt.Errorf("no AddressPrefixes found with name %s", name))
153+
err = fmt.Errorf("No AddressPrefixes found with name %s", name)
154+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListVPCAddressPrefixesWithContext failed %s", err), "(Data) ibm_is_vpc_address_prefixes", "read")
155+
log.Printf("[DEBUG] %s", tfErr.GetDebugMessage())
156+
return tfErr.GetDiag()
151157
}
152158
d.SetId(name)
153159
} else {
@@ -157,7 +163,7 @@ func dataSourceIbmIsVpcAddressPrefixRead(context context.Context, d *schema.Reso
157163
if matchAddressPrefixes != nil {
158164
err = d.Set("address_prefixes", dataSourceAddressPrefixCollectionFlattenAddressPrefixes(matchAddressPrefixes))
159165
if err != nil {
160-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting address_prefixes %s", err))
166+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting address_prefixes %s", err), "(Data) ibm_is_vpc_address_prefixes", "read", "address_prefixes-set").GetDiag()
161167
}
162168
}
163169

ibm/service/vpc/data_source_ibm_is_vpc_default_routing_table.go

Lines changed: 68 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
package vpc
55

66
import (
7+
"context"
8+
"fmt"
79
"log"
810

911
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
12+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1013
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1114
)
1215

@@ -38,7 +41,7 @@ const (
3841

3942
func DataSourceIBMISVPCDefaultRoutingTable() *schema.Resource {
4043
return &schema.Resource{
41-
Read: dataSourceIBMISVPCDefaultRoutingTableGet,
44+
ReadContext: dataSourceIBMISVPCDefaultRoutingTableGet,
4245
Schema: map[string]*schema.Schema{
4346
isDefaultRTVpcID: {
4447
Type: schema.TypeString,
@@ -184,34 +187,62 @@ func DataSourceIBMISVPCDefaultRoutingTable() *schema.Resource {
184187
}
185188
}
186189

187-
func dataSourceIBMISVPCDefaultRoutingTableGet(d *schema.ResourceData, meta interface{}) error {
190+
func dataSourceIBMISVPCDefaultRoutingTableGet(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
188191

189192
sess, err := vpcClient(meta)
190193
if err != nil {
191-
return err
194+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpc_default_routing_table", "read", "initialize-client")
195+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
196+
return tfErr.GetDiag()
192197
}
193198

194199
vpcID := d.Get(isDefaultRTVpcID).(string)
195200

196201
getVpcDefaultRoutingTableOptions := sess.NewGetVPCDefaultRoutingTableOptions(vpcID)
197-
result, detail, err := sess.GetVPCDefaultRoutingTable(getVpcDefaultRoutingTableOptions)
198-
if err != nil || result == nil {
199-
log.Printf("Error reading details of VPC Default Routing Table:%s", detail)
200-
return err
202+
result, _, err := sess.GetVPCDefaultRoutingTableWithContext(ctx, getVpcDefaultRoutingTableOptions)
203+
if err != nil {
204+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetVPCDefaultRoutingTableWithContext failed: %s", err.Error()), "(Data) ibm_is_vpc_default_routing_table", "read")
205+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
206+
return tfErr.GetDiag()
207+
}
208+
d.SetId(*result.ID)
209+
if err = d.Set(isDefaultRoutingTableID, *result.ID); err != nil {
210+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting default_routing_table: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-default_routing_table").GetDiag()
211+
}
212+
if err = d.Set(isDefaultRoutingTableHref, *result.Href); err != nil {
213+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-href").GetDiag()
214+
}
215+
if err = d.Set(isDefaultRoutingTableName, *result.Name); err != nil {
216+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-name").GetDiag()
217+
}
218+
if err = d.Set(isDefaultRoutingTableCrn, *result.CRN); err != nil {
219+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting crn: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-crn").GetDiag()
220+
}
221+
if err = d.Set(isDefaultRoutingTableResourceType, *result.ResourceType); err != nil {
222+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-resource_type").GetDiag()
201223
}
202-
d.Set(isDefaultRoutingTableID, *result.ID)
203-
d.Set(isDefaultRoutingTableHref, *result.Href)
204-
d.Set(isDefaultRoutingTableName, *result.Name)
205-
d.Set(isDefaultRoutingTableCrn, *result.CRN)
206-
d.Set(isDefaultRoutingTableResourceType, *result.ResourceType)
207224
createdAt := *result.CreatedAt
208-
d.Set(isDefaultRoutingTableCreatedAt, createdAt.String())
209-
d.Set(isDefaultRoutingTableLifecycleState, *result.LifecycleState)
210-
d.Set(isDefaultRTDirectLinkIngress, *result.RouteDirectLinkIngress)
211-
d.Set(isDefaultRTInternetIngress, *result.RouteInternetIngress)
212-
d.Set(isDefaultRTTransitGatewayIngress, *result.RouteTransitGatewayIngress)
213-
d.Set(isDefaultRTVPCZoneIngress, *result.RouteVPCZoneIngress)
214-
d.Set(isDefaultRTDefault, *result.IsDefault)
225+
if err = d.Set(isDefaultRoutingTableCreatedAt, createdAt.String()); err != nil {
226+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-created_at").GetDiag()
227+
}
228+
if err = d.Set(isDefaultRoutingTableLifecycleState, *result.LifecycleState); err != nil {
229+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_state: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-lifecycle_state").GetDiag()
230+
}
231+
if err = d.Set(isDefaultRTDirectLinkIngress, *result.RouteDirectLinkIngress); err != nil {
232+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting route_direct_link_ingress: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-route_direct_link_ingress").GetDiag()
233+
}
234+
if err = d.Set(isDefaultRTInternetIngress, *result.RouteInternetIngress); err != nil {
235+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting route_internet_ingress: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-route_internet_ingress").GetDiag()
236+
}
237+
if err = d.Set(isDefaultRTTransitGatewayIngress, *result.RouteTransitGatewayIngress); err != nil {
238+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting route_transit_gateway_ingress: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-route_transit_gateway_ingress").GetDiag()
239+
}
240+
if err = d.Set(isDefaultRTVPCZoneIngress, *result.RouteVPCZoneIngress); err != nil {
241+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting route_vpc_zone_ingress: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-route_vpc_zone_ingress").GetDiag()
242+
}
243+
if err = d.Set(isDefaultRTDefault, *result.IsDefault); err != nil {
244+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting is_default: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-is_default").GetDiag()
245+
}
215246
subnetsInfo := make([]map[string]interface{}, 0)
216247
for _, subnet := range result.Subnets {
217248
if subnet.Name != nil && subnet.ID != nil {
@@ -222,7 +253,9 @@ func dataSourceIBMISVPCDefaultRoutingTableGet(d *schema.ResourceData, meta inter
222253
subnetsInfo = append(subnetsInfo, l)
223254
}
224255
}
225-
d.Set(isDefaultRoutingTableSubnetsList, subnetsInfo)
256+
if err = d.Set(isDefaultRoutingTableSubnetsList, subnetsInfo); err != nil {
257+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting subnets: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-subnets").GetDiag()
258+
}
226259
routesInfo := make([]map[string]interface{}, 0)
227260
for _, route := range result.Routes {
228261
if route.Name != nil && route.ID != nil {
@@ -233,28 +266,35 @@ func dataSourceIBMISVPCDefaultRoutingTableGet(d *schema.ResourceData, meta inter
233266
routesInfo = append(routesInfo, k)
234267
}
235268
}
236-
d.Set(isDefaultRoutingTableRoutesList, routesInfo)
269+
if err = d.Set(isDefaultRoutingTableRoutesList, routesInfo); err != nil {
270+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting routes: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-routes").GetDiag()
271+
}
237272
resourceGroupList := []map[string]interface{}{}
238273
if result.ResourceGroup != nil {
239274
resourceGroupMap := routingTableResourceGroupToMap(*result.ResourceGroup)
240275
resourceGroupList = append(resourceGroupList, resourceGroupMap)
241276
}
242-
d.Set(isDefaultRTResourceGroup, resourceGroupList)
243-
d.Set(isDefaultRTVpcID, vpcID)
244-
d.SetId(*result.ID)
245-
277+
if err = d.Set(isDefaultRTResourceGroup, resourceGroupList); err != nil {
278+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_group: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-resource_group").GetDiag()
279+
}
280+
if err = d.Set(isDefaultRTVpcID, vpcID); err != nil {
281+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting vpc: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-vpc").GetDiag()
282+
}
246283
tags, err := flex.GetGlobalTagsUsingCRN(meta, *result.CRN, "", isDefaultRTUserTagType)
247284
if err != nil {
248285
log.Printf(
249286
"An error occured during reading of default routing table (%s) tags : %s", d.Id(), err)
250287
}
251-
d.Set(isDefaultRTTags, tags)
252-
288+
if err = d.Set(isDefaultRTTags, tags); err != nil {
289+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting tags: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-tags").GetDiag()
290+
}
253291
accesstags, err := flex.GetGlobalTagsUsingCRN(meta, *result.CRN, "", isDefaultRTAccessTagType)
254292
if err != nil {
255293
log.Printf(
256294
"An error occured during reading of default routing table (%s) access tags: %s", d.Id(), err)
257295
}
258-
d.Set(isDefaultRTAccessTags, accesstags)
296+
if err = d.Set(isDefaultRTAccessTags, accesstags); err != nil {
297+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting access_tags: %s", err), "(Data) ibm_is_vpc_default_routing_table", "read", "set-access_tags").GetDiag()
298+
}
259299
return nil
260300
}

0 commit comments

Comments
 (0)