provider/aws: Allow lightsail resources to work in other regions

Previously lightsail was limited to `us-east-1` only. This restriction has now been lifted to new regions.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLightsailInstance_euRegion'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/19 16:40:48 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSLightsailInstance_euRegion -timeout 120m
=== RUN   TestAccAWSLightsailInstance_euRegion
--- PASS: TestAccAWSLightsailInstance_euRegion (45.31s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    45.319s
```

Fixes: #14668
This commit is contained in:
Jake Champlin 2017-05-19 16:44:07 -04:00
parent 5027cbd54c
commit 0abfda4d8b
No known key found for this signature in database
GPG Key ID: DC31F41958EF4AC2
2 changed files with 39 additions and 1 deletions

View File

@ -368,7 +368,7 @@ func (c *Config) Client() (interface{}, error) {
client.kinesisconn = kinesis.New(awsKinesisSess) client.kinesisconn = kinesis.New(awsKinesisSess)
client.kmsconn = kms.New(awsKmsSess) client.kmsconn = kms.New(awsKmsSess)
client.lambdaconn = lambda.New(sess) client.lambdaconn = lambda.New(sess)
client.lightsailconn = lightsail.New(usEast1Sess) client.lightsailconn = lightsail.New(sess)
client.opsworksconn = opsworks.New(sess) client.opsworksconn = opsworks.New(sess)
client.r53conn = route53.New(usEast1Sess) client.r53conn = route53.New(usEast1Sess)
client.rdsconn = rds.New(awsRdsSess) client.rdsconn = rds.New(awsRdsSess)

View File

@ -38,6 +38,30 @@ func TestAccAWSLightsailInstance_basic(t *testing.T) {
}) })
} }
func TestAccAWSLightsailInstance_euRegion(t *testing.T) {
var conf lightsail.Instance
lightsailName := fmt.Sprintf("tf-test-lightsail-%d", acctest.RandInt())
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: "aws_lightsail_instance.lightsail_instance_test",
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSLightsailInstanceDestroy,
Steps: []resource.TestStep{
{
Config: testAccAWSLightsailInstanceConfig_euRegion(lightsailName),
Check: resource.ComposeAggregateTestCheckFunc(
testAccCheckAWSLightsailInstanceExists("aws_lightsail_instance.lightsail_instance_test", &conf),
resource.TestCheckResourceAttrSet("aws_lightsail_instance.lightsail_instance_test", "availability_zone"),
resource.TestCheckResourceAttrSet("aws_lightsail_instance.lightsail_instance_test", "blueprint_id"),
resource.TestCheckResourceAttrSet("aws_lightsail_instance.lightsail_instance_test", "bundle_id"),
resource.TestCheckResourceAttrSet("aws_lightsail_instance.lightsail_instance_test", "key_pair_name"),
),
},
},
})
}
func TestAccAWSLightsailInstance_disapear(t *testing.T) { func TestAccAWSLightsailInstance_disapear(t *testing.T) {
var conf lightsail.Instance var conf lightsail.Instance
lightsailName := fmt.Sprintf("tf-test-lightsail-%d", acctest.RandInt()) lightsailName := fmt.Sprintf("tf-test-lightsail-%d", acctest.RandInt())
@ -149,3 +173,17 @@ resource "aws_lightsail_instance" "lightsail_instance_test" {
} }
`, lightsailName) `, lightsailName)
} }
func testAccAWSLightsailInstanceConfig_euRegion(lightsailName string) string {
return fmt.Sprintf(`
provider "aws" {
region = "eu-west-1"
}
resource "aws_lightsail_instance" "lightsail_instance_test" {
name = "%s"
availability_zone = "eu-west-1a"
blueprint_id = "joomla_3_6_5"
bundle_id = "nano_1_0"
}
`, lightsailName)
}