From bb6e6fe5503c895d92e1a78c71a7595832144f3b Mon Sep 17 00:00:00 2001 From: Yussuf Shaikh Date: Mon, 14 Mar 2022 19:30:09 +0530 Subject: [PATCH] Support dynamic network type address Signed-off-by: Yussuf Shaikh --- .../power/data_source_ibm_pi_instance.go | 2 +- .../power/data_source_ibm_pi_instance_ip.go | 25 ++++++++++--------- .../power/data_source_ibm_pi_instances.go | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_instance.go b/ibm/service/power/data_source_ibm_pi_instance.go index f3b140bfaa..5fe8db1c71 100644 --- a/ibm/service/power/data_source_ibm_pi_instance.go +++ b/ibm/service/power/data_source_ibm_pi_instance.go @@ -233,7 +233,7 @@ func dataSourceIBMPIInstancesRead(ctx context.Context, d *schema.ResourceData, m for i, pvmip := range powervmdata.Addresses { p := make(map[string]interface{}) - p["ip"] = pvmip.IP + p["ip"] = pvmip.IPAddress p["network_name"] = pvmip.NetworkName p["network_id"] = pvmip.NetworkID p["macaddress"] = pvmip.MacAddress diff --git a/ibm/service/power/data_source_ibm_pi_instance_ip.go b/ibm/service/power/data_source_ibm_pi_instance_ip.go index 0c9f33b5d1..4d57021d36 100644 --- a/ibm/service/power/data_source_ibm_pi_instance_ip.go +++ b/ibm/service/power/data_source_ibm_pi_instance_ip.go @@ -83,19 +83,20 @@ func dataSourceIBMPIInstancesIPRead(ctx context.Context, d *schema.ResourceData, return diag.FromErr(err) } - for _, address := range powervmdata.Addresses { - if address.NetworkName == networkName { - log.Printf("Printing the ip %s", address.IP) - d.SetId(address.NetworkID) - d.Set("ip", address.IP) - d.Set("network_id", address.NetworkID) - d.Set("macaddress", address.MacAddress) - d.Set("external_ip", address.ExternalIP) - d.Set("type", address.Type) + for _, network := range powervmdata.Networks { + if network.NetworkName == networkName { + log.Printf("Printing the ip %s", network.IPAddress) + d.SetId(network.NetworkID) + d.Set("ip", network.IPAddress) + d.Set("network_id", network.NetworkID) + d.Set("macaddress", network.MacAddress) + d.Set("external_ip", network.ExternalIP) + d.Set("type", network.Type) - IPObject := net.ParseIP(address.IP).To4() - - d.Set("ipoctet", strconv.Itoa(int(IPObject[3]))) + IPObject := net.ParseIP(network.IPAddress).To4() + if len(IPObject) > 0 { + d.Set("ipoctet", strconv.Itoa(int(IPObject[3]))) + } return nil } diff --git a/ibm/service/power/data_source_ibm_pi_instances.go b/ibm/service/power/data_source_ibm_pi_instances.go index b076f441a9..a266d9c110 100644 --- a/ibm/service/power/data_source_ibm_pi_instances.go +++ b/ibm/service/power/data_source_ibm_pi_instances.go @@ -217,7 +217,7 @@ func flattenPvmInstanceNetworks(list []*models.PVMInstanceNetwork) (networks []m for i, pvmip := range list { p := make(map[string]interface{}) - p["ip"] = pvmip.IP + p["ip"] = pvmip.IPAddress p["network_name"] = pvmip.NetworkName p["network_id"] = pvmip.NetworkID p["macaddress"] = pvmip.MacAddress