Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions ibm/service/power/data_source_ibm_pi_network_peer.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,

Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand Down
34 changes: 20 additions & 14 deletions ibm/service/power/data_source_ibm_pi_network_peers.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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
Expand Down
18 changes: 12 additions & 6 deletions ibm/service/power/data_source_ibm_pi_network_port.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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,
Expand Down
52 changes: 28 additions & 24 deletions ibm/service/power/data_source_ibm_pi_network_security_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down Expand Up @@ -205,18 +205,22 @@ 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)
nsgClient := instance.NewIBMIPINetworkSecurityGroupClient(ctx, sess, cloudInstanceID)

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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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
Expand All @@ -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)
}
Expand All @@ -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
}
Expand Down
Loading
Loading