providers/aws: Move HostedZoneIDForRegion into TF

This commit is contained in:
Justin Campbell 2015-05-08 10:29:26 -04:00
parent 64d2b495c3
commit 445f92e48a
4 changed files with 53 additions and 2 deletions

View File

@ -0,0 +1,27 @@
package aws
// This list is copied from
// http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints
// It currently cannot be generated from the API json.
var hostedZoneIDsMap = map[string]string{
"us-east-1": "Z3AQBSTGFYJSTF",
"us-west-2": "Z3BJ6K6RIION7M",
"us-west-1": "Z2F56UZL2M1ACD",
"eu-west-1": "Z1BKCTXD74EZPE",
"central-1": "Z21DNDUVLTQW6Q",
"ap-southeast-1": "Z3O0J2DXBE1FTB",
"ap-southeast-2": "Z1WCIGYICN2BYD",
"ap-northeast-1": "Z2M4EHUR26P7ZW",
"sa-east-1": "Z7KQH4QJS55SO",
"us-gov-west-1": "Z31GFT0UA1I2HV",
}
// Returns the hosted zone ID for an S3 website endpoint region. This can be
// used as input to the aws_route53_record resource's zone_id argument.
func HostedZoneIDForRegion(region string) string {
if region == "" {
region = "us-east-1"
}
return hostedZoneIDsMap[region]
}

View File

@ -0,0 +1,24 @@
package aws
import (
"testing"
)
func TestHostedZoneIDForRegion(t *testing.T) {
if r := HostedZoneIDForRegion("us-east-1"); r != "Z3AQBSTGFYJSTF" {
t.Fatalf("bad: %s", r)
}
if r := HostedZoneIDForRegion("ap-southeast-2"); r != "Z1WCIGYICN2BYD" {
t.Fatalf("bad: %s", r)
}
// Empty string should default to us-east-1
if r := HostedZoneIDForRegion(""); r != "Z3AQBSTGFYJSTF" {
t.Fatalf("bad: %s", r)
}
// Bad input should be empty string
if r := HostedZoneIDForRegion("not-a-region"); r != "" {
t.Fatalf("bad: %s", r)
}
}

View File

@ -176,7 +176,7 @@ func resourceAwsS3BucketRead(d *schema.ResourceData, meta interface{}) error {
}
// Add the hosted zone ID for this bucket's region as an attribute
hostedZoneID := s3.HostedZoneIDForRegion(region)
hostedZoneID := HostedZoneIDForRegion(region)
if err := d.Set("hosted_zone_id", hostedZoneID); err != nil {
return err
}

View File

@ -24,7 +24,7 @@ func TestAccAWSS3Bucket_basic(t *testing.T) {
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSS3BucketExists("aws_s3_bucket.bucket"),
resource.TestCheckResourceAttr(
"aws_s3_bucket.bucket", "hosted_zone_id", s3.HostedZoneIDForRegion("us-west-2")),
"aws_s3_bucket.bucket", "hosted_zone_id", HostedZoneIDForRegion("us-west-2")),
resource.TestCheckResourceAttr(
"aws_s3_bucket.bucket", "region", "us-west-2"),
resource.TestCheckResourceAttr(