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
429430func 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
0 commit comments