diff --git a/builtin/providers/openstack/import_openstack_blockstorage_volume_attach_v2_test.go b/builtin/providers/openstack/import_openstack_blockstorage_volume_attach_v2_test.go index 8b3eb609cd..c9dde82760 100644 --- a/builtin/providers/openstack/import_openstack_blockstorage_volume_attach_v2_test.go +++ b/builtin/providers/openstack/import_openstack_blockstorage_volume_attach_v2_test.go @@ -19,10 +19,9 @@ func TestAccBlockStorageVolumeAttachV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_blockstorage_volume_v1_test.go b/builtin/providers/openstack/import_openstack_blockstorage_volume_v1_test.go index b5539f2cb3..411bdefa9b 100644 --- a/builtin/providers/openstack/import_openstack_blockstorage_volume_v1_test.go +++ b/builtin/providers/openstack/import_openstack_blockstorage_volume_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackBlockStorageV1Volume_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_blockstorage_volume_v2_test.go b/builtin/providers/openstack/import_openstack_blockstorage_volume_v2_test.go index 37489a8205..c30485b6ef 100644 --- a/builtin/providers/openstack/import_openstack_blockstorage_volume_v2_test.go +++ b/builtin/providers/openstack/import_openstack_blockstorage_volume_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackBlockStorageV2Volume_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_compute_floatingip_v2_test.go b/builtin/providers/openstack/import_openstack_compute_floatingip_v2_test.go index 12fef46d34..b36b0d7a55 100644 --- a/builtin/providers/openstack/import_openstack_compute_floatingip_v2_test.go +++ b/builtin/providers/openstack/import_openstack_compute_floatingip_v2_test.go @@ -19,10 +19,9 @@ func TestAccComputeV2FloatingIP_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_compute_keypair_v2_test.go b/builtin/providers/openstack/import_openstack_compute_keypair_v2_test.go index efa87c695f..be5e261097 100644 --- a/builtin/providers/openstack/import_openstack_compute_keypair_v2_test.go +++ b/builtin/providers/openstack/import_openstack_compute_keypair_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackComputeV2Keypair_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_compute_secgroup_v2_test.go b/builtin/providers/openstack/import_openstack_compute_secgroup_v2_test.go index babb02426e..cc243ca28b 100644 --- a/builtin/providers/openstack/import_openstack_compute_secgroup_v2_test.go +++ b/builtin/providers/openstack/import_openstack_compute_secgroup_v2_test.go @@ -19,10 +19,9 @@ func TestAccComputeV2SecGroup_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_compute_servergroup_v2_test.go b/builtin/providers/openstack/import_openstack_compute_servergroup_v2_test.go index 5963ba950c..e1ad652114 100644 --- a/builtin/providers/openstack/import_openstack_compute_servergroup_v2_test.go +++ b/builtin/providers/openstack/import_openstack_compute_servergroup_v2_test.go @@ -19,10 +19,9 @@ func TestAccComputeV2ServerGroup_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_compute_volume_attach_v2_test.go b/builtin/providers/openstack/import_openstack_compute_volume_attach_v2_test.go index ae762b5935..ee00882ff8 100644 --- a/builtin/providers/openstack/import_openstack_compute_volume_attach_v2_test.go +++ b/builtin/providers/openstack/import_openstack_compute_volume_attach_v2_test.go @@ -19,10 +19,9 @@ func TestAccComputeV2VolumeAttach_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go b/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go index 771ccae859..eb70e37202 100644 --- a/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go +++ b/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackFWFirewallV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go b/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go index 2cbbbed79f..1f94301c74 100644 --- a/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go +++ b/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackFWPolicyV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go b/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go index f1d612510d..abc4da475e 100644 --- a/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go +++ b/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackFWRuleV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_lb_member_v1_test.go b/builtin/providers/openstack/import_openstack_lb_member_v1_test.go index 5d55725614..8fda190639 100644 --- a/builtin/providers/openstack/import_openstack_lb_member_v1_test.go +++ b/builtin/providers/openstack/import_openstack_lb_member_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackLBMemberV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_lb_monitor_v1_test.go b/builtin/providers/openstack/import_openstack_lb_monitor_v1_test.go index a6cf8a3195..2609f7135d 100644 --- a/builtin/providers/openstack/import_openstack_lb_monitor_v1_test.go +++ b/builtin/providers/openstack/import_openstack_lb_monitor_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackLBMonitorV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_lb_pool_v1_test.go b/builtin/providers/openstack/import_openstack_lb_pool_v1_test.go index 5df55443f4..f2d1b90af6 100644 --- a/builtin/providers/openstack/import_openstack_lb_pool_v1_test.go +++ b/builtin/providers/openstack/import_openstack_lb_pool_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackLBPoolV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_lb_vip_v1_test.go b/builtin/providers/openstack/import_openstack_lb_vip_v1_test.go index 7688543a37..030399ed51 100644 --- a/builtin/providers/openstack/import_openstack_lb_vip_v1_test.go +++ b/builtin/providers/openstack/import_openstack_lb_vip_v1_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackLBVIPV1_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_floatingip_v2_test.go b/builtin/providers/openstack/import_openstack_networking_floatingip_v2_test.go index 8ce6fec976..f8bfeab15a 100644 --- a/builtin/providers/openstack/import_openstack_networking_floatingip_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_floatingip_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingFloatingIPV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_network_v2_test.go b/builtin/providers/openstack/import_openstack_networking_network_v2_test.go index 4c6faab82c..8f5137338d 100644 --- a/builtin/providers/openstack/import_openstack_networking_network_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_network_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingNetworkV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_port_v2_test.go b/builtin/providers/openstack/import_openstack_networking_port_v2_test.go index 55c21e1283..2119183c17 100644 --- a/builtin/providers/openstack/import_openstack_networking_port_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_port_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingPortV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_secgroup_rule_v2_test.go b/builtin/providers/openstack/import_openstack_networking_secgroup_rule_v2_test.go index 8c3726b539..74d36c9aa9 100644 --- a/builtin/providers/openstack/import_openstack_networking_secgroup_rule_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_secgroup_rule_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSecGroupRuleV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_secgroup_v2_test.go b/builtin/providers/openstack/import_openstack_networking_secgroup_v2_test.go index b5afdc01f1..035be2657d 100644 --- a/builtin/providers/openstack/import_openstack_networking_secgroup_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_secgroup_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSecGroupV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/import_openstack_networking_subnet_v2_test.go b/builtin/providers/openstack/import_openstack_networking_subnet_v2_test.go index 87d30f2003..ce7a8c0b38 100644 --- a/builtin/providers/openstack/import_openstack_networking_subnet_v2_test.go +++ b/builtin/providers/openstack/import_openstack_networking_subnet_v2_test.go @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSubnetV2_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"region"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/openstack/resource_openstack_blockstorage_volume_attach_v2.go b/builtin/providers/openstack/resource_openstack_blockstorage_volume_attach_v2.go index 82bdecd29d..7111c62dad 100644 --- a/builtin/providers/openstack/resource_openstack_blockstorage_volume_attach_v2.go +++ b/builtin/providers/openstack/resource_openstack_blockstorage_volume_attach_v2.go @@ -74,7 +74,7 @@ func resourceBlockStorageVolumeAttachV2() *schema.Resource { func resourceBlockStorageVolumeAttachV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - client, err := config.blockStorageV2Client(d.Get("region").(string)) + client, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -153,7 +153,7 @@ func resourceBlockStorageVolumeAttachV2Create(d *schema.ResourceData, meta inter func resourceBlockStorageVolumeAttachV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - client, err := config.blockStorageV2Client(d.Get("region").(string)) + client, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -184,13 +184,14 @@ func resourceBlockStorageVolumeAttachV2Read(d *schema.ResourceData, meta interfa d.Set("device", attachment.Device) d.Set("instance_id", attachment.ServerID) d.Set("host_name", attachment.HostName) + d.Set("region", GetRegion(d)) return nil } func resourceBlockStorageVolumeAttachV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - client, err := config.blockStorageV2Client(d.Get("region").(string)) + client, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_blockstorage_volume_v1.go b/builtin/providers/openstack/resource_openstack_blockstorage_volume_v1.go index 2782a59c87..0479fbf555 100644 --- a/builtin/providers/openstack/resource_openstack_blockstorage_volume_v1.go +++ b/builtin/providers/openstack/resource_openstack_blockstorage_volume_v1.go @@ -106,7 +106,7 @@ func resourceBlockStorageVolumeV1() *schema.Resource { func resourceBlockStorageVolumeV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -159,7 +159,8 @@ func resourceBlockStorageVolumeV1Create(d *schema.ResourceData, meta interface{} func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string)) + + blockStorageClient, err := config.blockStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -179,6 +180,7 @@ func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{}) d.Set("source_vol_id", v.SourceVolID) d.Set("volume_type", v.VolumeType) d.Set("metadata", v.Metadata) + d.Set("region", GetRegion(d)) attachments := make([]map[string]interface{}, len(v.Attachments)) for i, attachment := range v.Attachments { @@ -195,7 +197,7 @@ func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{}) func resourceBlockStorageVolumeV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -219,7 +221,7 @@ func resourceBlockStorageVolumeV1Update(d *schema.ResourceData, meta interface{} func resourceBlockStorageVolumeV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -232,7 +234,7 @@ func resourceBlockStorageVolumeV1Delete(d *schema.ResourceData, meta interface{} // make sure this volume is detached from all instances before deleting if len(v.Attachments) > 0 { log.Printf("[DEBUG] detaching volumes") - if computeClient, err := config.computeV2Client(d.Get("region").(string)); err != nil { + if computeClient, err := config.computeV2Client(GetRegion(d)); err != nil { return err } else { for _, volumeAttachment := range v.Attachments { diff --git a/builtin/providers/openstack/resource_openstack_blockstorage_volume_v2.go b/builtin/providers/openstack/resource_openstack_blockstorage_volume_v2.go index d933b90bf0..82f96440e1 100644 --- a/builtin/providers/openstack/resource_openstack_blockstorage_volume_v2.go +++ b/builtin/providers/openstack/resource_openstack_blockstorage_volume_v2.go @@ -116,7 +116,7 @@ func resourceBlockStorageVolumeV2() *schema.Resource { func resourceBlockStorageVolumeV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV2Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -171,7 +171,7 @@ func resourceBlockStorageVolumeV2Create(d *schema.ResourceData, meta interface{} func resourceBlockStorageVolumeV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV2Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -191,6 +191,7 @@ func resourceBlockStorageVolumeV2Read(d *schema.ResourceData, meta interface{}) d.Set("source_vol_id", v.SourceVolID) d.Set("volume_type", v.VolumeType) d.Set("metadata", v.Metadata) + d.Set("region", GetRegion(d)) attachments := make([]map[string]interface{}, len(v.Attachments)) for i, attachment := range v.Attachments { @@ -207,7 +208,7 @@ func resourceBlockStorageVolumeV2Read(d *schema.ResourceData, meta interface{}) func resourceBlockStorageVolumeV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV2Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -231,7 +232,7 @@ func resourceBlockStorageVolumeV2Update(d *schema.ResourceData, meta interface{} func resourceBlockStorageVolumeV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - blockStorageClient, err := config.blockStorageV2Client(d.Get("region").(string)) + blockStorageClient, err := config.blockStorageV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } @@ -244,7 +245,7 @@ func resourceBlockStorageVolumeV2Delete(d *schema.ResourceData, meta interface{} // make sure this volume is detached from all instances before deleting if len(v.Attachments) > 0 { log.Printf("[DEBUG] detaching volumes") - if computeClient, err := config.computeV2Client(d.Get("region").(string)); err != nil { + if computeClient, err := config.computeV2Client(GetRegion(d)); err != nil { return err } else { for _, volumeAttachment := range v.Attachments { diff --git a/builtin/providers/openstack/resource_openstack_compute_floatingip_v2.go b/builtin/providers/openstack/resource_openstack_compute_floatingip_v2.go index c54e5b5dab..96e723d5c1 100644 --- a/builtin/providers/openstack/resource_openstack_compute_floatingip_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_floatingip_v2.go @@ -53,7 +53,7 @@ func resourceComputeFloatingIPV2() *schema.Resource { func resourceComputeFloatingIPV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -74,7 +74,7 @@ func resourceComputeFloatingIPV2Create(d *schema.ResourceData, meta interface{}) func resourceComputeFloatingIPV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -90,13 +90,14 @@ func resourceComputeFloatingIPV2Read(d *schema.ResourceData, meta interface{}) e d.Set("instance_id", fip.InstanceID) d.Set("address", fip.IP) d.Set("fixed_ip", fip.FixedIP) + d.Set("region", GetRegion(d)) return nil } func resourceComputeFloatingIPV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_compute_instance_v2.go b/builtin/providers/openstack/resource_openstack_compute_instance_v2.go index 53f86ac89a..cb43a5e05f 100644 --- a/builtin/providers/openstack/resource_openstack_compute_instance_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_instance_v2.go @@ -328,7 +328,7 @@ func resourceComputeInstanceV2() *schema.Resource { func resourceComputeInstanceV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -475,7 +475,7 @@ func resourceComputeInstanceV2Create(d *schema.ResourceData, meta interface{}) e // if volumes were specified, attach them after the instance has launched. if v, ok := d.GetOk("volume"); ok { vols := v.(*schema.Set).List() - if blockClient, err := config.blockStorageV1Client(d.Get("region").(string)); err != nil { + if blockClient, err := config.blockStorageV1Client(GetRegion(d)); err != nil { return fmt.Errorf("Error creating OpenStack block storage client: %s", err) } else { if err := attachVolumesToInstance(computeClient, blockClient, d.Id(), vols); err != nil { @@ -489,7 +489,7 @@ func resourceComputeInstanceV2Create(d *schema.ResourceData, meta interface{}) e func resourceComputeInstanceV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -576,7 +576,7 @@ func resourceComputeInstanceV2Read(d *schema.ResourceData, meta interface{}) err func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -712,7 +712,7 @@ func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) e oldAttachmentSet := oldAttachments.(*schema.Set).List() log.Printf("[DEBUG] Attempting to detach the following volumes: %#v", oldAttachmentSet) - if blockClient, err := config.blockStorageV1Client(d.Get("region").(string)); err != nil { + if blockClient, err := config.blockStorageV1Client(GetRegion(d)); err != nil { return err } else { if err := detachVolumesFromInstance(computeClient, blockClient, d.Id(), oldAttachmentSet); err != nil { @@ -722,7 +722,7 @@ func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) e // for each new attachment, attach the volume newAttachmentSet := newAttachments.(*schema.Set).List() - if blockClient, err := config.blockStorageV1Client(d.Get("region").(string)); err != nil { + if blockClient, err := config.blockStorageV1Client(GetRegion(d)); err != nil { return err } else { if err := attachVolumesToInstance(computeClient, blockClient, d.Id(), newAttachmentSet); err != nil { @@ -799,7 +799,7 @@ func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) e func resourceComputeInstanceV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -810,7 +810,7 @@ func resourceComputeInstanceV2Delete(d *schema.ResourceData, meta interface{}) e volumeList := volumeSet.List() if len(volumeList) > 0 { log.Printf("[DEBUG] Attempting to detach the following volumes: %#v", volumeList) - if blockClient, err := config.blockStorageV1Client(d.Get("region").(string)); err != nil { + if blockClient, err := config.blockStorageV1Client(GetRegion(d)); err != nil { return err } else { if err := detachVolumesFromInstance(computeClient, blockClient, d.Id(), volumeList); err != nil { diff --git a/builtin/providers/openstack/resource_openstack_compute_keypair_v2.go b/builtin/providers/openstack/resource_openstack_compute_keypair_v2.go index b5badb57c1..7537d3bda9 100644 --- a/builtin/providers/openstack/resource_openstack_compute_keypair_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_keypair_v2.go @@ -45,7 +45,7 @@ func resourceComputeKeypairV2() *schema.Resource { func resourceComputeKeypairV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -71,7 +71,7 @@ func resourceComputeKeypairV2Create(d *schema.ResourceData, meta interface{}) er func resourceComputeKeypairV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -83,13 +83,14 @@ func resourceComputeKeypairV2Read(d *schema.ResourceData, meta interface{}) erro d.Set("name", kp.Name) d.Set("public_key", kp.PublicKey) + d.Set("region", GetRegion(d)) return nil } func resourceComputeKeypairV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go b/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go index 3d01eb6909..dfedc04177 100644 --- a/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_secgroup_v2.go @@ -95,7 +95,7 @@ func resourceComputeSecGroupV2() *schema.Resource { func resourceComputeSecGroupV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -133,7 +133,7 @@ func resourceComputeSecGroupV2Create(d *schema.ResourceData, meta interface{}) e func resourceComputeSecGroupV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -153,12 +153,14 @@ func resourceComputeSecGroupV2Read(d *schema.ResourceData, meta interface{}) err log.Printf("[DEBUG] rulesToMap(sg.Rules): %+v", rtm) d.Set("rule", rtm) + d.Set("region", GetRegion(d)) + return nil } func resourceComputeSecGroupV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -213,7 +215,7 @@ func resourceComputeSecGroupV2Update(d *schema.ResourceData, meta interface{}) e func resourceComputeSecGroupV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_compute_servergroup_v2.go b/builtin/providers/openstack/resource_openstack_compute_servergroup_v2.go index b4e7a2cdf2..5616ef9a93 100644 --- a/builtin/providers/openstack/resource_openstack_compute_servergroup_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_servergroup_v2.go @@ -47,7 +47,7 @@ func resourceComputeServerGroupV2() *schema.Resource { func resourceComputeServerGroupV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -69,7 +69,7 @@ func resourceComputeServerGroupV2Create(d *schema.ResourceData, meta interface{} func resourceComputeServerGroupV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -98,12 +98,14 @@ func resourceComputeServerGroupV2Read(d *schema.ResourceData, meta interface{}) } d.Set("members", members) + d.Set("region", GetRegion(d)) + return nil } func resourceComputeServerGroupV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_compute_volume_attach_v2.go b/builtin/providers/openstack/resource_openstack_compute_volume_attach_v2.go index 6342ce87e2..ad2be47aea 100644 --- a/builtin/providers/openstack/resource_openstack_compute_volume_attach_v2.go +++ b/builtin/providers/openstack/resource_openstack_compute_volume_attach_v2.go @@ -53,7 +53,7 @@ func resourceComputeVolumeAttachV2() *schema.Resource { func resourceComputeVolumeAttachV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -91,7 +91,7 @@ func resourceComputeVolumeAttachV2Create(d *schema.ResourceData, meta interface{ func resourceComputeVolumeAttachV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } @@ -111,13 +111,14 @@ func resourceComputeVolumeAttachV2Read(d *schema.ResourceData, meta interface{}) d.Set("instance_id", attachment.ServerID) d.Set("volume_id", attachment.VolumeID) d.Set("device", attachment.Device) + d.Set("region", GetRegion(d)) return nil } func resourceComputeVolumeAttachV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - computeClient, err := config.computeV2Client(d.Get("region").(string)) + computeClient, err := config.computeV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go b/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go index 6cb5e6f3dc..425a6c5e10 100644 --- a/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go @@ -63,7 +63,7 @@ func resourceFWFirewallV1() *schema.Resource { func resourceFWFirewallV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -110,7 +110,7 @@ func resourceFWFirewallV1Read(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Retrieve information about firewall: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -127,6 +127,7 @@ func resourceFWFirewallV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("policy_id", firewall.PolicyID) d.Set("admin_state_up", firewall.AdminStateUp) d.Set("tenant_id", firewall.TenantID) + d.Set("region", GetRegion(d)) return nil } @@ -134,7 +135,7 @@ func resourceFWFirewallV1Read(d *schema.ResourceData, meta interface{}) error { func resourceFWFirewallV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -183,7 +184,7 @@ func resourceFWFirewallV1Delete(d *schema.ResourceData, meta interface{}) error log.Printf("[DEBUG] Destroy firewall: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_fw_policy_v1.go b/builtin/providers/openstack/resource_openstack_fw_policy_v1.go index 645ee8f137..5488fa763c 100644 --- a/builtin/providers/openstack/resource_openstack_fw_policy_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_policy_v1.go @@ -67,7 +67,7 @@ func resourceFWPolicyV1() *schema.Resource { func resourceFWPolicyV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -118,7 +118,7 @@ func resourceFWPolicyV1Read(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Retrieve information about firewall policy: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -136,12 +136,14 @@ func resourceFWPolicyV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("audited", policy.Audited) d.Set("tenant_id", policy.TenantID) d.Set("rules", policy.Rules) + d.Set("region", GetRegion(d)) + return nil } func resourceFWPolicyV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -183,7 +185,7 @@ func resourceFWPolicyV1Delete(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Destroy firewall policy: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_fw_rule_v1.go b/builtin/providers/openstack/resource_openstack_fw_rule_v1.go index f17da65bf2..afde64f931 100644 --- a/builtin/providers/openstack/resource_openstack_fw_rule_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_rule_v1.go @@ -86,7 +86,7 @@ func resourceFWRuleV1() *schema.Resource { func resourceFWRuleV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -131,7 +131,7 @@ func resourceFWRuleV1Read(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Retrieve information about firewall rule: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -159,12 +159,14 @@ func resourceFWRuleV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("protocol", rule.Protocol) } + d.Set("region", GetRegion(d)) + return nil } func resourceFWRuleV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -236,7 +238,7 @@ func resourceFWRuleV1Delete(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] Destroy firewall rule: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_listener_v2.go b/builtin/providers/openstack/resource_openstack_lb_listener_v2.go index b7160c4f00..c426f2be6f 100644 --- a/builtin/providers/openstack/resource_openstack_lb_listener_v2.go +++ b/builtin/providers/openstack/resource_openstack_lb_listener_v2.go @@ -111,7 +111,7 @@ func resourceListenerV2() *schema.Resource { func resourceListenerV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -168,7 +168,7 @@ func resourceListenerV2Create(d *schema.ResourceData, meta interface{}) error { func resourceListenerV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -197,7 +197,7 @@ func resourceListenerV2Read(d *schema.ResourceData, meta interface{}) error { func resourceListenerV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -243,7 +243,7 @@ func resourceListenerV2Update(d *schema.ResourceData, meta interface{}) error { func resourceListenerV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_loadbalancer_v2.go b/builtin/providers/openstack/resource_openstack_lb_loadbalancer_v2.go index 358d7fc75f..927c274a00 100644 --- a/builtin/providers/openstack/resource_openstack_lb_loadbalancer_v2.go +++ b/builtin/providers/openstack/resource_openstack_lb_loadbalancer_v2.go @@ -86,7 +86,7 @@ func resourceLoadBalancerV2() *schema.Resource { func resourceLoadBalancerV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -133,7 +133,7 @@ func resourceLoadBalancerV2Create(d *schema.ResourceData, meta interface{}) erro func resourceLoadBalancerV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -160,7 +160,7 @@ func resourceLoadBalancerV2Read(d *schema.ResourceData, meta interface{}) error func resourceLoadBalancerV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -189,7 +189,7 @@ func resourceLoadBalancerV2Update(d *schema.ResourceData, meta interface{}) erro func resourceLoadBalancerV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_member_v1.go b/builtin/providers/openstack/resource_openstack_lb_member_v1.go index 2a35ec6712..0cce18a7c0 100644 --- a/builtin/providers/openstack/resource_openstack_lb_member_v1.go +++ b/builtin/providers/openstack/resource_openstack_lb_member_v1.go @@ -66,7 +66,7 @@ func resourceLBMemberV1() *schema.Resource { func resourceLBMemberV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -120,7 +120,7 @@ func resourceLBMemberV1Create(d *schema.ResourceData, meta interface{}) error { func resourceLBMemberV1Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -137,13 +137,14 @@ func resourceLBMemberV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("port", m.ProtocolPort) d.Set("weight", m.Weight) d.Set("admin_state_up", m.AdminStateUp) + d.Set("region", GetRegion(d)) return nil } func resourceLBMemberV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -166,7 +167,7 @@ func resourceLBMemberV1Update(d *schema.ResourceData, meta interface{}) error { func resourceLBMemberV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_member_v2.go b/builtin/providers/openstack/resource_openstack_lb_member_v2.go index 83c1ac5d1c..3df2182354 100644 --- a/builtin/providers/openstack/resource_openstack_lb_member_v2.go +++ b/builtin/providers/openstack/resource_openstack_lb_member_v2.go @@ -94,7 +94,7 @@ func resourceMemberV2() *schema.Resource { func resourceMemberV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -146,7 +146,7 @@ func resourceMemberV2Create(d *schema.ResourceData, meta interface{}) error { func resourceMemberV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -172,7 +172,7 @@ func resourceMemberV2Read(d *schema.ResourceData, meta interface{}) error { func resourceMemberV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -201,7 +201,7 @@ func resourceMemberV2Update(d *schema.ResourceData, meta interface{}) error { func resourceMemberV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_monitor_v1.go b/builtin/providers/openstack/resource_openstack_lb_monitor_v1.go index a1572e5063..13c67cb961 100644 --- a/builtin/providers/openstack/resource_openstack_lb_monitor_v1.go +++ b/builtin/providers/openstack/resource_openstack_lb_monitor_v1.go @@ -83,7 +83,7 @@ func resourceLBMonitorV1() *schema.Resource { func resourceLBMonitorV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -142,7 +142,7 @@ func resourceLBMonitorV1Create(d *schema.ResourceData, meta interface{}) error { func resourceLBMonitorV1Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -163,13 +163,14 @@ func resourceLBMonitorV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("http_method", m.HTTPMethod) d.Set("expected_codes", m.ExpectedCodes) d.Set("admin_state_up", strconv.FormatBool(m.AdminStateUp)) + d.Set("region", GetRegion(d)) return nil } func resourceLBMonitorV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -206,7 +207,7 @@ func resourceLBMonitorV1Update(d *schema.ResourceData, meta interface{}) error { func resourceLBMonitorV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_monitor_v2.go b/builtin/providers/openstack/resource_openstack_lb_monitor_v2.go index 59617fbcc0..736417c2d7 100644 --- a/builtin/providers/openstack/resource_openstack_lb_monitor_v2.go +++ b/builtin/providers/openstack/resource_openstack_lb_monitor_v2.go @@ -94,7 +94,7 @@ func resourceMonitorV2() *schema.Resource { func resourceMonitorV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -144,7 +144,7 @@ func resourceMonitorV2Create(d *schema.ResourceData, meta interface{}) error { func resourceMonitorV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -173,7 +173,7 @@ func resourceMonitorV2Read(d *schema.ResourceData, meta interface{}) error { func resourceMonitorV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -217,7 +217,7 @@ func resourceMonitorV2Update(d *schema.ResourceData, meta interface{}) error { func resourceMonitorV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_pool_v1.go b/builtin/providers/openstack/resource_openstack_lb_pool_v1.go index adfc0a2b75..a49acf74d6 100644 --- a/builtin/providers/openstack/resource_openstack_lb_pool_v1.go +++ b/builtin/providers/openstack/resource_openstack_lb_pool_v1.go @@ -115,7 +115,7 @@ func resourceLBPoolV1() *schema.Resource { func resourceLBPoolV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -185,7 +185,7 @@ func resourceLBPoolV1Create(d *schema.ResourceData, meta interface{}) error { func resourceLBPoolV1Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -205,13 +205,14 @@ func resourceLBPoolV1Read(d *schema.ResourceData, meta interface{}) error { d.Set("tenant_id", p.TenantID) d.Set("monitor_ids", p.MonitorIDs) d.Set("member_ids", p.MemberIDs) + d.Set("region", GetRegion(d)) return nil } func resourceLBPoolV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -308,7 +309,7 @@ func resourceLBPoolV1Update(d *schema.ResourceData, meta interface{}) error { func resourceLBPoolV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_pool_v2.go b/builtin/providers/openstack/resource_openstack_lb_pool_v2.go index 3a297bfc99..a9dc8dea47 100644 --- a/builtin/providers/openstack/resource_openstack_lb_pool_v2.go +++ b/builtin/providers/openstack/resource_openstack_lb_pool_v2.go @@ -131,7 +131,7 @@ func resourcePoolV2() *schema.Resource { func resourcePoolV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -191,7 +191,7 @@ func resourcePoolV2Create(d *schema.ResourceData, meta interface{}) error { func resourcePoolV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -217,7 +217,7 @@ func resourcePoolV2Read(d *schema.ResourceData, meta interface{}) error { func resourcePoolV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -249,7 +249,7 @@ func resourcePoolV2Update(d *schema.ResourceData, meta interface{}) error { func resourcePoolV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_lb_vip_v1.go b/builtin/providers/openstack/resource_openstack_lb_vip_v1.go index d22bf68b0f..39c935ff30 100644 --- a/builtin/providers/openstack/resource_openstack_lb_vip_v1.go +++ b/builtin/providers/openstack/resource_openstack_lb_vip_v1.go @@ -105,7 +105,7 @@ func resourceLBVipV1() *schema.Resource { func resourceLBVipV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -161,7 +161,7 @@ func resourceLBVipV1Create(d *schema.ResourceData, meta interface{}) error { func resourceLBVipV1Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -195,12 +195,14 @@ func resourceLBVipV1Read(d *schema.ResourceData, meta interface{}) error { } d.Set("persistence", persistence) + d.Set("region", GetRegion(d)) + return nil } func resourceLBVipV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -280,7 +282,7 @@ func resourceLBVipV1Update(d *schema.ResourceData, meta interface{}) error { func resourceLBVipV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_floatingip_v2.go b/builtin/providers/openstack/resource_openstack_networking_floatingip_v2.go index a660749e61..b22301c93f 100644 --- a/builtin/providers/openstack/resource_openstack_networking_floatingip_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_floatingip_v2.go @@ -68,7 +68,7 @@ func resourceNetworkingFloatingIPV2() *schema.Resource { func resourceNetworkFloatingIPV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack network client: %s", err) } @@ -115,7 +115,7 @@ func resourceNetworkFloatingIPV2Create(d *schema.ResourceData, meta interface{}) func resourceNetworkFloatingIPV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack network client: %s", err) } @@ -135,12 +135,14 @@ func resourceNetworkFloatingIPV2Read(d *schema.ResourceData, meta interface{}) e d.Set("pool", poolName) d.Set("tenant_id", floatingIP.TenantID) + d.Set("region", GetRegion(d)) + return nil } func resourceNetworkFloatingIPV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack network client: %s", err) } @@ -164,7 +166,7 @@ func resourceNetworkFloatingIPV2Update(d *schema.ResourceData, meta interface{}) func resourceNetworkFloatingIPV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack network client: %s", err) } @@ -189,7 +191,7 @@ func resourceNetworkFloatingIPV2Delete(d *schema.ResourceData, meta interface{}) func getNetworkID(d *schema.ResourceData, meta interface{}, networkName string) (string, error) { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return "", fmt.Errorf("Error creating OpenStack network client: %s", err) } @@ -219,7 +221,7 @@ func getNetworkID(d *schema.ResourceData, meta interface{}, networkName string) func getNetworkName(d *schema.ResourceData, meta interface{}, networkID string) (string, error) { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return "", fmt.Errorf("Error creating OpenStack network client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_network_v2.go b/builtin/providers/openstack/resource_openstack_networking_network_v2.go index 8a527895cd..96ff47d728 100644 --- a/builtin/providers/openstack/resource_openstack_networking_network_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_network_v2.go @@ -64,7 +64,7 @@ func resourceNetworkingNetworkV2() *schema.Resource { func resourceNetworkingNetworkV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -122,7 +122,7 @@ func resourceNetworkingNetworkV2Create(d *schema.ResourceData, meta interface{}) func resourceNetworkingNetworkV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -138,13 +138,14 @@ func resourceNetworkingNetworkV2Read(d *schema.ResourceData, meta interface{}) e d.Set("admin_state_up", strconv.FormatBool(n.AdminStateUp)) d.Set("shared", strconv.FormatBool(n.Shared)) d.Set("tenant_id", n.TenantID) + d.Set("region", GetRegion(d)) return nil } func resourceNetworkingNetworkV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -186,7 +187,7 @@ func resourceNetworkingNetworkV2Update(d *schema.ResourceData, meta interface{}) func resourceNetworkingNetworkV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_network_v2_test.go b/builtin/providers/openstack/resource_openstack_networking_network_v2_test.go index 3f396f73aa..c1ee2b33df 100644 --- a/builtin/providers/openstack/resource_openstack_networking_network_v2_test.go +++ b/builtin/providers/openstack/resource_openstack_networking_network_v2_test.go @@ -17,24 +17,8 @@ import ( ) func TestAccNetworkingV2Network_basic(t *testing.T) { - region := os.Getenv(OS_REGION_NAME) - var network networks.Network - var testAccNetworkingV2Network_basic = fmt.Sprintf(` - resource "openstack_networking_network_v2" "foo" { - region = "%s" - name = "network_1" - admin_state_up = "true" - }`, region) - - var testAccNetworkingV2Network_update = fmt.Sprintf(` - resource "openstack_networking_network_v2" "foo" { - region = "%s" - name = "network_2" - admin_state_up = "true" - }`, region) - resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, @@ -238,17 +222,13 @@ func testAccCheckNetworkingV2NetworkExists(t *testing.T, n string, network *netw } var testAccNetworkingV2Network_basic = fmt.Sprintf(` - resource "openstack_networking_network_v2" "foo" { - region = "%s" - name = "network_1" - admin_state_up = "true" - }`, - OS_REGION_NAME) + resource "openstack_networking_network_v2" "foo" { + name = "network_1" + admin_state_up = "true" + }`) var testAccNetworkingV2Network_update = fmt.Sprintf(` - resource "openstack_networking_network_v2" "foo" { - region = "%s" - name = "network_2" - admin_state_up = "true" - }`, - OS_REGION_NAME) + resource "openstack_networking_network_v2" "foo" { + name = "network_2" + admin_state_up = "true" + }`) diff --git a/builtin/providers/openstack/resource_openstack_networking_port_v2.go b/builtin/providers/openstack/resource_openstack_networking_port_v2.go index 54b0156f68..2d4dc97864 100644 --- a/builtin/providers/openstack/resource_openstack_networking_port_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_port_v2.go @@ -126,7 +126,7 @@ func resourceNetworkingPortV2() *schema.Resource { func resourceNetworkingPortV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -173,7 +173,7 @@ func resourceNetworkingPortV2Create(d *schema.ResourceData, meta interface{}) er func resourceNetworkingPortV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -214,12 +214,14 @@ func resourceNetworkingPortV2Read(d *schema.ResourceData, meta interface{}) erro } d.Set("allowed_address_pairs", pairs) + d.Set("region", GetRegion(d)) + return nil } func resourceNetworkingPortV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -266,7 +268,7 @@ func resourceNetworkingPortV2Update(d *schema.ResourceData, meta interface{}) er func resourceNetworkingPortV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_router_interface_v2.go b/builtin/providers/openstack/resource_openstack_networking_router_interface_v2.go index 540dd4ad91..dcfa1b4581 100644 --- a/builtin/providers/openstack/resource_openstack_networking_router_interface_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_router_interface_v2.go @@ -47,7 +47,7 @@ func resourceNetworkingRouterInterfaceV2() *schema.Resource { func resourceNetworkingRouterInterfaceV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -84,7 +84,7 @@ func resourceNetworkingRouterInterfaceV2Create(d *schema.ResourceData, meta inte func resourceNetworkingRouterInterfaceV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -106,7 +106,7 @@ func resourceNetworkingRouterInterfaceV2Read(d *schema.ResourceData, meta interf func resourceNetworkingRouterInterfaceV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_router_route_v2.go b/builtin/providers/openstack/resource_openstack_networking_router_route_v2.go index 54e68f9a36..332017ac64 100644 --- a/builtin/providers/openstack/resource_openstack_networking_router_route_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_router_route_v2.go @@ -52,7 +52,7 @@ func resourceNetworkingRouterRouteV2Create(d *schema.ResourceData, meta interfac var nextHop string = d.Get("next_hop").(string) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -110,7 +110,7 @@ func resourceNetworkingRouterRouteV2Read(d *schema.ResourceData, meta interface{ routerId := d.Get("router_id").(string) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -153,7 +153,7 @@ func resourceNetworkingRouterRouteV2Delete(d *schema.ResourceData, meta interfac config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_router_v2.go b/builtin/providers/openstack/resource_openstack_networking_router_v2.go index b12ca24ce7..efbab162e9 100644 --- a/builtin/providers/openstack/resource_openstack_networking_router_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_router_v2.go @@ -65,7 +65,7 @@ func resourceNetworkingRouterV2() *schema.Resource { func resourceNetworkingRouterV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -122,7 +122,7 @@ func resourceNetworkingRouterV2Create(d *schema.ResourceData, meta interface{}) func resourceNetworkingRouterV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -154,7 +154,7 @@ func resourceNetworkingRouterV2Update(d *schema.ResourceData, meta interface{}) defer osMutexKV.Unlock(routerId) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -189,7 +189,7 @@ func resourceNetworkingRouterV2Update(d *schema.ResourceData, meta interface{}) func resourceNetworkingRouterV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_secgroup_rule_v2.go b/builtin/providers/openstack/resource_openstack_networking_secgroup_rule_v2.go index 8c7494b7b5..bb7017c401 100644 --- a/builtin/providers/openstack/resource_openstack_networking_secgroup_rule_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_secgroup_rule_v2.go @@ -90,7 +90,7 @@ func resourceNetworkingSecGroupRuleV2() *schema.Resource { func resourceNetworkingSecGroupRuleV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -147,7 +147,7 @@ func resourceNetworkingSecGroupRuleV2Read(d *schema.ResourceData, meta interface log.Printf("[DEBUG] Retrieve information about security group rule: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -167,6 +167,8 @@ func resourceNetworkingSecGroupRuleV2Read(d *schema.ResourceData, meta interface d.Set("remote_ip_prefix", security_group_rule.RemoteIPPrefix) d.Set("security_group_id", security_group_rule.SecGroupID) d.Set("tenant_id", security_group_rule.TenantID) + d.Set("region", GetRegion(d)) + return nil } @@ -174,7 +176,7 @@ func resourceNetworkingSecGroupRuleV2Delete(d *schema.ResourceData, meta interfa log.Printf("[DEBUG] Destroy security group rule: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_secgroup_v2.go b/builtin/providers/openstack/resource_openstack_networking_secgroup_v2.go index aecb31ee38..229f0adc72 100644 --- a/builtin/providers/openstack/resource_openstack_networking_secgroup_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_secgroup_v2.go @@ -52,7 +52,7 @@ func resourceNetworkingSecGroupV2() *schema.Resource { func resourceNetworkingSecGroupV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -81,7 +81,7 @@ func resourceNetworkingSecGroupV2Read(d *schema.ResourceData, meta interface{}) log.Printf("[DEBUG] Retrieve information about security group: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -95,6 +95,8 @@ func resourceNetworkingSecGroupV2Read(d *schema.ResourceData, meta interface{}) d.Set("description", security_group.Description) d.Set("tenant_id", security_group.TenantID) d.Set("name", security_group.Name) + d.Set("region", GetRegion(d)) + return nil } @@ -102,7 +104,7 @@ func resourceNetworkingSecGroupV2Delete(d *schema.ResourceData, meta interface{} log.Printf("[DEBUG] Destroy security group: %s", d.Id()) config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_networking_subnet_v2.go b/builtin/providers/openstack/resource_openstack_networking_subnet_v2.go index b7baf5a84c..c807445e6f 100644 --- a/builtin/providers/openstack/resource_openstack_networking_subnet_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_subnet_v2.go @@ -125,7 +125,7 @@ func resourceNetworkingSubnetV2() *schema.Resource { func resourceNetworkingSubnetV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -192,7 +192,7 @@ func resourceNetworkingSubnetV2Create(d *schema.ResourceData, meta interface{}) func resourceNetworkingSubnetV2Read(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -209,19 +209,31 @@ func resourceNetworkingSubnetV2Read(d *schema.ResourceData, meta interface{}) er d.Set("ip_version", s.IPVersion) d.Set("name", s.Name) d.Set("tenant_id", s.TenantID) - d.Set("allocation_pools", s.AllocationPools) d.Set("gateway_ip", s.GatewayIP) d.Set("dns_nameservers", s.DNSNameservers) d.Set("host_routes", s.HostRoutes) d.Set("enable_dhcp", s.EnableDHCP) d.Set("network_id", s.NetworkID) + // Set the allocation_pools + var allocationPools []map[string]interface{} + for _, v := range s.AllocationPools { + pool := make(map[string]interface{}) + pool["start"] = v.Start + pool["end"] = v.End + + allocationPools = append(allocationPools, pool) + } + d.Set("allocation_pools", allocationPools) + + d.Set("region", GetRegion(d)) + return nil } func resourceNetworkingSubnetV2Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } @@ -287,7 +299,7 @@ func resourceNetworkingSubnetV2Update(d *schema.ResourceData, meta interface{}) func resourceNetworkingSubnetV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - networkingClient, err := config.networkingV2Client(d.Get("region").(string)) + networkingClient, err := config.networkingV2Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } diff --git a/builtin/providers/openstack/resource_openstack_objectstorage_container_v1.go b/builtin/providers/openstack/resource_openstack_objectstorage_container_v1.go index 4f6fe61e5e..27fb7ae0c5 100644 --- a/builtin/providers/openstack/resource_openstack_objectstorage_container_v1.go +++ b/builtin/providers/openstack/resource_openstack_objectstorage_container_v1.go @@ -63,7 +63,7 @@ func resourceObjectStorageContainerV1() *schema.Resource { func resourceObjectStorageContainerV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - objectStorageClient, err := config.objectStorageV1Client(d.Get("region").(string)) + objectStorageClient, err := config.objectStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack object storage client: %s", err) } @@ -98,7 +98,7 @@ func resourceObjectStorageContainerV1Read(d *schema.ResourceData, meta interface func resourceObjectStorageContainerV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - objectStorageClient, err := config.objectStorageV1Client(d.Get("region").(string)) + objectStorageClient, err := config.objectStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack object storage client: %s", err) } @@ -125,7 +125,7 @@ func resourceObjectStorageContainerV1Update(d *schema.ResourceData, meta interfa func resourceObjectStorageContainerV1Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) - objectStorageClient, err := config.objectStorageV1Client(d.Get("region").(string)) + objectStorageClient, err := config.objectStorageV1Client(GetRegion(d)) if err != nil { return fmt.Errorf("Error creating OpenStack object storage client: %s", err) } diff --git a/builtin/providers/openstack/util.go b/builtin/providers/openstack/util.go index 596067ce14..70fb8914f7 100644 --- a/builtin/providers/openstack/util.go +++ b/builtin/providers/openstack/util.go @@ -2,31 +2,12 @@ package openstack import ( "fmt" + "os" "github.com/gophercloud/gophercloud" "github.com/hashicorp/terraform/helper/schema" ) -// CheckDeleted checks the error to see if it's a 404 (Not Found) and, if so, -// sets the resource ID to the empty string instead of throwing an error. -func CheckDeleted(d *schema.ResourceData, err error, msg string) error { - if _, ok := err.(gophercloud.ErrDefault404); ok { - d.SetId("") - return nil - } - - return fmt.Errorf("%s: %s", msg, err) -} - -// MapValueSpecs converts ResourceData into a map -func MapValueSpecs(d *schema.ResourceData) map[string]string { - m := make(map[string]string) - for key, val := range d.Get("value_specs").(map[string]interface{}) { - m[key] = val.(string) - } - return m -} - // BuildRequest takes an opts struct and builds a request body for // Gophercloud to execute func BuildRequest(opts interface{}, parent string) (map[string]interface{}, error) { @@ -44,3 +25,36 @@ func BuildRequest(opts interface{}, parent string) (map[string]interface{}, erro return map[string]interface{}{parent: b}, nil } + +// CheckDeleted checks the error to see if it's a 404 (Not Found) and, if so, +// sets the resource ID to the empty string instead of throwing an error. +func CheckDeleted(d *schema.ResourceData, err error, msg string) error { + if _, ok := err.(gophercloud.ErrDefault404); ok { + d.SetId("") + return nil + } + + return fmt.Errorf("%s: %s", msg, err) +} + +// GetRegion returns the region from either d.Get("region") or OS_REGION_NAME +func GetRegion(d *schema.ResourceData) string { + if v, ok := d.GetOk("region"); ok { + return v.(string) + } + + if v := os.Getenv("OS_REGION_NAME"); v != "" { + return v + } + + return "" +} + +// MapValueSpecs converts ResourceData into a map +func MapValueSpecs(d *schema.ResourceData) map[string]string { + m := make(map[string]string) + for key, val := range d.Get("value_specs").(map[string]interface{}) { + m[key] = val.(string) + } + return m +}