Skip to content

Commit 63af96a

Browse files
authored
fix(vpnserver): update error toolchain for vpn servers (IBM-Cloud#6193)
1 parent c7a9893 commit 63af96a

10 files changed

+306
-233
lines changed

ibm/service/vpc/data_source_ibm_is_vpn_server.go

Lines changed: 40 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"fmt"
99
"log"
1010

11+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
1112
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1213
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -427,9 +428,11 @@ func DataSourceIBMIsVPNServer() *schema.Resource {
427428
}
428429

429430
func dataSourceIBMIsVPNServerRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
430-
sess, err := vpcClient(meta)
431+
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
431432
if err != nil {
432-
return diag.FromErr(err)
433+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server", "read", "initialize-client")
434+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
435+
return tfErr.GetDiag()
433436
}
434437

435438
var vpnServer *vpcv1.VPNServer
@@ -438,10 +441,11 @@ func dataSourceIBMIsVPNServerRead(context context.Context, d *schema.ResourceDat
438441

439442
getVPNServerOptions := &vpcv1.GetVPNServerOptions{}
440443
getVPNServerOptions.SetID(v.(string))
441-
vpnServerInfo, response, err := sess.GetVPNServerWithContext(context, getVPNServerOptions)
444+
vpnServerInfo, _, err := vpcClient.GetVPNServerWithContext(context, getVPNServerOptions)
442445
if err != nil {
443-
log.Printf("[DEBUG] GetVPNServerWithContext failed %s\n%s", err, response)
444-
return diag.FromErr(fmt.Errorf("[ERROR] GetVPNServerWithContext failed %s\n%s", err, response))
446+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetVPNServerWithContext failed: %s", err.Error()), "(Data) ibm_is_vpn_server", "read")
447+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
448+
return tfErr.GetDiag()
445449
}
446450
vpnServer = vpnServerInfo
447451
} else if v, ok := d.GetOk("name"); ok {
@@ -455,10 +459,11 @@ func dataSourceIBMIsVPNServerRead(context context.Context, d *schema.ResourceDat
455459
if start != "" {
456460
listVPNServersOptions.Start = &start
457461
}
458-
vpnServerCollection, response, err := sess.ListVPNServersWithContext(context, listVPNServersOptions)
462+
vpnServerCollection, _, err := vpcClient.ListVPNServersWithContext(context, listVPNServersOptions)
459463
if err != nil {
460-
log.Printf("[DEBUG] ListVPNServersWithContext failed %s\n%s", err, response)
461-
return diag.FromErr(fmt.Errorf("[ERROR] ListVPNServersWithContext failed %s\n%s", err, response))
464+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetVPNServerWithContext failed: %s", err.Error()), "(Data) ibm_is_vpn_server", "read")
465+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
466+
return tfErr.GetDiag()
462467
}
463468
start = flex.GetNext(vpnServerCollection.Next)
464469
allrecs = append(allrecs, vpnServerCollection.VPNServers...)
@@ -479,16 +484,16 @@ func dataSourceIBMIsVPNServerRead(context context.Context, d *schema.ResourceDat
479484
}
480485
}
481486

482-
d.SetId(fmt.Sprintf("%s", *vpnServer.ID))
487+
d.SetId(*vpnServer.ID)
483488
err = d.Set("identifier", vpnServer.ID)
484489
if err != nil {
485-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting identifier %s", err))
490+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server", "read", "identifier").GetDiag()
486491
}
487492

488493
if vpnServer.Certificate != nil {
489494
err = d.Set("certificate", dataSourceVPNServerFlattenCertificate(*vpnServer.Certificate))
490495
if err != nil {
491-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting certificate %s", err))
496+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting certificate: %s", err), "(Data) ibm_is_vpn_server", "read", "set-certificate").GetDiag()
492497
}
493498
}
494499

@@ -514,104 +519,104 @@ func dataSourceIBMIsVPNServerRead(context context.Context, d *schema.ResourceDat
514519
}
515520
err = d.Set("client_authentication", vpnServerAuthenticationPrototypeArray)
516521
if err != nil {
517-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_authentication %s", err))
522+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting client_authentication: %s", err), "(Data) ibm_is_vpn_server", "read", "set-client_authentication").GetDiag()
518523
}
519524

520525
if err = d.Set("client_auto_delete", vpnServer.ClientAutoDelete); err != nil {
521-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_auto_delete: %s", err))
526+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting client_auto_delete: %s", err), "(Data) ibm_is_vpn_server", "read", "set-client_auto_delete").GetDiag()
522527
}
523528
if err = d.Set("client_auto_delete_timeout", flex.IntValue(vpnServer.ClientAutoDeleteTimeout)); err != nil {
524-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_auto_delete_timeout: %s", err))
529+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting client_auto_delete_timeout: %s", err), "(Data) ibm_is_vpn_server", "read", "set-client_auto_delete_timeout").GetDiag()
525530
}
526531

527532
if vpnServer.ClientDnsServerIps != nil {
528533
err = d.Set("client_dns_server_ips", dataSourceVPNServerFlattenClientDnsServerIps(vpnServer.ClientDnsServerIps))
529534
if err != nil {
530-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_dns_server_ips %s", err))
535+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server", "read", "client_dns_server_ips-to-map").GetDiag()
531536
}
532537
}
533538
if err = d.Set("client_idle_timeout", flex.IntValue(vpnServer.ClientIdleTimeout)); err != nil {
534-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_idle_timeout: %s", err))
539+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting client_idle_timeout: %s", err), "(Data) ibm_is_vpn_server", "read", "set-client_idle_timeout").GetDiag()
535540
}
536541
if err = d.Set("client_ip_pool", vpnServer.ClientIPPool); err != nil {
537-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_ip_pool: %s", err))
542+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting client_ip_pool: %s", err), "(Data) ibm_is_vpn_server", "read", "set-client_ip_pool").GetDiag()
538543
}
539544
if err = d.Set("created_at", flex.DateTimeToString(vpnServer.CreatedAt)); err != nil {
540-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting created_at: %s", err))
545+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_vpn_server", "read", "set-created_at").GetDiag()
541546
}
542547
if err = d.Set("crn", vpnServer.CRN); err != nil {
543-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting crn: %s", err))
548+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting crn: %s", err), "(Data) ibm_is_vpn_server", "read", "set-crn").GetDiag()
544549
}
545550
if err = d.Set("enable_split_tunneling", vpnServer.EnableSplitTunneling); err != nil {
546-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting enable_split_tunneling: %s", err))
551+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting enable_split_tunneling: %s", err), "(Data) ibm_is_vpn_server", "read", "set-enable_split_tunneling").GetDiag()
547552
}
548553
if err = d.Set("health_state", vpnServer.HealthState); err != nil {
549-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting health_state: %s", err))
554+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting health_state: %s", err), "(Data) ibm_is_vpn_server", "read", "set-health_state").GetDiag()
550555
}
551556
if vpnServer.HealthReasons != nil {
552557
if err := d.Set("health_reasons", resourceVPNServerFlattenHealthReasons(vpnServer.HealthReasons)); err != nil {
553-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting health_reasons: %s", err))
558+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting health_reasons: %s", err), "(Data) ibm_is_vpn_server", "read", "set-health_reasons").GetDiag()
554559
}
555560
}
556561
if err = d.Set("hostname", vpnServer.Hostname); err != nil {
557-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting hostname: %s", err))
562+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting hostname: %s", err), "(Data) ibm_is_vpn_server", "read", "set-hostname").GetDiag()
558563
}
559564
if err = d.Set("href", vpnServer.Href); err != nil {
560-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting href: %s", err))
565+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_vpn_server", "read", "set-href").GetDiag()
561566
}
562567
if err = d.Set("lifecycle_state", vpnServer.LifecycleState); err != nil {
563-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting lifecycle_state: %s", err))
568+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_state: %s", err), "(Data) ibm_is_vpn_server", "read", "set-lifecycle_state").GetDiag()
564569
}
565570
if vpnServer.LifecycleReasons != nil {
566571
if err := d.Set("lifecycle_reasons", resourceVPNServerFlattenLifecycleReasons(vpnServer.LifecycleReasons)); err != nil {
567-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting lifecycle_reasons: %s", err))
572+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_reasons: %s", err), "(Data) ibm_is_vpn_server", "read", "set-lifecycle_reasons").GetDiag()
568573
}
569574
}
570575
if err = d.Set("name", vpnServer.Name); err != nil {
571-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting name: %s", err))
576+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_vpn_server", "read", "set-name").GetDiag()
572577
}
573578
if err = d.Set("port", flex.IntValue(vpnServer.Port)); err != nil {
574-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting port: %s", err))
579+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting port: %s", err), "(Data) ibm_is_vpn_server", "read", "set-port").GetDiag()
575580
}
576581

577582
if vpnServer.PrivateIps != nil {
578583
err = d.Set("private_ips", dataSourceVPNServerFlattenPrivateIps(vpnServer.PrivateIps))
579584
if err != nil {
580-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting private_ips %s", err))
585+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting private_ips: %s", err), "(Data) ibm_is_vpn_server", "read", "set-private_ips").GetDiag()
581586
}
582587
}
583588
if err = d.Set("protocol", vpnServer.Protocol); err != nil {
584-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting protocol: %s", err))
589+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting protocol: %s", err), "(Data) ibm_is_vpn_server", "read", "set-protocol").GetDiag()
585590
}
586591

587592
if vpnServer.ResourceGroup != nil {
588593
err = d.Set("resource_group", dataSourceVPNServerFlattenResourceGroup(*vpnServer.ResourceGroup))
589594
if err != nil {
590-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_group %s", err))
595+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_group: %s", err), "(Data) ibm_is_vpn_server", "read", "set-resource_group").GetDiag()
591596
}
592597
}
593598
if err = d.Set("resource_type", vpnServer.ResourceType); err != nil {
594-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_type: %s", err))
599+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_vpn_server", "read", "set-resource_type").GetDiag()
595600
}
596601

597602
if vpnServer.SecurityGroups != nil {
598603
err = d.Set("security_groups", dataSourceVPNServerFlattenSecurityGroups(vpnServer.SecurityGroups))
599604
if err != nil {
600-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting security_groups %s", err))
605+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting security_groups: %s", err), "(Data) ibm_is_vpn_server", "read", "set-security_groups").GetDiag()
601606
}
602607
}
603608

604609
if vpnServer.Subnets != nil {
605610
err = d.Set("subnets", dataSourceVPNServerFlattenSubnets(vpnServer.Subnets))
606611
if err != nil {
607-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting subnets %s", err))
612+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting subnets: %s", err), "(Data) ibm_is_vpn_server", "read", "set-subnets").GetDiag()
608613
}
609614
}
610615

611616
if vpnServer.VPC != nil {
612617
err = d.Set("vpc", dataSourceVPNServerFlattenVpcReference(vpnServer.VPC))
613618
if err != nil {
614-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting the vpc: %s", err))
619+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting vpc: %s", err), "(Data) ibm_is_vpn_server", "read", "set-vpc").GetDiag()
615620
}
616621
}
617622

ibm/service/vpc/data_source_ibm_is_vpn_server_client.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"fmt"
99
"log"
1010

11+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
1112
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1213
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -103,60 +104,63 @@ func DataSourceIBMIsVPNServerClient() *schema.Resource {
103104
}
104105

105106
func dataSourceIBMIsVPNServerClientRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
106-
sess, err := vpcClient(meta)
107+
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
107108
if err != nil {
108-
return diag.FromErr(err)
109+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server_client", "read", "initialize-client")
110+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
111+
return tfErr.GetDiag()
109112
}
110113

111114
getVPNServerClientOptions := &vpcv1.GetVPNServerClientOptions{}
112115

113116
getVPNServerClientOptions.SetVPNServerID(d.Get("vpn_server").(string))
114117
getVPNServerClientOptions.SetID(d.Get("identifier").(string))
115118

116-
vpnServerClient, response, err := sess.GetVPNServerClientWithContext(context, getVPNServerClientOptions)
119+
vpnServerClient, _, err := vpcClient.GetVPNServerClientWithContext(context, getVPNServerClientOptions)
117120
if err != nil {
118-
log.Printf("[DEBUG] GetVPNServerClientWithContext failed %s\n%s", err, response)
119-
return diag.FromErr(fmt.Errorf("[ERROR] GetVPNServerClientWithContext failed %s\n%s", err, response))
121+
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetVPNServerClientWithContext failed: %s", err.Error()), "(Data) ibm_is_vpn_server_client", "read")
122+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
123+
return tfErr.GetDiag()
120124
}
121125

122126
d.SetId(*vpnServerClient.ID)
123127

124128
if vpnServerClient.ClientIP != nil {
125129
err = d.Set("client_ip", dataSourceVPNServerClientFlattenClientIP(*vpnServerClient.ClientIP))
126130
if err != nil {
127-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting client_ip %s", err))
131+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server_client", "read", "client_ip-to-map").GetDiag()
128132
}
129133
}
130134
if err = d.Set("common_name", vpnServerClient.CommonName); err != nil {
131-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting common_name: %s", err))
135+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting common_name: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-common_name").GetDiag()
132136
}
133137
if err = d.Set("created_at", flex.DateTimeToString(vpnServerClient.CreatedAt)); err != nil {
134-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting created_at: %s", err))
138+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-created_at").GetDiag()
135139
}
136140
if err = d.Set("disconnected_at", flex.DateTimeToString(vpnServerClient.DisconnectedAt)); err != nil {
137-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting disconnected_at: %s", err))
141+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting disconnected_at: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-disconnected_at").GetDiag()
138142
}
139143
if err = d.Set("href", vpnServerClient.Href); err != nil {
140-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting href: %s", err))
144+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-href").GetDiag()
141145
}
142146

143147
if vpnServerClient.RemoteIP != nil {
144148
err = d.Set("remote_ip", dataSourceVPNServerClientFlattenRemoteIP(*vpnServerClient.RemoteIP))
145149
if err != nil {
146-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting remote_ip %s", err))
150+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting remote_ip: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-remote_ip").GetDiag()
147151
}
148152
}
149153
if err = d.Set("remote_port", flex.IntValue(vpnServerClient.RemotePort)); err != nil {
150-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting remote_port: %s", err))
154+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting remote_port: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-remote_port").GetDiag()
151155
}
152156
if err = d.Set("resource_type", vpnServerClient.ResourceType); err != nil {
153-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting resource_type: %s", err))
157+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-resource_type").GetDiag()
154158
}
155159
if err = d.Set("status", vpnServerClient.Status); err != nil {
156-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting status: %s", err))
160+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting status: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-status").GetDiag()
157161
}
158162
if err = d.Set("username", vpnServerClient.Username); err != nil {
159-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting username: %s", err))
163+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting username: %s", err), "(Data) ibm_is_vpn_server_client", "read", "set-username").GetDiag()
160164
}
161165

162166
return nil

ibm/service/vpc/data_source_ibm_is_vpn_server_client_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func DataSourceIBMIsVPNServerClientConfiguration() *schema.Resource {
4545
func dataSourceIBMIsVPNServerClientConfigurationRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
4646
sess, err := vpcClient(meta)
4747
if err != nil {
48+
// this
4849
return diag.FromErr(err)
4950
}
5051

ibm/service/vpc/data_source_ibm_is_vpn_server_clients.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"log"
1010
"time"
1111

12+
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
1213
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1415
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -113,9 +114,11 @@ func DataSourceIBMIsVPNServerClients() *schema.Resource {
113114
}
114115

115116
func dataSourceIBMIsVPNServerClientsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
116-
sess, err := vpcClient(meta)
117+
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
117118
if err != nil {
118-
return diag.FromErr(err)
119+
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server_clients", "read", "initialize-client")
120+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
121+
return tfErr.GetDiag()
119122
}
120123

121124
start := ""
@@ -127,10 +130,11 @@ func dataSourceIBMIsVPNServerClientsRead(context context.Context, d *schema.Reso
127130
if start != "" {
128131
listVPNServerClientsOptions.Start = &start
129132
}
130-
vpnServerClientCollection, response, err := sess.ListVPNServerClientsWithContext(context, listVPNServerClientsOptions)
133+
vpnServerClientCollection, _, err := vpcClient.ListVPNServerClientsWithContext(context, listVPNServerClientsOptions)
131134
if err != nil {
132-
log.Printf("[DEBUG] ListVPNServerClientsWithContext failed %s\n%s", err, response)
133-
return diag.FromErr(fmt.Errorf("[ERROR] ListVPNServerClientsWithContext failed %s\n%s", err, response))
135+
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_is_vpn_server_clients", "read")
136+
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
137+
return tfErr.GetDiag()
134138
}
135139
start = flex.GetNext(vpnServerClientCollection.Next)
136140
allrecs = append(allrecs, vpnServerClientCollection.Clients...)
@@ -144,7 +148,7 @@ func dataSourceIBMIsVPNServerClientsRead(context context.Context, d *schema.Reso
144148
if allrecs != nil {
145149
err = d.Set("clients", dataSourceVPNServerClientCollectionFlattenClients(allrecs))
146150
if err != nil {
147-
return diag.FromErr(fmt.Errorf("[ERROR] Error setting clients %s", err))
151+
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting clients %s", err), "(Data) ibm_is_vpn_server_clients", "read", "clients-set").GetDiag()
148152
}
149153
}
150154
return nil

0 commit comments

Comments
 (0)