diff --git a/ibm/service/power/data_source_ibm_pi_network_peer.go b/ibm/service/power/data_source_ibm_pi_network_peer.go index 7f531c3431..92b78f42e0 100644 --- a/ibm/service/power/data_source_ibm_pi_network_peer.go +++ b/ibm/service/power/data_source_ibm_pi_network_peer.go @@ -5,16 +5,18 @@ package power import ( "context" + "fmt" + "log" "github.com/IBM-Cloud/power-go-client/clients/instance" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" ) func DataSourceIBMPINetworkPeer() *schema.Resource { - return &schema.Resource{ ReadContext: dataSourceIBMPINetworkPeerRead, @@ -110,17 +112,21 @@ func DataSourceIBMPINetworkPeer() *schema.Resource { } -func dataSourceIBMPINetworkPeerRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { +func dataSourceIBMPINetworkPeerRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { sess, err := meta.(conns.ClientSession).IBMPISession() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_network_peer", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } cloudInstanceID := d.Get(Arg_CloudInstanceID).(string) networkPeerID := d.Get(Arg_NetworkPeerID).(string) networkC := instance.NewIBMPINetworkPeerClient(ctx, sess, cloudInstanceID) networkdata, err := networkC.GetNetworkPeer(networkPeerID) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetNetworkPeer failed: %s", err.Error()), "(Data) ibm_pi_network_peer", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId(*networkdata.ID) d.Set(Attr_CreationDate, networkdata.CreationDate) @@ -129,7 +135,7 @@ func dataSourceIBMPINetworkPeerRead(ctx context.Context, d *schema.ResourceData, d.Set(Attr_DefaultExportRouteFilter, networkdata.DefaultExportRouteFilter) d.Set(Attr_DefaultImportRouteFilter, networkdata.DefaultImportRouteFilter) d.Set(Attr_Error, networkdata.Error) - exportRouteFilters := []map[string]interface{}{} + exportRouteFilters := []map[string]any{} if len(networkdata.ExportRouteFilters) > 0 { for _, erp := range networkdata.ExportRouteFilters { exportRouteFilter := dataSourceIBMPINetworkPeerRouteFilterToMap(erp) @@ -139,7 +145,7 @@ func dataSourceIBMPINetworkPeerRead(ctx context.Context, d *schema.ResourceData, d.Set(Attr_ExportRouteFilters, exportRouteFilters) d.Set(Attr_IBMASN, networkdata.IbmASN) d.Set(Attr_IBMCIDR, networkdata.IbmCidr) - importRouteFilters := []map[string]interface{}{} + importRouteFilters := []map[string]any{} if len(networkdata.ImportRouteFilters) > 0 { for _, irp := range networkdata.ImportRouteFilters { importRouteFilter := dataSourceIBMPINetworkPeerRouteFilterToMap(irp) diff --git a/ibm/service/power/data_source_ibm_pi_network_peers.go b/ibm/service/power/data_source_ibm_pi_network_peers.go index 080d0f74c9..8ebdfb98da 100644 --- a/ibm/service/power/data_source_ibm_pi_network_peers.go +++ b/ibm/service/power/data_source_ibm_pi_network_peers.go @@ -5,15 +5,17 @@ package power import ( "context" + "fmt" + "log" + "github.com/IBM-Cloud/power-go-client/clients/instance" + "github.com/IBM-Cloud/power-go-client/power/models" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/go-uuid" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" - - "github.com/IBM-Cloud/power-go-client/clients/instance" - "github.com/IBM-Cloud/power-go-client/power/models" - "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" ) func DataSourceIBMPINetworkPeers() *schema.Resource { @@ -125,22 +127,26 @@ func DataSourceIBMPINetworkPeers() *schema.Resource { } } -func dataSourceIBMPINetworkPeersRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { +func dataSourceIBMPINetworkPeersRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { sess, err := meta.(conns.ClientSession).IBMPISession() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_network_peers", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } cloudInstanceID := d.Get(Arg_CloudInstanceID).(string) networkC := instance.NewIBMPINetworkPeerClient(ctx, sess, cloudInstanceID) networkdata, err := networkC.GetNetworkPeers() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetNetworkPeers failed: %s", err.Error()), "(Data) ibm_pi_network_peers", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } var clientgenU, _ = uuid.GenerateUUID() d.SetId(clientgenU) - networkPeers := []map[string]interface{}{} + networkPeers := []map[string]any{} if networkdata.NetworkPeers != nil { for _, np := range networkdata.NetworkPeers { npMap := dataSourceIBMPINetworkPeersNetworkPeerToMap(np) @@ -153,15 +159,15 @@ func dataSourceIBMPINetworkPeersRead(ctx context.Context, d *schema.ResourceData return nil } -func dataSourceIBMPINetworkPeersNetworkPeerToMap(np *models.NetworkPeer) map[string]interface{} { - npMap := make(map[string]interface{}) +func dataSourceIBMPINetworkPeersNetworkPeerToMap(np *models.NetworkPeer) map[string]any { + npMap := make(map[string]any) npMap[Attr_CreationDate] = np.CreationDate npMap[Attr_CustomerASN] = np.CustomerASN npMap[Attr_CustomerCIDR] = np.CustomerCidr npMap[Attr_DefaultExportRouteFilter] = np.DefaultExportRouteFilter npMap[Attr_DefaultImportRouteFilter] = np.DefaultImportRouteFilter npMap[Attr_Error] = np.Error - exportRouteFilters := []map[string]interface{}{} + exportRouteFilters := []map[string]any{} if len(np.ExportRouteFilters) > 0 { for _, erf := range np.ExportRouteFilters { exportRouteFilter := dataSourceIBMPINetworkPeerRouteFilterToMap(erf) @@ -172,7 +178,7 @@ func dataSourceIBMPINetworkPeersNetworkPeerToMap(np *models.NetworkPeer) map[str npMap[Attr_IBMASN] = np.IbmASN npMap[Attr_IBMCIDR] = np.IbmCidr npMap[Attr_ID] = np.ID - importRouteFilters := []map[string]interface{}{} + importRouteFilters := []map[string]any{} if len(np.ImportRouteFilters) > 0 { for _, irf := range np.ImportRouteFilters { importRouteFilter := dataSourceIBMPINetworkPeerRouteFilterToMap(irf) @@ -194,8 +200,8 @@ func dataSourceIBMPINetworkPeersNetworkPeerToMap(np *models.NetworkPeer) map[str return npMap } -func dataSourceIBMPINetworkPeerRouteFilterToMap(rf *models.RouteFilter) map[string]interface{} { - rfMap := make(map[string]interface{}) +func dataSourceIBMPINetworkPeerRouteFilterToMap(rf *models.RouteFilter) map[string]any { + rfMap := make(map[string]any) if rf.Action != nil { rfMap[Attr_Action] = rf.Action diff --git a/ibm/service/power/data_source_ibm_pi_network_port.go b/ibm/service/power/data_source_ibm_pi_network_port.go index b8ff1762eb..22b58adf30 100644 --- a/ibm/service/power/data_source_ibm_pi_network_port.go +++ b/ibm/service/power/data_source_ibm_pi_network_port.go @@ -5,11 +5,13 @@ package power import ( "context" + "fmt" "log" "github.com/IBM-Cloud/power-go-client/clients/instance" "github.com/IBM-Cloud/power-go-client/power/models" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" + "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/hashicorp/go-uuid" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -98,10 +100,12 @@ func DataSourceIBMPINetworkPort() *schema.Resource { } } -func dataSourceIBMPINetworkPortsRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { +func dataSourceIBMPINetworkPortsRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { sess, err := meta.(conns.ClientSession).IBMPISession() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_network_port", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } cloudInstanceID := d.Get(Arg_CloudInstanceID).(string) @@ -115,7 +119,9 @@ func dataSourceIBMPINetworkPortsRead(ctx context.Context, d *schema.ResourceData networkportC := instance.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) networkportdata, err := networkportC.GetAllPorts(networkID) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetAllPorts failed: %s", err.Error()), "(Data) ibm_pi_network_port", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } var clientgenU, _ = uuid.GenerateUUID() d.SetId(clientgenU) @@ -125,11 +131,11 @@ func dataSourceIBMPINetworkPortsRead(ctx context.Context, d *schema.ResourceData return nil } -func flattenNetworkPorts(networkPorts []*models.NetworkPort) interface{} { - result := make([]map[string]interface{}, 0, len(networkPorts)) +func flattenNetworkPorts(networkPorts []*models.NetworkPort) any { + result := make([]map[string]any, 0, len(networkPorts)) log.Printf("the number of ports is %d", len(networkPorts)) for _, i := range networkPorts { - l := map[string]interface{}{ + l := map[string]any{ Attr_Description: i.Description, Attr_Href: i.Href, Attr_IPaddress: *i.IPAddress, diff --git a/ibm/service/power/data_source_ibm_pi_network_security_group.go b/ibm/service/power/data_source_ibm_pi_network_security_group.go index 20b8293ec7..f0ff9111fc 100644 --- a/ibm/service/power/data_source_ibm_pi_network_security_group.go +++ b/ibm/service/power/data_source_ibm_pi_network_security_group.go @@ -5,15 +5,15 @@ package power import ( "context" + "fmt" "log" - "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/IBM-Cloud/power-go-client/clients/instance" "github.com/IBM-Cloud/power-go-client/power/models" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" ) @@ -205,10 +205,12 @@ func DataSourceIBMPINetworkSecurityGroup() *schema.Resource { } } -func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { +func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { sess, err := meta.(conns.ClientSession).IBMPISession() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_network_security_group", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } cloudInstanceID := d.Get(Arg_CloudInstanceID).(string) @@ -216,7 +218,9 @@ func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.Reso networkSecurityGroup, err := nsgClient.Get(d.Get(Arg_NetworkSecurityGroupID).(string)) if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Get failed: %s", err.Error()), "(Data) ibm_pi_network_security_group", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } d.SetId(*networkSecurityGroup.ID) @@ -231,7 +235,7 @@ func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.Reso d.Set(Attr_Default, networkSecurityGroup.Default) if len(networkSecurityGroup.Members) > 0 { - members := []map[string]interface{}{} + members := []map[string]any{} for _, mbr := range networkSecurityGroup.Members { mbrMap := networkSecurityGroupMemberToMap(mbr) members = append(members, mbrMap) @@ -242,7 +246,7 @@ func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.Reso d.Set(Attr_Name, networkSecurityGroup.Name) if len(networkSecurityGroup.Rules) > 0 { - rules := []map[string]interface{}{} + rules := []map[string]any{} for _, rule := range networkSecurityGroup.Rules { ruleMap := networkSecurityGroupRuleToMap(rule) rules = append(rules, ruleMap) @@ -253,8 +257,8 @@ func dataSourceIBMPINetworkSecurityGroupRead(ctx context.Context, d *schema.Reso return nil } -func networkSecurityGroupMemberToMap(mbr *models.NetworkSecurityGroupMember) map[string]interface{} { - mbrMap := make(map[string]interface{}) +func networkSecurityGroupMemberToMap(mbr *models.NetworkSecurityGroupMember) map[string]any { + mbrMap := make(map[string]any) mbrMap[Attr_ID] = mbr.ID if mbr.MacAddress != "" { mbrMap[Attr_MacAddress] = mbr.MacAddress @@ -267,46 +271,46 @@ func networkSecurityGroupMemberToMap(mbr *models.NetworkSecurityGroupMember) map return mbrMap } -func networkSecurityGroupRuleToMap(rule *models.NetworkSecurityGroupRule) map[string]interface{} { - ruleMap := make(map[string]interface{}) +func networkSecurityGroupRuleToMap(rule *models.NetworkSecurityGroupRule) map[string]any { + ruleMap := make(map[string]any) ruleMap[Attr_Action] = rule.Action if rule.DestinationPort != nil { destinationPortMap := networkSecurityGroupRulePortToMap(rule.DestinationPort) - ruleMap[Attr_DestinationPort] = []map[string]interface{}{destinationPortMap} + ruleMap[Attr_DestinationPort] = []map[string]any{destinationPortMap} } ruleMap[Attr_ID] = rule.ID protocolMap := networkSecurityGroupRuleProtocolToMap(rule.Protocol) - ruleMap[Attr_Protocol] = []map[string]interface{}{protocolMap} + ruleMap[Attr_Protocol] = []map[string]any{protocolMap} remoteMap := networkSecurityGroupRuleRemoteToMap(rule.Remote) - ruleMap[Attr_Remote] = []map[string]interface{}{remoteMap} + ruleMap[Attr_Remote] = []map[string]any{remoteMap} if rule.SourcePort != nil { sourcePortMap := networkSecurityGroupRulePortToMap(rule.SourcePort) - ruleMap[Attr_SourcePort] = []map[string]interface{}{sourcePortMap} + ruleMap[Attr_SourcePort] = []map[string]any{sourcePortMap} } return ruleMap } -func networkSecurityGroupRulePortToMap(port *models.NetworkSecurityGroupRulePort) map[string]interface{} { - portMap := make(map[string]interface{}) +func networkSecurityGroupRulePortToMap(port *models.NetworkSecurityGroupRulePort) map[string]any { + portMap := make(map[string]any) portMap[Attr_Maximum] = port.Maximum portMap[Attr_Minimum] = port.Minimum return portMap } -func networkSecurityGroupRuleProtocolToMap(protocol *models.NetworkSecurityGroupRuleProtocol) map[string]interface{} { - protocolMap := make(map[string]interface{}) +func networkSecurityGroupRuleProtocolToMap(protocol *models.NetworkSecurityGroupRuleProtocol) map[string]any { + protocolMap := make(map[string]any) if protocol.IcmpType != nil { protocolMap[Attr_ICMPType] = protocol.IcmpType } if len(protocol.TCPFlags) > 0 { - tcpFlags := []map[string]interface{}{} + tcpFlags := []map[string]any{} for _, tcpFlagsItem := range protocol.TCPFlags { - tcpFlagsItemMap := make(map[string]interface{}) + tcpFlagsItemMap := make(map[string]any) tcpFlagsItemMap[Attr_Flag] = tcpFlagsItem.Flag tcpFlags = append(tcpFlags, tcpFlagsItemMap) } @@ -318,8 +322,8 @@ func networkSecurityGroupRuleProtocolToMap(protocol *models.NetworkSecurityGroup return protocolMap } -func networkSecurityGroupRuleRemoteToMap(remote *models.NetworkSecurityGroupRuleRemote) map[string]interface{} { - remoteMap := make(map[string]interface{}) +func networkSecurityGroupRuleRemoteToMap(remote *models.NetworkSecurityGroupRuleRemote) map[string]any { + remoteMap := make(map[string]any) if remote.ID != "" { remoteMap[Attr_ID] = remote.ID } diff --git a/ibm/service/power/data_source_ibm_pi_network_security_groups.go b/ibm/service/power/data_source_ibm_pi_network_security_groups.go index 5b6f079bf1..b54ede70c6 100644 --- a/ibm/service/power/data_source_ibm_pi_network_security_groups.go +++ b/ibm/service/power/data_source_ibm_pi_network_security_groups.go @@ -5,16 +5,16 @@ package power import ( "context" + "fmt" "log" - "github.com/hashicorp/go-uuid" - "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/IBM-Cloud/power-go-client/clients/instance" "github.com/IBM-Cloud/power-go-client/power/models" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" + "github.com/hashicorp/go-uuid" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" ) @@ -214,23 +214,27 @@ func DataSourceIBMPINetworkSecurityGroups() *schema.Resource { } } -func dataSourceIBMPINetworkSecurityGroupsRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { +func dataSourceIBMPINetworkSecurityGroupsRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { sess, err := meta.(conns.ClientSession).IBMPISession() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("IBMPISession failed: %s", err.Error()), "(Data) ibm_pi_network_security_groups", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } cloudInstanceID := d.Get(Arg_CloudInstanceID).(string) nsgClient := instance.NewIBMIPINetworkSecurityGroupClient(ctx, sess, cloudInstanceID) nsgResp, err := nsgClient.GetAll() if err != nil { - return diag.FromErr(err) + tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetAll failed: %s", err.Error()), "(Data) ibm_pi_network_security_groups", "read") + log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage()) + return tfErr.GetDiag() } var clientgenU, _ = uuid.GenerateUUID() d.SetId(clientgenU) - networkSecurityGroups := []map[string]interface{}{} + networkSecurityGroups := []map[string]any{} if len(nsgResp.NetworkSecurityGroups) > 0 { for _, nsg := range nsgResp.NetworkSecurityGroups { networkSecurityGroup := networkSecurityGroupToMap(nsg, meta) @@ -243,8 +247,8 @@ func dataSourceIBMPINetworkSecurityGroupsRead(ctx context.Context, d *schema.Res return nil } -func networkSecurityGroupToMap(nsg *models.NetworkSecurityGroup, meta interface{}) map[string]interface{} { - networkSecurityGroup := make(map[string]interface{}) +func networkSecurityGroupToMap(nsg *models.NetworkSecurityGroup, meta any) map[string]any { + networkSecurityGroup := make(map[string]any) if nsg.Crn != nil { networkSecurityGroup[Attr_CRN] = nsg.Crn userTags, err := flex.GetGlobalTagsUsingCRN(meta, string(*nsg.Crn), "", UserTagType) @@ -257,7 +261,7 @@ func networkSecurityGroupToMap(nsg *models.NetworkSecurityGroup, meta interface{ networkSecurityGroup[Attr_ID] = nsg.ID if len(nsg.Members) > 0 { - members := []map[string]interface{}{} + members := []map[string]any{} for _, mbr := range nsg.Members { mbrMap := networkSecurityGroupMemberToMap(mbr) members = append(members, mbrMap) @@ -266,7 +270,7 @@ func networkSecurityGroupToMap(nsg *models.NetworkSecurityGroup, meta interface{ } networkSecurityGroup[Attr_Name] = nsg.Name if len(nsg.Rules) > 0 { - rules := []map[string]interface{}{} + rules := []map[string]any{} for _, rule := range nsg.Rules { rulesItemMap := networkSecurityGroupRuleToMap(rule) rules = append(rules, rulesItemMap)