From a27980ac9bc4c2f6479e683d7cba8f89334a595d Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Fri, 14 Jul 2023 09:26:18 -0500 Subject: [PATCH 01/13] Add mtu and accessConfig flags to subnet create commands for terraform --- .../power/data_source_ibm_pi_network.go | 18 ++++++++-- ibm/service/power/resource_ibm_pi_network.go | 33 +++++++++++++++++-- website/docs/d/pi_network.html.markdown | 2 ++ website/docs/r/pi_network.html.markdown | 2 ++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_network.go b/ibm/service/power/data_source_ibm_pi_network.go index a080f5a0221..f6218edf4f3 100644 --- a/ibm/service/power/data_source_ibm_pi_network.go +++ b/ibm/service/power/data_source_ibm_pi_network.go @@ -7,6 +7,7 @@ import ( //"fmt" "context" + "strings" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -39,12 +40,10 @@ func DataSourceIBMPINetwork() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "type": { Type: schema.TypeString, Computed: true, }, - "vlan_id": { Type: schema.TypeInt, Computed: true, @@ -79,6 +78,14 @@ func DataSourceIBMPINetwork() *schema.Resource { Type: schema.TypeBool, Computed: true, }, + "mtu": { + Type: schema.TypeInt, + Computed: true, + }, + "access_config": { + Type: schema.TypeString, + Computed: true, + }, }, } } @@ -123,7 +130,12 @@ func dataSourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, met if len(networkdata.DNSServers) > 0 { d.Set("dns", networkdata.DNSServers) } - d.Set("jumbo", networkdata.Jumbo) + if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + d.Set("jumbo", networkdata.Jumbo) + } else { + d.Set("mtu", networkdata.Mtu) + d.Set("access_config", networkdata.AccessConfig) + } return nil diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 113e5f91765..4a101d948a0 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -9,6 +9,7 @@ import ( "log" "net" "strconv" + "strings" "time" "github.com/apparentlymart/go-cidr/cidr" @@ -80,6 +81,18 @@ func ResourceIBMPINetwork() *schema.Resource { Computed: true, Description: "PI network enable MTU Jumbo option", }, + helpers.PINetworkMtu: { + Type: schema.TypeInt, + Optional: true, + Computed: true, + Description: "PI Maximum Transmission Unit", + }, + helpers.PINetworkAccessConfig: { + Type: schema.TypeInt, + Optional: true, + Computed: true, + Description: "PI network communication configuration", + }, helpers.PICloudInstanceId: { Type: schema.TypeString, Required: true, @@ -142,8 +155,17 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met } } - if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { - body.Jumbo = v.(bool) + if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { + body.Jumbo = v.(bool) + } + } else { + if v, ok := d.GetOk(helpers.PINetworkMtu); ok { + body.Mtu = v.(int64) + } + if v, ok := d.GetOk(helpers.PINetworkAccessConfig); ok { + body.AccessConfig = v.(string) + } } if networktype == "vlan" { @@ -215,7 +237,12 @@ func resourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, meta d.Set("vlan_id", networkdata.VlanID) d.Set(helpers.PINetworkName, networkdata.Name) d.Set(helpers.PINetworkType, networkdata.Type) - d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) + if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) + } else { + d.Set(helpers.PINetworkMtu, networkdata.Mtu) + d.Set(helpers.PINetworkAccessConfig, networkdata.AccessConfig) + } d.Set(helpers.PINetworkGateway, networkdata.Gateway) ipRangesMap := []map[string]interface{}{} if networkdata.IPAddressRanges != nil { diff --git a/website/docs/d/pi_network.html.markdown b/website/docs/d/pi_network.html.markdown index 153b53696d4..708bbe4b721 100644 --- a/website/docs/d/pi_network.html.markdown +++ b/website/docs/d/pi_network.html.markdown @@ -54,3 +54,5 @@ In addition to all argument reference list, you can access the following attribu - `used_ip_percent` - (Float) The percentage of IP addresses used. - `vlan_id` - (String) The VLAN ID that the network is connected to. - `jumbo` - (Bool) MTU Jumbo option of the network. +- `mtu` - (Bool) Maximum Transmission Unit option of the network. +- `access_config` - (String) The network communication configuration option of the network. \ No newline at end of file diff --git a/website/docs/r/pi_network.html.markdown b/website/docs/r/pi_network.html.markdown index ba60fc993cc..5158dba9188 100644 --- a/website/docs/r/pi_network.html.markdown +++ b/website/docs/r/pi_network.html.markdown @@ -70,6 +70,8 @@ Review the argument references that you can specify for your resource. - `pi_ending_ip_address` - (Required, String) The ending ip address. - `pi_starting_ip_address` - (Required, String) The staring ip address. **Note** if the `pi_gateway` or `pi_ipaddress_range` is not provided, it will calculate the value based on CIDR respectively. - `pi_network_jumbo` - (Optional, Bool) MTU Jumbo option of the network. +- `pi_network_mtu` - (Optional, Integer) Maximum Transmission Unit option of the network. +- `pi_network_access_config` - (Optional, String) The network communication configuration option of the network. ## Attribute reference From 8c32aad8f9d9db1df3fe8b8305877e615db8a145 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 20 Jul 2023 15:08:34 -0500 Subject: [PATCH 02/13] Fix terraform compile errors --- ibm/service/power/data_source_ibm_pi_network.go | 2 +- ibm/service/power/resource_ibm_pi_network.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_network.go b/ibm/service/power/data_source_ibm_pi_network.go index f6218edf4f3..6a8319f4145 100644 --- a/ibm/service/power/data_source_ibm_pi_network.go +++ b/ibm/service/power/data_source_ibm_pi_network.go @@ -130,7 +130,7 @@ func dataSourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, met if len(networkdata.DNSServers) > 0 { d.Set("dns", networkdata.DNSServers) } - if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { d.Set("jumbo", networkdata.Jumbo) } else { d.Set("mtu", networkdata.Mtu) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 4a101d948a0..1e06f13adf8 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -155,7 +155,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met } } - if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { body.Jumbo = v.(bool) } @@ -237,7 +237,7 @@ func resourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, meta d.Set("vlan_id", networkdata.VlanID) d.Set(helpers.PINetworkName, networkdata.Name) d.Set(helpers.PINetworkType, networkdata.Type) - if !strings.Contains(sess.Options.Region, helpers.PIStratos) { + if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) } else { d.Set(helpers.PINetworkMtu, networkdata.Mtu) From bf61e1a303f259ce7ddac29c3065b8f6a54b52eb Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Mon, 24 Jul 2023 11:04:26 -0500 Subject: [PATCH 03/13] Fix terraform compile error from yaml changes --- ibm/service/power/resource_ibm_pi_network.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 1e06f13adf8..6d14e364fcd 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -146,7 +146,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met client := st.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) var body = &models.NetworkCreate{ Type: &networktype, - Name: networkname, + Name: &networkname, } if v, ok := d.GetOk(helpers.PINetworkDNS); ok { networkdns := flex.ExpandStringList((v.(*schema.Set)).List()) @@ -161,7 +161,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met } } else { if v, ok := d.GetOk(helpers.PINetworkMtu); ok { - body.Mtu = v.(int64) + body.Mtu = (v.(*int64)) } if v, ok := d.GetOk(helpers.PINetworkAccessConfig); ok { body.AccessConfig = v.(string) From 5e7c62453535038531a5e7a7e288b83aab8f7880 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Wed, 26 Jul 2023 16:26:22 -0500 Subject: [PATCH 04/13] Clean up warnings in powervs provider --- .../power/data_source_ibm_pi_catalog_images.go | 14 +++++++------- ibm/service/power/resource_ibm_pi_network_port.go | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_catalog_images.go b/ibm/service/power/data_source_ibm_pi_catalog_images.go index eb505ac0700..62adf75a8ea 100644 --- a/ibm/service/power/data_source_ibm_pi_catalog_images.go +++ b/ibm/service/power/data_source_ibm_pi_catalog_images.go @@ -163,25 +163,25 @@ func dataSourceIBMPICatalogImagesRead(ctx context.Context, d *schema.ResourceDat } if i.Specifications != nil { s := i.Specifications - if &s.ImageType != nil { + if s.ImageType != "" { image["image_type"] = s.ImageType } - if &s.ContainerFormat != nil { + if s.ContainerFormat != "" { image["container_format"] = s.ContainerFormat } - if &s.DiskFormat != nil { + if s.DiskFormat != "" { image["disk_format"] = s.DiskFormat } - if &s.OperatingSystem != nil { + if s.OperatingSystem != "" { image["operating_system"] = s.OperatingSystem } - if &s.HypervisorType != nil { + if s.HypervisorType != "" { image["hypervisor_type"] = s.HypervisorType } - if &s.Architecture != nil { + if s.Architecture != "" { image["architecture"] = s.Architecture } - if &s.Endianness != nil { + if s.Endianness != "" { image["endianness"] = s.Endianness } } diff --git a/ibm/service/power/resource_ibm_pi_network_port.go b/ibm/service/power/resource_ibm_pi_network_port.go index 703686eb0b4..6b1ffb0cf7b 100644 --- a/ibm/service/power/resource_ibm_pi_network_port.go +++ b/ibm/service/power/resource_ibm_pi_network_port.go @@ -200,7 +200,7 @@ func isIBMPINetworkPortRefreshFunc(client *st.IBMPINetworkClient, id, networknam return nil, "", err } - if &network.PortID != nil { + if network.PortID != nil { //if network.State == "available" { log.Printf(" The port has been created with the following ip address and attached to an instance ") return network, "DOWN", nil From 79aef130053e8ac58b59a1a9129612b5abf17b11 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 27 Jul 2023 14:58:29 -0500 Subject: [PATCH 05/13] Fix bug checking region instead of zone for satellite check --- ibm/service/power/data_source_ibm_pi_network.go | 2 +- ibm/service/power/resource_ibm_pi_network.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_network.go b/ibm/service/power/data_source_ibm_pi_network.go index 6a8319f4145..d5d0d8768ca 100644 --- a/ibm/service/power/data_source_ibm_pi_network.go +++ b/ibm/service/power/data_source_ibm_pi_network.go @@ -130,7 +130,7 @@ func dataSourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, met if len(networkdata.DNSServers) > 0 { d.Set("dns", networkdata.DNSServers) } - if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { + if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { d.Set("jumbo", networkdata.Jumbo) } else { d.Set("mtu", networkdata.Mtu) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 6d14e364fcd..e72e9228c00 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -155,7 +155,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met } } - if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { + if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { body.Jumbo = v.(bool) } @@ -237,7 +237,7 @@ func resourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, meta d.Set("vlan_id", networkdata.VlanID) d.Set(helpers.PINetworkName, networkdata.Name) d.Set(helpers.PINetworkType, networkdata.Type) - if !strings.Contains(sess.Options.Region, helpers.PIStratosRegionPrefix) { + if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) } else { d.Set(helpers.PINetworkMtu, networkdata.Mtu) From e3608ca159618b3c6a02861509661b99b5a217bc Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 27 Jul 2023 15:03:31 -0500 Subject: [PATCH 06/13] Hide shared processor pool and IBMi license arguments from being set in satellite location --- ibm/service/power/data_source_ibm_pi_instance.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_instance.go b/ibm/service/power/data_source_ibm_pi_instance.go index f6dd4d2d9b9..5ac8520d5d4 100644 --- a/ibm/service/power/data_source_ibm_pi_instance.go +++ b/ibm/service/power/data_source_ibm_pi_instance.go @@ -5,6 +5,7 @@ package power import ( "context" + "strings" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -234,19 +235,21 @@ func dataSourceIBMPIInstancesRead(ctx context.Context, d *schema.ResourceData, m d.Set("storage_type", powervmdata.StorageType) d.Set("storage_pool", powervmdata.StoragePool) d.Set("storage_pool_affinity", powervmdata.StoragePoolAffinity) - d.Set("license_repository_capacity", powervmdata.LicenseRepositoryCapacity) d.Set("networks", flattenPvmInstanceNetworks(powervmdata.Networks)) d.Set("deployment_type", powervmdata.DeploymentType) if *powervmdata.PlacementGroup != "none" { d.Set(PIPlacementGroupID, powervmdata.PlacementGroup) } - d.Set(Attr_PIInstanceSharedProcessorPool, powervmdata.SharedProcessorPool) - d.Set(Attr_PIInstanceSharedProcessorPoolID, powervmdata.SharedProcessorPoolID) + + if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { + d.Set("license_repository_capacity", powervmdata.LicenseRepositoryCapacity) + d.Set(Attr_PIInstanceSharedProcessorPool, powervmdata.SharedProcessorPool) + d.Set(Attr_PIInstanceSharedProcessorPoolID, powervmdata.SharedProcessorPoolID) + } if powervmdata.Addresses != nil { pvmaddress := make([]map[string]interface{}, len(powervmdata.Addresses)) for i, pvmip := range powervmdata.Addresses { - p := make(map[string]interface{}) p["ip"] = pvmip.IPAddress p["network_name"] = pvmip.NetworkName @@ -257,13 +260,10 @@ func dataSourceIBMPIInstancesRead(ctx context.Context, d *schema.ResourceData, m pvmaddress[i] = p } d.Set("addresses", pvmaddress) - } if powervmdata.Health != nil { - d.Set("health_status", powervmdata.Health.Status) - } return nil From 71c4b416a997a2918d1d6a61ccef5430837c828a Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 27 Jul 2023 18:03:47 -0500 Subject: [PATCH 07/13] Fix typing issues in MTU and access config Three issues here: - There is no schema.TypeInt64, so I have to set this field to schema.TypeInt. Pretend this value is an int and then cast it back to an int64. This an issue with the terraform sdk. - I accidentally set schema.Int on access config where it should be schema.TypeString - All passed in variables by the user need to be set or else the sdk and/or service broker can't safeguard against bad values correctly --- .../power/data_source_ibm_pi_instance.go | 10 ++---- .../power/data_source_ibm_pi_network.go | 10 ++---- ibm/service/power/resource_ibm_pi_network.go | 32 ++++++++----------- 3 files changed, 19 insertions(+), 33 deletions(-) diff --git a/ibm/service/power/data_source_ibm_pi_instance.go b/ibm/service/power/data_source_ibm_pi_instance.go index 5ac8520d5d4..354cfe951bd 100644 --- a/ibm/service/power/data_source_ibm_pi_instance.go +++ b/ibm/service/power/data_source_ibm_pi_instance.go @@ -5,7 +5,6 @@ package power import ( "context" - "strings" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -235,17 +234,14 @@ func dataSourceIBMPIInstancesRead(ctx context.Context, d *schema.ResourceData, m d.Set("storage_type", powervmdata.StorageType) d.Set("storage_pool", powervmdata.StoragePool) d.Set("storage_pool_affinity", powervmdata.StoragePoolAffinity) + d.Set("license_repository_capacity", powervmdata.LicenseRepositoryCapacity) d.Set("networks", flattenPvmInstanceNetworks(powervmdata.Networks)) d.Set("deployment_type", powervmdata.DeploymentType) if *powervmdata.PlacementGroup != "none" { d.Set(PIPlacementGroupID, powervmdata.PlacementGroup) } - - if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { - d.Set("license_repository_capacity", powervmdata.LicenseRepositoryCapacity) - d.Set(Attr_PIInstanceSharedProcessorPool, powervmdata.SharedProcessorPool) - d.Set(Attr_PIInstanceSharedProcessorPoolID, powervmdata.SharedProcessorPoolID) - } + d.Set(Attr_PIInstanceSharedProcessorPool, powervmdata.SharedProcessorPool) + d.Set(Attr_PIInstanceSharedProcessorPoolID, powervmdata.SharedProcessorPoolID) if powervmdata.Addresses != nil { pvmaddress := make([]map[string]interface{}, len(powervmdata.Addresses)) diff --git a/ibm/service/power/data_source_ibm_pi_network.go b/ibm/service/power/data_source_ibm_pi_network.go index d5d0d8768ca..3a04453ca79 100644 --- a/ibm/service/power/data_source_ibm_pi_network.go +++ b/ibm/service/power/data_source_ibm_pi_network.go @@ -7,7 +7,6 @@ import ( //"fmt" "context" - "strings" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -130,12 +129,9 @@ func dataSourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, met if len(networkdata.DNSServers) > 0 { d.Set("dns", networkdata.DNSServers) } - if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { - d.Set("jumbo", networkdata.Jumbo) - } else { - d.Set("mtu", networkdata.Mtu) - d.Set("access_config", networkdata.AccessConfig) - } + d.Set("jumbo", networkdata.Jumbo) + d.Set("mtu", networkdata.Mtu) + d.Set("access_config", networkdata.AccessConfig) return nil diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index e72e9228c00..18b2aaeb50b 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -9,7 +9,6 @@ import ( "log" "net" "strconv" - "strings" "time" "github.com/apparentlymart/go-cidr/cidr" @@ -88,7 +87,7 @@ func ResourceIBMPINetwork() *schema.Resource { Description: "PI Maximum Transmission Unit", }, helpers.PINetworkAccessConfig: { - Type: schema.TypeInt, + Type: schema.TypeString, Optional: true, Computed: true, Description: "PI network communication configuration", @@ -155,17 +154,15 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met } } - if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { - if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { - body.Jumbo = v.(bool) - } - } else { - if v, ok := d.GetOk(helpers.PINetworkMtu); ok { - body.Mtu = (v.(*int64)) - } - if v, ok := d.GetOk(helpers.PINetworkAccessConfig); ok { - body.AccessConfig = v.(string) - } + if v, ok := d.GetOk(helpers.PINetworkJumbo); ok { + body.Jumbo = v.(bool) + } + if v, ok := d.GetOk(helpers.PINetworkMtu); ok { + var mtu int64 = int64(v.(int)) + body.Mtu = &mtu + } + if v, ok := d.GetOk(helpers.PINetworkAccessConfig); ok { + body.AccessConfig = v.(string) } if networktype == "vlan" { @@ -237,12 +234,9 @@ func resourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, meta d.Set("vlan_id", networkdata.VlanID) d.Set(helpers.PINetworkName, networkdata.Name) d.Set(helpers.PINetworkType, networkdata.Type) - if !strings.Contains(sess.Options.Zone, helpers.PIStratosRegionPrefix) { - d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) - } else { - d.Set(helpers.PINetworkMtu, networkdata.Mtu) - d.Set(helpers.PINetworkAccessConfig, networkdata.AccessConfig) - } + d.Set(helpers.PINetworkJumbo, networkdata.Jumbo) + d.Set(helpers.PINetworkMtu, networkdata.Mtu) + d.Set(helpers.PINetworkAccessConfig, networkdata.AccessConfig) d.Set(helpers.PINetworkGateway, networkdata.Gateway) ipRangesMap := []map[string]interface{}{} if networkdata.IPAddressRanges != nil { From 92638149065d1170bea598c7ffed4dcf46339ea6 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Tue, 1 Aug 2023 16:03:12 -0500 Subject: [PATCH 08/13] Update new network field satellite documentation --- website/docs/d/pi_network.html.markdown | 6 +++--- website/docs/r/pi_network.html.markdown | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/website/docs/d/pi_network.html.markdown b/website/docs/d/pi_network.html.markdown index 708bbe4b721..4935b09a7ef 100644 --- a/website/docs/d/pi_network.html.markdown +++ b/website/docs/d/pi_network.html.markdown @@ -53,6 +53,6 @@ In addition to all argument reference list, you can access the following attribu - `used_ip_count` - (Float) The number of used IP addresses. - `used_ip_percent` - (Float) The percentage of IP addresses used. - `vlan_id` - (String) The VLAN ID that the network is connected to. -- `jumbo` - (Bool) MTU Jumbo option of the network. -- `mtu` - (Bool) Maximum Transmission Unit option of the network. -- `access_config` - (String) The network communication configuration option of the network. \ No newline at end of file +- `jumbo` - (Bool) MTU Jumbo option of the network (for multi-zone locations only). +- `mtu` - (Bool) Maximum Transmission Unit option of the network (for satellite locations only). +- `access_config` - (String) The network communication configuration option of the network (for satellite locations only). \ No newline at end of file diff --git a/website/docs/r/pi_network.html.markdown b/website/docs/r/pi_network.html.markdown index 5158dba9188..c9a94a360ae 100644 --- a/website/docs/r/pi_network.html.markdown +++ b/website/docs/r/pi_network.html.markdown @@ -69,9 +69,9 @@ Review the argument references that you can specify for your resource. The `pi_ipaddress_range` block supports: - `pi_ending_ip_address` - (Required, String) The ending ip address. - `pi_starting_ip_address` - (Required, String) The staring ip address. **Note** if the `pi_gateway` or `pi_ipaddress_range` is not provided, it will calculate the value based on CIDR respectively. -- `pi_network_jumbo` - (Optional, Bool) MTU Jumbo option of the network. -- `pi_network_mtu` - (Optional, Integer) Maximum Transmission Unit option of the network. -- `pi_network_access_config` - (Optional, String) The network communication configuration option of the network. +- `pi_network_jumbo` - (Optional, Bool) MTU Jumbo option of the network (for multi-zone locations only). +- `pi_network_mtu` - (Optional, Integer) Maximum Transmission Unit option of the network (for satellite locations only). +- `pi_network_access_config` - (Optional, String) The network communication configuration option of the network (for satellite locations only). ## Attribute reference From c2e21db1be3b3d779fac03564f0ba9ac83fd2ca8 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Thu, 3 Aug 2023 17:26:39 -0500 Subject: [PATCH 09/13] Revert nullable name change Due to incompatibility between to the two service brokers, this change has to be undone to maintain consistency. --- ibm/service/power/resource_ibm_pi_network.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 18b2aaeb50b..4108f232663 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -145,7 +145,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met client := st.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) var body = &models.NetworkCreate{ Type: &networktype, - Name: &networkname, + Name: networkname, } if v, ok := d.GetOk(helpers.PINetworkDNS); ok { networkdns := flex.ExpandStringList((v.(*schema.Set)).List()) From ec3154c49d2e9bf9e97609483163eb97e50191f6 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Mon, 7 Aug 2023 18:12:26 -0500 Subject: [PATCH 10/13] Update go mod files for new sdk version --- go.mod | 12 ++++++++++-- go.sum | 19 +++++++++++++++++++ ibm/service/power/resource_ibm_pi_network.go | 2 +- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 99e2222dbf2..27626b57366 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/IBM-Cloud/bluemix-go v0.0.0-20230601050310-eecebfbff63e github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20230118060037-101bda076037 - github.com/IBM-Cloud/power-go-client v1.2.2 + github.com/IBM-Cloud/power-go-client v1.3.0 github.com/IBM/apigateway-go-sdk v0.0.0-20210714141226-a5d5d49caaca github.com/IBM/appconfiguration-go-admin-sdk v0.3.0 github.com/IBM/appid-management-go-sdk v0.0.0-20210908164609-dd0e0eaf732f @@ -99,6 +99,7 @@ require ( ) require ( + github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75 // indirect github.com/Logicalis/asn1 v0.0.0-20190312173541-d60463189a56 // indirect github.com/PromonLogicalis/asn1 v0.0.0-20190312173541-d60463189a56 // indirect github.com/agext/levenshtein v1.2.2 // indirect @@ -107,6 +108,7 @@ require ( github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a // indirect + github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185 // indirect github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/eapache/go-resiliency v1.2.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect @@ -133,6 +135,7 @@ require ( github.com/google/gnostic v0.6.9 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -162,6 +165,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/kardianos/govendor v1.0.9 // indirect github.com/klauspost/compress v1.15.15 // indirect github.com/leodido/go-urn v1.2.3 // indirect github.com/libopenstorage/secrets v0.0.0-20220823020833-2ecadaf59d8a // indirect @@ -171,6 +175,8 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/go-wordwrap v1.0.0 // indirect + github.com/mitchellh/gox v1.0.1 // indirect + github.com/mitchellh/iochan v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/spdystream v0.2.0 // indirect @@ -192,10 +198,12 @@ require ( github.com/zclconf/go-cty v1.11.0 // indirect golang.org/x/net v0.10.0 // indirect golang.org/x/oauth2 v0.6.0 // indirect - golang.org/x/sys v0.8.0 // indirect + golang.org/x/sys v0.11.0 // indirect golang.org/x/term v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.6.0 // indirect + golang.org/x/tools/cmd/cover v0.1.0-deprecated // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect google.golang.org/grpc v1.53.0 // indirect diff --git a/go.sum b/go.sum index d3806a0494c..58465ebb338 100644 --- a/go.sum +++ b/go.sum @@ -91,6 +91,8 @@ github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75 h1:xGHheKK44eC6K0u5X+DZW/fRaR1LnDdqPHMZMWx5fv8= +github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod h1:4/6eNcqZ09BZ9wLK3tZOjBA1nDj+B0728nlX5YRlSmQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -105,6 +107,8 @@ github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20230118060037-101bda07603 github.com/IBM-Cloud/ibm-cloud-cli-sdk v0.5.3/go.mod h1:RiUvKuHKTBmBApDMUQzBL14pQUGKcx/IioKQPIcRQjs= github.com/IBM-Cloud/power-go-client v1.2.2 h1:VNlzizoG2x06c3nL1ZBILF701QcvXcu6nEH3hmEKCkw= github.com/IBM-Cloud/power-go-client v1.2.2/go.mod h1:Qfx0fNi+9hms+xu9Z6Euhu9088ByW6C/TCMLECTRWNE= +github.com/IBM-Cloud/power-go-client v1.3.0 h1:XI4O8IqmoKbJuEbTuYYaf+eoxRP+LSiB5Wwn26qdjeI= +github.com/IBM-Cloud/power-go-client v1.3.0/go.mod h1:0YVWoIQN5I5IvyhO/m4yxgPJqCh9QjceN2FNlVpYlOQ= github.com/IBM-Cloud/softlayer-go v1.0.5-tf h1:koUAyF9b6X78lLLruGYPSOmrfY2YcGYKOj/Ug9nbKNw= github.com/IBM-Cloud/softlayer-go v1.0.5-tf/go.mod h1:6HepcfAXROz0Rf63krk5hPZyHT6qyx2MNvYyHof7ik4= github.com/IBM/apigateway-go-sdk v0.0.0-20210714141226-a5d5d49caaca h1:crniVcf+YcmgF03NmmfonXwSQ73oJF+IohFYBwknMxs= @@ -348,6 +352,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a h1:saTgr5tMLFnmy/yg3qDTft4rE5DY2uJ/cCxCe3q0XTU= github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a/go.mod h1:Bw9BbhOJVNR+t0jCqx2GC6zv0TGBsShs56Y3gfSCvl0= +github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185 h1:3T8ZyTDp5QxTx3NU48JVb2u+75xc040fofcBaN+6jPA= +github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185/go.mod h1:cFRxtTwTOJkz2x3rQUNCYKWC93yP1VKjR8NUhqFxZNU= github.com/denisenkom/go-mssqldb v0.0.0-20190412130859-3b1d194e553a/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc h1:8WFBn63wegobsYAX0YjD+8suexZDga5CctH4CCTx2+8= @@ -746,6 +752,8 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -894,6 +902,7 @@ github.com/hashicorp/go-uuid v1.0.2-0.20191001231223-f32f5fe8d6a8/go.mod h1:6SBZ github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -1080,6 +1089,8 @@ github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVY github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kardianos/govendor v1.0.9 h1:WOH3FcVI9eOgnIZYg96iwUwrL4eOVx+aQ66oyX2R8Yc= +github.com/kardianos/govendor v1.0.9/go.mod h1:yvmR6q9ZZ7nSF5Wvh40v0wfP+3TwwL8zYQp+itoZSVM= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kelseyhightower/envconfig v1.3.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= @@ -1193,7 +1204,10 @@ github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/gox v1.0.1 h1:x0jD3dcHk9a9xPSDN6YEL4xL6Qz0dvNYm8yZqui5chI= +github.com/mitchellh/gox v1.0.1/go.mod h1:ED6BioOGXMswlXa2zxfh/xdd5QhwYliBFn9V18Ap4z4= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -1883,6 +1897,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1989,7 +2005,10 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools/cmd/cover v0.1.0-deprecated h1:Rwy+mWYz6loAF+LnG1jHG/JWMHRMMC2/1XX3Ejkx9lA= +golang.org/x/tools/cmd/cover v0.1.0-deprecated/go.mod h1:hMDiIvlpN1NoVgmjLjUJE9tMHyxHjFX7RuQ+rW12mSA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index 4108f232663..b3a13617425 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -162,7 +162,7 @@ func resourceIBMPINetworkCreate(ctx context.Context, d *schema.ResourceData, met body.Mtu = &mtu } if v, ok := d.GetOk(helpers.PINetworkAccessConfig); ok { - body.AccessConfig = v.(string) + body.AccessConfig = models.AccessConfig(v.(string)) } if networktype == "vlan" { From 4f73c89bd668e8b7639768067557203ea9b19d78 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Wed, 16 Aug 2023 14:54:42 -0500 Subject: [PATCH 11/13] Add satellite network acceptance test --- .../power/resource_ibm_pi_network_test.go | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/ibm/service/power/resource_ibm_pi_network_test.go b/ibm/service/power/resource_ibm_pi_network_test.go index 517bf871185..249ce65615e 100644 --- a/ibm/service/power/resource_ibm_pi_network_test.go +++ b/ibm/service/power/resource_ibm_pi_network_test.go @@ -88,6 +88,43 @@ func TestAccIBMPINetworkGatewaybasic(t *testing.T) { }, }) } + +func TestAccIBMPINetworkGatewaybasicSatellite(t *testing.T) { + name := fmt.Sprintf("tf-pi-network-%d", acctest.RandIntRange(10, 100)) + resource.Test(t, resource.TestCase{ + PreCheck: func() { acc.TestAccPreCheck(t) }, + Providers: acc.TestAccProviders, + CheckDestroy: testAccCheckIBMPINetworkDestroy, + Steps: []resource.TestStep{ + { + Config: testAccCheckIBMPINetworkGatewayConfigSatellite(name), + Check: resource.ComposeTestCheckFunc( + testAccCheckIBMPINetworkExists("ibm_pi_network.power_networks"), + resource.TestCheckResourceAttr( + "ibm_pi_network.power_networks", "pi_network_name", name), + resource.TestCheckResourceAttrSet("ibm_pi_network.power_networks", "pi_gateway"), + resource.TestCheckResourceAttrSet("ibm_pi_network.power_networks", "id"), + resource.TestCheckResourceAttrSet("ibm_pi_network.power_networks", "pi_ipaddress_range.#"), + ), + }, + { + Config: testAccCheckIBMPINetworkConfigGatewayUpdateDNS(name), + Check: resource.ComposeTestCheckFunc( + testAccCheckIBMPINetworkExists("ibm_pi_network.power_networks"), + resource.TestCheckResourceAttr( + "ibm_pi_network.power_networks", "pi_network_name", name), + resource.TestCheckResourceAttr( + "ibm_pi_network.power_networks", "pi_gateway", "192.168.17.2"), + resource.TestCheckResourceAttr( + "ibm_pi_network.power_networks", "pi_ipaddress_range.0.pi_ending_ip_address", "192.168.17.254"), + resource.TestCheckResourceAttr( + "ibm_pi_network.power_networks", "pi_ipaddress_range.0.pi_starting_ip_address", "192.168.17.3"), + ), + }, + }, + }) +} + func testAccCheckIBMPINetworkDestroy(s *terraform.State) error { sess, err := acc.TestAccProvider.Meta().(conns.ClientSession).IBMPISession() @@ -190,3 +227,16 @@ func testAccCheckIBMPINetworkConfigGatewayUpdateDNS(name string) string { } `, acc.Pi_cloud_instance_id, name) } + +func testAccCheckIBMPINetworkGatewayConfigSatellite(name string) string { + return fmt.Sprintf(` + resource "ibm_pi_network" "power_networks" { + pi_cloud_instance_id = "%s" + pi_network_name = "%s" + pi_network_type = "vlan" + pi_cidr = "192.168.17.0/24" + pi_network_mtu = 6500 + pi_network_access_config = "outbound-only" + } + `, acc.Pi_cloud_instance_id, name) +} From 76e85207a0b672fd905a56ab68f64a17f5d40e55 Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Mon, 20 Nov 2023 14:11:01 -0600 Subject: [PATCH 12/13] Update mtu and jumbo descriptions --- go.mod | 4 ---- go.sum | 18 ------------------ ibm/service/power/resource_ibm_pi_network.go | 19 +++++++++++-------- website/docs/d/pi_network.html.markdown | 4 ++-- website/docs/r/pi_network.html.markdown | 4 ++-- 5 files changed, 15 insertions(+), 34 deletions(-) diff --git a/go.mod b/go.mod index 594d2a15777..db250f0b402 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,6 @@ require ( github.com/coreos/pkg v0.0.0-20220810130054-c7d1c02cb6cf // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a // indirect - github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185 // indirect github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/eapache/go-resiliency v1.4.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect @@ -119,7 +118,6 @@ require ( github.com/google/gnostic v0.6.9 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -171,8 +169,6 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/go-wordwrap v1.0.0 // indirect - github.com/mitchellh/gox v1.0.1 // indirect - github.com/mitchellh/iochan v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/spdystream v0.2.0 // indirect diff --git a/go.sum b/go.sum index d5ccac6a64b..a5e45464d1a 100644 --- a/go.sum +++ b/go.sum @@ -93,8 +93,6 @@ github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75 h1:xGHheKK44eC6K0u5X+DZW/fRaR1LnDdqPHMZMWx5fv8= -github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod h1:4/6eNcqZ09BZ9wLK3tZOjBA1nDj+B0728nlX5YRlSmQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -104,8 +102,6 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/zstd v1.4.4/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/IBM-Cloud/bluemix-go v0.0.0-20231017073329-75ebe90c98ba h1:8U4HByOYJiaGWBpGjdRIzyzu0NBzjywh//CZnSbEsPw= github.com/IBM-Cloud/bluemix-go v0.0.0-20231017073329-75ebe90c98ba/go.mod h1:mt+O8ryLVANrBKlA4RxKdENp3q6Q7mKQIi2nkiibZbU= -github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20230822142550-30562e113de9 h1:sXRzCK3Glxpyu66Tu2NjztLdT5sDwj4qly+MJKRhdWY= -github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20230822142550-30562e113de9/go.mod h1:xUQL9SGAjoZFd4GNjrjjtEpjpkgU7RFXRyHesbKTjiY= github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20231106114255-c50117860a3c h1:tRS4VuOG3lHNG+yrsh3vZZQDVNLuFJB0oZbTJp9YXds= github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20231106114255-c50117860a3c/go.mod h1:xUQL9SGAjoZFd4GNjrjjtEpjpkgU7RFXRyHesbKTjiY= github.com/IBM-Cloud/ibm-cloud-cli-sdk v0.5.3/go.mod h1:RiUvKuHKTBmBApDMUQzBL14pQUGKcx/IioKQPIcRQjs= @@ -159,10 +155,6 @@ github.com/IBM/keyprotect-go-client v0.12.2 h1:Cjxcqin9Pl0xz3MnxdiVd4v/eIa79xL3h github.com/IBM/keyprotect-go-client v0.12.2/go.mod h1:yr8h2noNgU8vcbs+vhqoXp3Lmv73PI0zAc6VMgFvWwM= github.com/IBM/networking-go-sdk v0.42.2 h1:caqjx4jyFHi10Vlf3skHvlL6K3YJRVstsmCBmvdyqkA= github.com/IBM/networking-go-sdk v0.42.2/go.mod h1:lTUZwtUkMANMnrLHFIgRhHrkBfwASY/Iho1fabaPHxo= -github.com/IBM/platform-services-go-sdk v0.52.0 h1:hbf640xE8T0Rwy2IUf5Pu4OATabGS4IDMnEInXUXs4o= -github.com/IBM/platform-services-go-sdk v0.52.0/go.mod h1:6LxcUhIaSLP4SuQJXF9oLXBamSQogs5D9BcVwr4hmfU= -github.com/IBM/platform-services-go-sdk v0.52.1 h1:fUCtYMAekzsWO/ylZi31j6BpyJ1xKb39NG62zBXePbg= -github.com/IBM/platform-services-go-sdk v0.52.1/go.mod h1:6LxcUhIaSLP4SuQJXF9oLXBamSQogs5D9BcVwr4hmfU= github.com/IBM/platform-services-go-sdk v0.53.1 h1:axpK4dzlf+C+KgHQZWXoKSUMoV2t6OrR5kGGumUEXrI= github.com/IBM/platform-services-go-sdk v0.53.1/go.mod h1:CWSprvsCsXWvujmBzbtoJSmbRZS9FVV3O594b0t/GiM= github.com/IBM/project-go-sdk v0.0.99 h1:rQU/uQLW83OsAUfP/d8fFSIjp8ooEQIFjalYQD4i4aY= @@ -368,8 +360,6 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a h1:saTgr5tMLFnmy/yg3qDTft4rE5DY2uJ/cCxCe3q0XTU= github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a/go.mod h1:Bw9BbhOJVNR+t0jCqx2GC6zv0TGBsShs56Y3gfSCvl0= -github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185 h1:3T8ZyTDp5QxTx3NU48JVb2u+75xc040fofcBaN+6jPA= -github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185/go.mod h1:cFRxtTwTOJkz2x3rQUNCYKWC93yP1VKjR8NUhqFxZNU= github.com/denisenkom/go-mssqldb v0.0.0-20190412130859-3b1d194e553a/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc h1:8WFBn63wegobsYAX0YjD+8suexZDga5CctH4CCTx2+8= @@ -748,8 +738,6 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20230510103437-eeec1cb781c3 h1:2XF1Vzq06X+inNqgJ9tRnGuw+ZVCB3FazXODD6JE1R8= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -899,7 +887,6 @@ github.com/hashicorp/go-uuid v1.0.2-0.20191001231223-f32f5fe8d6a8/go.mod h1:6SBZ github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -1084,8 +1071,6 @@ github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVY github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kardianos/govendor v1.0.9 h1:WOH3FcVI9eOgnIZYg96iwUwrL4eOVx+aQ66oyX2R8Yc= -github.com/kardianos/govendor v1.0.9/go.mod h1:yvmR6q9ZZ7nSF5Wvh40v0wfP+3TwwL8zYQp+itoZSVM= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kelseyhightower/envconfig v1.3.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= @@ -1200,10 +1185,7 @@ github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/gox v1.0.1 h1:x0jD3dcHk9a9xPSDN6YEL4xL6Qz0dvNYm8yZqui5chI= -github.com/mitchellh/gox v1.0.1/go.mod h1:ED6BioOGXMswlXa2zxfh/xdd5QhwYliBFn9V18Ap4z4= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index b3a13617425..e9e6c9f1b2a 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -75,16 +75,19 @@ func ResourceIBMPINetwork() *schema.Resource { Description: "PI network gateway", }, helpers.PINetworkJumbo: { - Type: schema.TypeBool, - Optional: true, - Computed: true, - Description: "PI network enable MTU Jumbo option", + Type: schema.TypeBool, + Optional: true, + Computed: true, + Deprecated: "deprecated use pi_network_mtu instead", + ExactlyOneOf: []string{helpers.PINetworkMtu, helpers.PINetworkJumbo}, + Description: "PI network enable MTU Jumbo option", }, helpers.PINetworkMtu: { - Type: schema.TypeInt, - Optional: true, - Computed: true, - Description: "PI Maximum Transmission Unit", + Type: schema.TypeInt, + Optional: true, + Computed: true, + ExactlyOneOf: []string{helpers.PINetworkMtu, helpers.PINetworkJumbo}, + Description: "PI Maximum Transmission Unit", }, helpers.PINetworkAccessConfig: { Type: schema.TypeString, diff --git a/website/docs/d/pi_network.html.markdown b/website/docs/d/pi_network.html.markdown index 4935b09a7ef..1ab1aad0356 100644 --- a/website/docs/d/pi_network.html.markdown +++ b/website/docs/d/pi_network.html.markdown @@ -53,6 +53,6 @@ In addition to all argument reference list, you can access the following attribu - `used_ip_count` - (Float) The number of used IP addresses. - `used_ip_percent` - (Float) The percentage of IP addresses used. - `vlan_id` - (String) The VLAN ID that the network is connected to. -- `jumbo` - (Bool) MTU Jumbo option of the network (for multi-zone locations only). -- `mtu` - (Bool) Maximum Transmission Unit option of the network (for satellite locations only). +- `jumbo` - (Bool) MTU Jumbo option of the network (for multi-zone locations only). `deprecated` +- `mtu` - (Bool) Maximum Transmission Unit option of the network. - `access_config` - (String) The network communication configuration option of the network (for satellite locations only). \ No newline at end of file diff --git a/website/docs/r/pi_network.html.markdown b/website/docs/r/pi_network.html.markdown index c9a94a360ae..8c3f0e6e29a 100644 --- a/website/docs/r/pi_network.html.markdown +++ b/website/docs/r/pi_network.html.markdown @@ -69,8 +69,8 @@ Review the argument references that you can specify for your resource. The `pi_ipaddress_range` block supports: - `pi_ending_ip_address` - (Required, String) The ending ip address. - `pi_starting_ip_address` - (Required, String) The staring ip address. **Note** if the `pi_gateway` or `pi_ipaddress_range` is not provided, it will calculate the value based on CIDR respectively. -- `pi_network_jumbo` - (Optional, Bool) MTU Jumbo option of the network (for multi-zone locations only). -- `pi_network_mtu` - (Optional, Integer) Maximum Transmission Unit option of the network (for satellite locations only). +- `pi_network_jumbo` - (Optional, Bool) MTU Jumbo option of the network (for multi-zone locations only). `deprecated` use `pi_network_mtu` instead. +- `pi_network_mtu` - (Optional, Integer) Maximum Transmission Unit option of the network, min size = 1450 & max size = 9000. - `pi_network_access_config` - (Optional, String) The network communication configuration option of the network (for satellite locations only). ## Attribute reference From fd3ef4c3043c241ee5eaf3940f2eaace0f2922cc Mon Sep 17 00:00:00 2001 From: Axel Ismirlian Date: Tue, 21 Nov 2023 09:11:46 -0600 Subject: [PATCH 13/13] Add access-config validation to terraform --- ibm/service/power/resource_ibm_pi_network.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index e9e6c9f1b2a..49e85d9aa5f 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -90,10 +90,11 @@ func ResourceIBMPINetwork() *schema.Resource { Description: "PI Maximum Transmission Unit", }, helpers.PINetworkAccessConfig: { - Type: schema.TypeString, - Optional: true, - Computed: true, - Description: "PI network communication configuration", + Type: schema.TypeString, + Optional: true, + Computed: true, + ValidateFunc: validate.ValidateAllowedStringValues([]string{"internal-only", "outbound-only", "bidirectional-static-route", "bidirectional-bgp", "bidirectional-l2out"}), + Description: "PI network communication configuration", }, helpers.PICloudInstanceId: { Type: schema.TypeString,