diff --git a/ibm/provider/provider.go b/ibm/provider/provider.go index 0bf1e29b21..08d9d91b24 100644 --- a/ibm/provider/provider.go +++ b/ibm/provider/provider.go @@ -1172,7 +1172,6 @@ func Provider() *schema.Provider { "ibm_pi_capture": power.ResourceIBMPICapture(), "ibm_pi_image": power.ResourceIBMPIImage(), "ibm_pi_image_export": power.ResourceIBMPIImageExport(), - "ibm_pi_network_port": power.ResourceIBMPINetworkPort(), "ibm_pi_snapshot": power.ResourceIBMPISnapshot(), "ibm_pi_network_port_attach": power.ResourceIBMPINetworkPortAttach(), "ibm_pi_dhcp": power.ResourceIBMPIDhcp(), diff --git a/ibm/service/power/data_source_ibm_pi_dhcp.go b/ibm/service/power/data_source_ibm_pi_dhcp.go index c6e716c020..b42bbc98dc 100644 --- a/ibm/service/power/data_source_ibm_pi_dhcp.go +++ b/ibm/service/power/data_source_ibm_pi_dhcp.go @@ -60,11 +60,6 @@ func DataSourceIBMPIDhcp() *schema.Resource { }, }, }, - Attr_DhcpNetworkDeprecated: { - Type: schema.TypeString, - Computed: true, - Description: "The ID of the DHCP Server private network (deprecated - replaced by network_id)", - }, Attr_DhcpNetworkID: { Type: schema.TypeString, Computed: true, @@ -114,7 +109,6 @@ func dataSourceIBMPIDhcpRead(ctx context.Context, d *schema.ResourceData, meta i if dhcpServer.Network != nil { dhcpNetwork := dhcpServer.Network if dhcpNetwork.ID != nil { - d.Set(Attr_DhcpNetworkDeprecated, *dhcpNetwork.ID) d.Set(Attr_DhcpNetworkID, *dhcpNetwork.ID) } if dhcpNetwork.Name != nil { diff --git a/ibm/service/power/data_source_ibm_pi_dhcps.go b/ibm/service/power/data_source_ibm_pi_dhcps.go index a95f1935b5..79c2586dae 100644 --- a/ibm/service/power/data_source_ibm_pi_dhcps.go +++ b/ibm/service/power/data_source_ibm_pi_dhcps.go @@ -45,11 +45,6 @@ func DataSourceIBMPIDhcps() *schema.Resource { Computed: true, Description: "The ID of the DHCP Server", }, - Attr_DhcpNetworkDeprecated: { - Type: schema.TypeString, - Computed: true, - Description: "The ID of the DHCP Server private network (deprecated - replaced by network_id)", - }, Attr_DhcpNetworkID: { Type: schema.TypeString, Computed: true, @@ -103,7 +98,6 @@ func dataSourceIBMPIDhcpServersRead(ctx context.Context, d *schema.ResourceData, if dhcpServer.Network != nil { dhcpNetwork := dhcpServer.Network if dhcpNetwork.ID != nil { - d.Set(Attr_DhcpNetworkDeprecated, *dhcpNetwork.ID) d.Set(Attr_DhcpNetworkID, *dhcpNetwork.ID) } if dhcpNetwork.Name != nil { diff --git a/ibm/service/power/data_source_ibm_pi_instance.go b/ibm/service/power/data_source_ibm_pi_instance.go index 354cfe951b..31317b561f 100644 --- a/ibm/service/power/data_source_ibm_pi_instance.go +++ b/ibm/service/power/data_source_ibm_pi_instance.go @@ -52,39 +52,6 @@ func DataSourceIBMPIInstance() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "addresses": { - Type: schema.TypeList, - Computed: true, - Deprecated: "This field is deprecated, use networks instead", - Elem: &schema.Resource{ - Schema: map[string]*schema.Schema{ - "ip": { - Type: schema.TypeString, - Computed: true, - }, - "macaddress": { - Type: schema.TypeString, - Computed: true, - }, - "network_id": { - Type: schema.TypeString, - Computed: true, - }, - "network_name": { - Type: schema.TypeString, - Computed: true, - }, - "type": { - Type: schema.TypeString, - Computed: true, - }, - "external_ip": { - Type: schema.TypeString, - Computed: true, - }, - }, - }, - }, "networks": { Type: schema.TypeList, Computed: true, @@ -243,21 +210,6 @@ func dataSourceIBMPIInstancesRead(ctx context.Context, d *schema.ResourceData, m 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 - p["network_id"] = pvmip.NetworkID - p["macaddress"] = pvmip.MacAddress - p["type"] = pvmip.Type - p["external_ip"] = pvmip.ExternalIP - pvmaddress[i] = p - } - d.Set("addresses", pvmaddress) - } - if powervmdata.Health != nil { d.Set("health_status", powervmdata.Health.Status) } diff --git a/ibm/service/power/data_source_ibm_pi_key.go b/ibm/service/power/data_source_ibm_pi_key.go index 70ab96ba7c..911154b6d8 100644 --- a/ibm/service/power/data_source_ibm_pi_key.go +++ b/ibm/service/power/data_source_ibm_pi_key.go @@ -46,12 +46,6 @@ func DataSourceIBMPIKey() *schema.Resource { Computed: true, Description: "SSH RSA key", }, - "sshkey": { - Type: schema.TypeString, - Sensitive: true, - Computed: true, - Deprecated: "This field is deprecated, use ssh_key instead", - }, }, } } @@ -78,7 +72,6 @@ func dataSourceIBMPIKeyRead(ctx context.Context, d *schema.ResourceData, meta in d.SetId(*sshkeydata.Name) d.Set(Attr_KeyCreationDate, sshkeydata.CreationDate.String()) d.Set(Attr_Key, sshkeydata.SSHKey) - d.Set("sshkey", sshkeydata.SSHKey) // TODO: deprecated, to remove return nil } diff --git a/ibm/service/power/data_source_ibm_pi_network.go b/ibm/service/power/data_source_ibm_pi_network.go index 3a04453ca7..65e75af549 100644 --- a/ibm/service/power/data_source_ibm_pi_network.go +++ b/ibm/service/power/data_source_ibm_pi_network.go @@ -63,19 +63,15 @@ func DataSourceIBMPINetwork() *schema.Resource { Type: schema.TypeFloat, Computed: true, }, - "name": { - Type: schema.TypeString, - Computed: true, - Deprecated: "This value is deprecated in favor of" + helpers.PINetworkName, - }, "dns": { Type: schema.TypeSet, Computed: true, Elem: &schema.Schema{Type: schema.TypeString}, }, "jumbo": { - Type: schema.TypeBool, - Computed: true, + Type: schema.TypeBool, + Computed: true, + Deprecated: "This field is deprecated, use mtu instead.", }, "mtu": { Type: schema.TypeInt, @@ -123,9 +119,6 @@ func dataSourceIBMPINetworkRead(ctx context.Context, d *schema.ResourceData, met if networkdata.IPAddressMetrics.Utilization != nil { d.Set("used_ip_percent", networkdata.IPAddressMetrics.Utilization) } - if networkdata.Name != nil { - d.Set("name", networkdata.Name) - } if len(networkdata.DNSServers) > 0 { d.Set("dns", networkdata.DNSServers) } diff --git a/ibm/service/power/resource_ibm_pi_dhcp.go b/ibm/service/power/resource_ibm_pi_dhcp.go index c4d1d96532..071b3d80ad 100644 --- a/ibm/service/power/resource_ibm_pi_dhcp.go +++ b/ibm/service/power/resource_ibm_pi_dhcp.go @@ -98,11 +98,6 @@ func ResourceIBMPIDhcp() *schema.Resource { }, }, }, - Attr_DhcpNetworkDeprecated: { - Type: schema.TypeString, - Computed: true, - Description: "The ID of the DHCP Server private network (deprecated - replaced by network_id)", - }, Attr_DhcpNetworkID: { Type: schema.TypeString, Computed: true, @@ -210,7 +205,6 @@ func resourceIBMPIDhcpRead(ctx context.Context, d *schema.ResourceData, meta int if dhcpServer.Network != nil { dhcpNetwork := dhcpServer.Network if dhcpNetwork.ID != nil { - d.Set(Attr_DhcpNetworkDeprecated, *dhcpNetwork.ID) d.Set(Attr_DhcpNetworkID, *dhcpNetwork.ID) } if dhcpNetwork.Name != nil { diff --git a/ibm/service/power/resource_ibm_pi_instance.go b/ibm/service/power/resource_ibm_pi_instance.go index 37236ed8ae..2ba9a41701 100644 --- a/ibm/service/power/resource_ibm_pi_instance.go +++ b/ibm/service/power/resource_ibm_pi_instance.go @@ -56,12 +56,6 @@ func ResourceIBMPIInstance() *schema.Resource { Computed: true, Description: "PI instance status", }, - "pi_migratable": { - Type: schema.TypeBool, - Optional: true, - Computed: true, - Description: "set to true to enable migration of the PI instance", - }, "min_processors": { Type: schema.TypeFloat, Computed: true, @@ -313,12 +307,6 @@ func ResourceIBMPIInstance() *schema.Resource { Default: "none", ValidateFunc: validate.ValidateAllowedStringValues([]string{"none", "soft", "hard"}), }, - - // "reboot_for_resource_change": { - // Type: schema.TypeString, - // Optional: true, - // Description: "Flag to be passed for CPU/Memory changes that require a reboot to take effect", - // }, "operating_system": { Type: schema.TypeString, Computed: true, @@ -435,9 +423,6 @@ func resourceIBMPIInstanceRead(ctx context.Context, d *schema.ResourceData, meta d.Set("status", powervmdata.Status) } d.Set(helpers.PIInstanceProcType, powervmdata.ProcType) - if powervmdata.Migratable != nil { - d.Set("pi_migratable", powervmdata.Migratable) - } d.Set("min_processors", powervmdata.Minproc) d.Set(helpers.PIInstanceProgress, powervmdata.Progress) if powervmdata.StorageType != nil { @@ -598,7 +583,7 @@ func resourceIBMPIInstanceUpdate(ctx context.Context, d *schema.ResourceData, me } // Start of the change for Memory and Processors - if d.HasChange(helpers.PIInstanceMemory) || d.HasChange(helpers.PIInstanceProcessors) || d.HasChange("pi_migratable") { + if d.HasChange(helpers.PIInstanceMemory) || d.HasChange(helpers.PIInstanceProcessors) { maxMemLpar := d.Get("max_memory").(float64) maxCPULpar := d.Get("max_processors").(float64) @@ -627,10 +612,6 @@ func resourceIBMPIInstanceUpdate(ctx context.Context, d *schema.ResourceData, me Memory: mem, Processors: procs, } - if m, ok := d.GetOk("pi_migratable"); ok { - migratable := m.(bool) - body.Migratable = &migratable - } if cores_enabled { log.Printf("support for %s is enabled", CUSTOM_VIRTUAL_CORES) body.VirtualCores = &models.VirtualCores{Assigned: &assignedVirtualCores} @@ -1184,11 +1165,6 @@ func createPVMInstance(d *schema.ResourceData, client *st.IBMPIInstanceClient, i if r, ok := d.GetOk(helpers.PIInstanceReplicationScheme); ok { replicationNamingScheme = r.(string) } - var migratable bool - if m, ok := d.GetOk("pi_migratable"); ok { - migratable = m.(bool) - } - var pinpolicy string if p, ok := d.GetOk(helpers.PIInstancePinPolicy); ok { pinpolicy = p.(string) @@ -1202,9 +1178,7 @@ func createPVMInstance(d *schema.ResourceData, client *st.IBMPIInstanceClient, i userData = u.(string) } - //publicinterface := d.Get(helpers.PIInstancePublicNetwork).(bool) body := &models.PVMInstanceCreate{ - //NetworkIds: networks, Processors: &procs, Memory: &mem, ServerName: flex.PtrToString(name), @@ -1216,7 +1190,6 @@ func createPVMInstance(d *schema.ResourceData, client *st.IBMPIInstanceClient, i ReplicantNamingScheme: flex.PtrToString(replicationNamingScheme), ReplicantAffinityPolicy: flex.PtrToString(replicationpolicy), Networks: pvmNetworks, - Migratable: &migratable, } if s, ok := d.GetOk(helpers.PIInstanceSSHKeyName); ok { sshkey := s.(string) diff --git a/ibm/service/power/resource_ibm_pi_key.go b/ibm/service/power/resource_ibm_pi_key.go index 3f305e4da2..10ee1efcc4 100644 --- a/ibm/service/power/resource_ibm_pi_key.go +++ b/ibm/service/power/resource_ibm_pi_key.go @@ -55,11 +55,6 @@ func ResourceIBMPIKey() *schema.Resource { Computed: true, Description: "Date of SSH Key creation", }, - Attr_KeyID: { - Type: schema.TypeString, - Computed: true, - Deprecated: "User defined name for the SSH key (deprecated - replaced by name)", - }, Attr_KeyName: { Type: schema.TypeString, Computed: true, @@ -127,7 +122,6 @@ func resourceIBMPIKeyRead(ctx context.Context, d *schema.ResourceData, meta inte // set attributes d.Set(Attr_KeyName, sshkeydata.Name) - d.Set(Attr_KeyID, sshkeydata.Name) d.Set(Attr_Key, sshkeydata.SSHKey) d.Set(Attr_KeyCreationDate, sshkeydata.CreationDate.String()) diff --git a/ibm/service/power/resource_ibm_pi_network.go b/ibm/service/power/resource_ibm_pi_network.go index d6ad8826c6..941731b8fe 100644 --- a/ibm/service/power/resource_ibm_pi_network.go +++ b/ibm/service/power/resource_ibm_pi_network.go @@ -75,12 +75,12 @@ func ResourceIBMPINetwork() *schema.Resource { Description: "PI network gateway", }, helpers.PINetworkJumbo: { - Type: schema.TypeBool, - Optional: true, - Computed: true, - Deprecated: "deprecated use pi_network_mtu instead", - ConflictsWith: []string{helpers.PINetworkMtu}, - Description: "PI network enable MTU Jumbo option", + Type: schema.TypeBool, + Optional: true, + Computed: true, + Deprecated: "This field is deprecated, use pi_network_mtu instead.", + ConflictsWith: []string{helpers.PINetworkMtu, helpers.PINetworkJumbo}, + Description: "PI network enable MTU Jumbo option", }, helpers.PINetworkMtu: { Type: schema.TypeInt, diff --git a/ibm/service/power/resource_ibm_pi_network_port.go b/ibm/service/power/resource_ibm_pi_network_port.go deleted file mode 100644 index 6b1ffb0cf7..0000000000 --- a/ibm/service/power/resource_ibm_pi_network_port.go +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright IBM Corp. 2017, 2021 All Rights Reserved. -// Licensed under the Mozilla Public License v2.0 - -package power - -import ( - "context" - "fmt" - "log" - "time" - - "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - - st "github.com/IBM-Cloud/power-go-client/clients/instance" - "github.com/IBM-Cloud/power-go-client/helpers" - "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" -) - -func ResourceIBMPINetworkPort() *schema.Resource { - return &schema.Resource{ - CreateContext: resourceIBMPINetworkPortCreate, - ReadContext: resourceIBMPINetworkPortRead, - UpdateContext: resourceIBMPINetworkPortUpdate, - DeleteContext: resourceIBMPINetworkPortDelete, - Importer: &schema.ResourceImporter{}, - - Timeouts: &schema.ResourceTimeout{ - Create: schema.DefaultTimeout(60 * time.Minute), - Delete: schema.DefaultTimeout(60 * time.Minute), - }, - - Schema: map[string]*schema.Schema{ - helpers.PINetworkName: { - Type: schema.TypeString, - Required: true, - }, - helpers.PICloudInstanceId: { - Type: schema.TypeString, - Required: true, - }, - helpers.PINetworkPortDescription: { - Type: schema.TypeString, - Optional: true, - Computed: true, - }, - helpers.PINetworkPortIPAddress: { - Type: schema.TypeString, - Optional: true, - Computed: true, - }, - - //Computed Attributes - "macaddress": { - Type: schema.TypeString, - Computed: true, - }, - "portid": { - Type: schema.TypeString, - Computed: true, - }, - "status": { - Type: schema.TypeString, - Computed: true, - }, - "public_ip": { - Type: schema.TypeString, - Computed: true, - }, - }, - DeprecationMessage: "Resource ibm_pi_network_port is deprecated. Use ibm_pi_network_port_attach to create & attach a network port to a pvm instance", - } -} - -func resourceIBMPINetworkPortCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - sess, err := meta.(conns.ClientSession).IBMPISession() - if err != nil { - return diag.FromErr(err) - } - cloudInstanceID := d.Get(helpers.PICloudInstanceId).(string) - networkname := d.Get(helpers.PINetworkName).(string) - description := d.Get(helpers.PINetworkPortDescription).(string) - - ipaddress := d.Get(helpers.PINetworkPortIPAddress).(string) - - nwportBody := &models.NetworkPortCreate{Description: description} - - if ipaddress != "" { - log.Printf("IP address provided. ") - nwportBody.IPAddress = ipaddress - } - - client := st.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) - - networkPortResponse, err := client.CreatePort(networkname, nwportBody) - if err != nil { - return diag.FromErr(err) - } - - log.Printf("Printing the networkresponse %+v", &networkPortResponse) - - IBMPINetworkPortID := *networkPortResponse.PortID - - d.SetId(fmt.Sprintf("%s/%s/%s", cloudInstanceID, networkname, IBMPINetworkPortID)) - - _, err = isWaitForIBMPINetworkPortAvailable(ctx, client, IBMPINetworkPortID, networkname, d.Timeout(schema.TimeoutCreate)) - if err != nil { - return diag.FromErr(err) - } - - return resourceIBMPINetworkPortRead(ctx, d, meta) -} - -func resourceIBMPINetworkPortRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - sess, err := meta.(conns.ClientSession).IBMPISession() - if err != nil { - return diag.FromErr(err) - } - - parts, err := flex.IdParts(d.Id()) - if err != nil { - return diag.FromErr(err) - } - cloudInstanceID := parts[0] - networkname := parts[1] - portID := parts[2] - - networkC := st.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) - networkdata, err := networkC.GetPort(networkname, portID) - if err != nil { - return diag.FromErr(err) - } - - d.Set(helpers.PINetworkPortIPAddress, networkdata.IPAddress) - d.Set(helpers.PINetworkPortDescription, networkdata.Description) - d.Set("macaddress", networkdata.MacAddress) - d.Set("status", networkdata.Status) - d.Set("portid", networkdata.PortID) - d.Set("public_ip", networkdata.ExternalIP) - - return nil -} - -func resourceIBMPINetworkPortUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - return nil -} - -func resourceIBMPINetworkPortDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { - - log.Printf("Calling the network delete functions. ") - sess, err := meta.(conns.ClientSession).IBMPISession() - if err != nil { - return diag.FromErr(err) - } - - parts, err := flex.IdParts(d.Id()) - if err != nil { - return diag.FromErr(err) - } - cloudInstanceID := parts[0] - networkname := parts[1] - portID := parts[2] - - client := st.NewIBMPINetworkClient(ctx, sess, cloudInstanceID) - - log.Printf("Calling the delete with the following params delete with cloud instance (%s) and networkid (%s) and portid (%s) ", cloudInstanceID, networkname, portID) - err = client.DeletePort(networkname, portID) - if err != nil { - return diag.FromErr(err) - } - - d.SetId("") - return nil -} - -func isWaitForIBMPINetworkPortAvailable(ctx context.Context, client *st.IBMPINetworkClient, id string, networkname string, timeout time.Duration) (interface{}, error) { - log.Printf("Waiting for Power Network (%s) that was created for Network Zone (%s) to be available.", id, networkname) - - stateConf := &resource.StateChangeConf{ - Pending: []string{"retry", helpers.PINetworkProvisioning}, - Target: []string{"DOWN"}, - Refresh: isIBMPINetworkPortRefreshFunc(client, id, networkname), - Timeout: timeout, - Delay: 10 * time.Second, - MinTimeout: 10 * time.Minute, - } - - return stateConf.WaitForStateContext(ctx) -} - -func isIBMPINetworkPortRefreshFunc(client *st.IBMPINetworkClient, id, networkname string) resource.StateRefreshFunc { - - log.Printf("Calling the IsIBMPINetwork Refresh Function....with the following id (%s) for network port and following id (%s) for network name and waiting for network to be READY", id, networkname) - return func() (interface{}, string, error) { - network, err := client.GetPort(networkname, id) - if err != nil { - return nil, "", err - } - - 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 - } - - return network, helpers.PINetworkProvisioning, nil - } -} diff --git a/ibm/service/power/resource_ibm_pi_network_port_attach.go b/ibm/service/power/resource_ibm_pi_network_port_attach.go index b6dd305763..e0e342e15a 100644 --- a/ibm/service/power/resource_ibm_pi_network_port_attach.go +++ b/ibm/service/power/resource_ibm_pi_network_port_attach.go @@ -69,11 +69,6 @@ func ResourceIBMPINetworkPortAttach() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "port_id": { - Type: schema.TypeString, - Computed: true, - Deprecated: "port_id attribute is deprecated, use network_port_id instead.", - }, "network_port_id": { Type: schema.TypeString, Computed: true, @@ -169,7 +164,6 @@ func resourceIBMPINetworkPortAttachRead(ctx context.Context, d *schema.ResourceD d.Set("macaddress", networkdata.MacAddress) d.Set("status", networkdata.Status) d.Set("network_port_id", networkdata.PortID) - d.Set("port_id", networkdata.PortID) d.Set("public_ip", networkdata.ExternalIP) return nil diff --git a/ibm/service/power/resource_ibm_pi_network_port_test.go b/ibm/service/power/resource_ibm_pi_network_port_test.go deleted file mode 100644 index 65f72d7168..0000000000 --- a/ibm/service/power/resource_ibm_pi_network_port_test.go +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright IBM Corp. 2017, 2021 All Rights Reserved. -// Licensed under the Mozilla Public License v2.0 - -package power_test - -import ( - "context" - "errors" - "fmt" - "testing" - - acc "github.com/IBM-Cloud/terraform-provider-ibm/ibm/acctest" - "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/helper/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" - - st "github.com/IBM-Cloud/power-go-client/clients/instance" -) - -func TestAccIBMPINetworkPortbasic(t *testing.T) { - name := fmt.Sprintf("tf-pi-network-port-%d", acctest.RandIntRange(10, 100)) - resource.Test(t, resource.TestCase{ - PreCheck: func() { acc.TestAccPreCheck(t) }, - Providers: acc.TestAccProviders, - CheckDestroy: testAccCheckIBMPINetworkPortDestroy, - Steps: []resource.TestStep{ - { - Config: testAccCheckIBMPINetworkPortConfig(name), - Check: resource.ComposeTestCheckFunc( - testAccCheckIBMPINetworkPortExists("ibm_pi_network_port.power_network_port"), - resource.TestCheckResourceAttr( - "ibm_pi_network_port.power_network_port", "pi_network_name", name), - ), - }, - }, - }) -} -func testAccCheckIBMPINetworkPortDestroy(s *terraform.State) error { - sess, err := acc.TestAccProvider.Meta().(conns.ClientSession).IBMPISession() - if err != nil { - return err - } - for _, rs := range s.RootModule().Resources { - if rs.Type != "ibm_pi_network_port" { - continue - } - parts, err := flex.IdParts(rs.Primary.ID) - if err != nil { - return err - } - cloudInstanceID := parts[0] - networkname := parts[1] - portID := parts[2] - networkC := st.NewIBMPINetworkClient(context.Background(), sess, cloudInstanceID) - _, err = networkC.GetPort(networkname, portID) - if err == nil { - return fmt.Errorf("PI Network Port still exists: %s", rs.Primary.ID) - } - } - - return nil -} -func testAccCheckIBMPINetworkPortExists(n string) resource.TestCheckFunc { - return func(s *terraform.State) error { - - rs, ok := s.RootModule().Resources[n] - - if !ok { - return fmt.Errorf("Not found: %s", n) - } - - if rs.Primary.ID == "" { - return errors.New("No Record ID is set") - } - - sess, err := acc.TestAccProvider.Meta().(conns.ClientSession).IBMPISession() - if err != nil { - return err - } - parts, err := flex.IdParts(rs.Primary.ID) - if err != nil { - return err - } - cloudInstanceID := parts[0] - networkname := parts[1] - portID := parts[2] - client := st.NewIBMPINetworkClient(context.Background(), sess, cloudInstanceID) - - _, err = client.GetPort(networkname, portID) - if err != nil { - return err - } - return nil - - } -} - -func testAccCheckIBMPINetworkPortConfig(name string) string { - return testAccCheckIBMPINetworkConfig(name) + fmt.Sprintf(` - resource "ibm_pi_network_port" "power_network_port" { - pi_cloud_instance_id = "%s" - pi_network_name = ibm_pi_network.power_networks.pi_network_name - pi_network_port_description = "IP Reserved for Test UAT" - } - `, acc.Pi_cloud_instance_id) -} diff --git a/ibm/service/power/resource_ibm_pi_snapshot.go b/ibm/service/power/resource_ibm_pi_snapshot.go index 2372e889ed..17b75a371e 100644 --- a/ibm/service/power/resource_ibm_pi_snapshot.go +++ b/ibm/service/power/resource_ibm_pi_snapshot.go @@ -63,20 +63,8 @@ func ResourceIBMPISnapshot() *schema.Resource { Optional: true, Description: "Description of the PVM instance snapshot", }, - "description": { - Type: schema.TypeString, - Optional: true, - Description: "Snapshot description", - Deprecated: "This field is deprecated, use pi_description instead", - }, // Computed Attributes - helpers.PISnapshot: { - Type: schema.TypeString, - Computed: true, - Description: "Id of the snapshot", - Deprecated: "This field is deprecated, use snapshot_id instead", - }, "snapshot_id": { Type: schema.TypeString, Computed: true, @@ -114,9 +102,6 @@ func resourceIBMPISnapshotCreate(ctx context.Context, d *schema.ResourceData, me name := d.Get(helpers.PISnapshotName).(string) var description string - if v, ok := d.GetOk("description"); ok { - description = v.(string) - } if v, ok := d.GetOk("pi_description"); ok { description = v.(string) } @@ -167,7 +152,6 @@ func resourceIBMPISnapshotRead(ctx context.Context, d *schema.ResourceData, meta } d.Set(helpers.PISnapshotName, snapshotdata.Name) - d.Set(helpers.PISnapshot, *snapshotdata.SnapshotID) d.Set("snapshot_id", *snapshotdata.SnapshotID) d.Set("status", snapshotdata.Status) d.Set("creation_date", snapshotdata.CreationDate.String()) diff --git a/website/docs/d/pi_dhcp.html.markdown b/website/docs/d/pi_dhcp.html.markdown index cf6f1221d5..74a73de098 100644 --- a/website/docs/d/pi_dhcp.html.markdown +++ b/website/docs/d/pi_dhcp.html.markdown @@ -34,7 +34,6 @@ In addition to all argument reference list, you can access the following attribu Nested scheme for `leases`: - `instance_ip` - (String) The IP of the PVM Instance. - `instance_mac` - (String) The MAC Address of the PVM Instance. -- `network` - (String) The ID of the DHCP Server private network (deprecated - replaced by `network_id`). - `network_id`- (String) The ID of the DHCP Server private network. - `network_name` - The name of the DHCP Server private network. - `status` - (String) The status of the DHCP Server. diff --git a/website/docs/d/pi_dhcps.html.markdown b/website/docs/d/pi_dhcps.html.markdown index edc89f2dd5..1f0095f1d7 100644 --- a/website/docs/d/pi_dhcps.html.markdown +++ b/website/docs/d/pi_dhcps.html.markdown @@ -33,7 +33,6 @@ In addition to all argument reference list, you can access the following attribu Nested scheme for `servers`: - `dhcp_id` - (String) The ID of the DHCP Server. - - `network` - (String) The ID of the DHCP Server private network (deprecated - replaced by `network_id`). - `network_id`- (String) The ID of the DHCP Server private network. - `network_name` - The name of the DHCP Server private network. - `status` - (String) The status of the DHCP Server. diff --git a/website/docs/d/pi_instance.html.markdown b/website/docs/d/pi_instance.html.markdown index 75fecd8d53..bfef179346 100644 --- a/website/docs/d/pi_instance.html.markdown +++ b/website/docs/d/pi_instance.html.markdown @@ -44,15 +44,6 @@ Review the argument references that you can specify for your data source. ## Attribute reference In addition to all argument reference list, you can access the following attribute references after your data source is created. -- `addresses` - (Deprecated, List of objects) - The address associated with this instance. - - Nested scheme for `addresses`: - - `ip` - (String) The IP address of the instance. - - `external_ip` - (String) The external IP address of the instance. - - `macaddress` - (String) The MAC address of the instance. - - `network_id` - (String) The network ID of the instance. - - `network_name` - (String) The network name of the instance. - - `type` - (String) The type of the network. - `deployment_type` - (String) The custom deployment type. - `health_status` - (String) The health of the instance. - `id` - (String) The unique identifier of the instance. diff --git a/website/docs/d/pi_network.html.markdown b/website/docs/d/pi_network.html.markdown index c4f03cb824..8130cf65ff 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). `deprecated` +- `jumbo` - (Deprecated, Bool) MTU Jumbo option of the network (for multi-zone locations only). - `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_dhcp.html.markdown b/website/docs/r/pi_dhcp.html.markdown index b39b0b9c83..4681c2d289 100644 --- a/website/docs/r/pi_dhcp.html.markdown +++ b/website/docs/r/pi_dhcp.html.markdown @@ -40,7 +40,6 @@ In addition to all argument reference list, you can access the following attribu Nested scheme for `leases`: - `instance_ip` - (String) The IP of the PVM Instance. - `instance_mac` - (String) The MAC Address of the PVM Instance. -- `network` - (String) The ID of the DHCP Server private network (deprecated - replaced by `network_id`). - `network_id`- (String) The ID of the DHCP Server private network. - `network_name` - The name of the DHCP Server private network. - `status` - (String) The status of the DHCP Server. diff --git a/website/docs/r/pi_instance.html.markdown b/website/docs/r/pi_instance.html.markdown index 429320d53d..90635be058 100644 --- a/website/docs/r/pi_instance.html.markdown +++ b/website/docs/r/pi_instance.html.markdown @@ -74,7 +74,6 @@ Review the argument references that you can specify for your resource. - **Note**: Provisioning VTL instances is temporarily disabled. - `pi_memory` - (Optional, Float) The amount of memory that you want to assign to your instance in gigabytes. - Required when not creating SAP instances. Conflicts with `pi_sap_profile_id`. -- `pi_migratable`- (Optional, Bool) Indicates the VM is migrated or not. - `pi_network` - (Required, List of Map) List of one or more networks to attach to the instance. The `pi_network` block supports: diff --git a/website/docs/r/pi_key.html.markdown b/website/docs/r/pi_key.html.markdown index d43ef988cc..49ac710353 100644 --- a/website/docs/r/pi_key.html.markdown +++ b/website/docs/r/pi_key.html.markdown @@ -32,7 +32,6 @@ Review the argument references that you can specify for your resource. In addition to all argument reference list, you can access the following attribute reference after your resource is created. - `id` - (String) The unique identifier of the key. The ID is composed of `/`. -- `key_id` - (String) User defined name for the SSH key (deprecated - replaced by `name`). - `name` - (String) User defined name for the SSH key - `creation_date` - (String) Date of SSH Key creation. - `ssh_key` - (String) SSH RSA key. diff --git a/website/docs/r/pi_network.html.markdown b/website/docs/r/pi_network.html.markdown index 4abefe7694..a48ce11c10 100644 --- a/website/docs/r/pi_network.html.markdown +++ b/website/docs/r/pi_network.html.markdown @@ -69,7 +69,7 @@ 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). `deprecated` use `pi_network_mtu` instead. +- `pi_network_jumbo` - (Deprecated, 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, min size = 1450 & max size = 9000. - `pi_network_access_config` - (Optional, String) The network communication configuration option of the network (for satellite locations only). diff --git a/website/docs/r/pi_network_port.html.markdown b/website/docs/r/pi_network_port.html.markdown deleted file mode 100644 index afcb10662e..0000000000 --- a/website/docs/r/pi_network_port.html.markdown +++ /dev/null @@ -1,75 +0,0 @@ ---- - -subcategory: "Power Systems" -layout: "ibm" -page_title: "IBM: pi_network_port" -description: |- - Manages an Network Port in the Power Virtual Server Cloud. A network port is equivalent to reserving an IP in the subnet. - When the port is created the status will be "DOWN". This network port however is not attached to an instance. ---- - -# ibm_pi_network_port -Creates or updates network port in the Power Virtual Server Cloud. For more information, about network in IBM power virutal server, see [adding or removing a public network -](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-modifying-server#adding-removing-network).. - -## Example usage - -In the following example, you can create an network_port: - -```terraform -resource "ibm_pi_network_port" "test-network-port" { - pi_network_name = "Zone1-CFN" - pi_cloud_instance_id = "51e1879c-bcbe-4ee1-a008-49cdba0eaf60" - pi_network_port_description = "IP Reserved for Oracle RAC " -} -``` - -**Note** -* Please find [supported Regions](https://cloud.ibm.com/apidocs/power-cloud#endpoint) for endpoints. -* If a Power cloud instance is provisioned at `lon04`, The provider level attributes should be as follows: - * `region` - `lon` - * `zone` - `lon04` - - Example usage: - - ```terraform - provider "ibm" { - region = "lon" - zone = "lon04" - } - ``` - -## Timeouts - -ibm_pi_network_port provides the following [timeouts](https://www.terraform.io/docs/language/resources/syntax.html) configuration options: - -- **create** - (Default 60 minutes) Used for creating a network_port. -- **delete** - (Default 60 minutes) Used for deleting a network_port. - -## Argument reference -Review the argument references that you can specify for your resource. - -- `pi_cloud_instance_id` - (Required, String) The GUID of the service instance associated with an account. -- `pi_network_name` - (Required, String) Network ID or name. -- `pi_network_port_description` - (Optional, String) The description for the Network Port. -- `pi_network_port_ipaddress` - (Optional, String) The requested ip address of this port. - -## Attribute reference -In addition to all argument reference list, you can access the following attribute reference after your resource is created. - -- `id` - (String) The unique identifier of the instance. The ID is composed of `//`. -- `macaddress` - (String) The MAC address of the port. -- `portid` - (String) The ID of the port. -- `public_ip` - (String) The public IP associated with the port. -- `status` - (String) The status of the port. - - -## Import - -The `ibm_pi_network_port` resource can be imported by using `power_instance_id`, `port_id` and `pi_network_name`. - -**Example** - -``` -$ terraform import ibm_pi_network_port.example d7bec597-4726-451f-8a63-e62e6f19c32c/cea6651a-bc0a-4438-9f8a-a0770bbf3ebb/network-name -``` diff --git a/website/docs/r/pi_network_port_attach.html.markdown b/website/docs/r/pi_network_port_attach.html.markdown index de0c14dfa5..b12d5b2a7f 100644 --- a/website/docs/r/pi_network_port_attach.html.markdown +++ b/website/docs/r/pi_network_port_attach.html.markdown @@ -61,14 +61,13 @@ In addition to all argument reference list, you can access the following attribu - `id` - (String) The unique identifier of the instance. The ID is composed of `//`. - `macaddress` - (String) The MAC address of the port. - `network_port_id` - (String) The ID of the port. -- `portid` - (Deprecated, String) The ID of the port. - `public_ip` - (String) The public IP associated with the port. - `status` - (String) The status of the port. ## Import -The `ibm_pi_network_port` resource can be imported by using `power_instance_id`, `pi_network_name` and `port_id`. +The `ibm_pi_network_port` resource can be imported by using `power_instance_id`, `pi_network_name` and `network_port_id`. **Example** diff --git a/website/docs/r/pi_snapshot.html.markdown b/website/docs/r/pi_snapshot.html.markdown index 59d4885f29..e16eac403f 100644 --- a/website/docs/r/pi_snapshot.html.markdown +++ b/website/docs/r/pi_snapshot.html.markdown @@ -58,7 +58,7 @@ Review the argument references that you can specify for your resource. ## Attribute reference In addition to all argument reference list, you can access the following attribute reference after your resource is created. -- `id` - (String) The unique identifier of the snapshot. The ID is composed of /. +- `id` - (String) The unique identifier of the snapshot. The ID is composed of /. - `snapshot_id` - (String) ID of the PVM instance snapshot. - `status` - (String) Status of the PVM instance snapshot. - `creation_date` - (String) Creation Date. @@ -67,7 +67,7 @@ In addition to all argument reference list, you can access the following attribu ## Import -The `ibm_pi_snapshot` resource can be imported by using `power_instance_id` and `pi_snap_shot_id`. +The `ibm_pi_snapshot` resource can be imported by using `power_instance_id` and `snapshot_id`. **Example**