diff --git a/builtin/providers/aws/resource_aws_cloudfront_distribution_test.go b/builtin/providers/aws/resource_aws_cloudfront_distribution_test.go index 88e2b3ba5a..d29045388d 100644 --- a/builtin/providers/aws/resource_aws_cloudfront_distribution_test.go +++ b/builtin/providers/aws/resource_aws_cloudfront_distribution_test.go @@ -44,8 +44,8 @@ func TestAccAWSCloudFrontDistribution_S3Origin(t *testing.T) { func TestAccAWSCloudFrontDistribution_S3OriginWithTags(t *testing.T) { ri := acctest.RandInt() - preConfig := fmt.Sprintf(testAccAWSCloudFrontDistributionS3ConfigWithTags, ri, testAccAWSCloudFrontDistributionRetainConfig()) - postConfig := fmt.Sprintf(testAccAWSCloudFrontDistributionS3ConfigWithTagsUpdated, ri, testAccAWSCloudFrontDistributionRetainConfig()) + preConfig := fmt.Sprintf(testAccAWSCloudFrontDistributionS3ConfigWithTags, ri, originBucket, logBucket, testAccAWSCloudFrontDistributionRetainConfig()) + postConfig := fmt.Sprintf(testAccAWSCloudFrontDistributionS3ConfigWithTagsUpdated, ri, originBucket, logBucket, testAccAWSCloudFrontDistributionRetainConfig()) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -251,26 +251,41 @@ func testAccAWSCloudFrontDistributionRetainConfig() string { return "" } +var originBucket = fmt.Sprintf(` +resource "aws_s3_bucket" "s3_bucket_origin" { + bucket = "mybucket.${var.rand_id}" + acl = "public-read" +} +`) + +var logBucket = fmt.Sprintf(` +resource "aws_s3_bucket" "s3_bucket_logs" { + bucket = "mylogs.${var.rand_id}" + acl = "public-read" +} +`) + var testAccAWSCloudFrontDistributionS3Config = fmt.Sprintf(` variable rand_id { default = %d } -resource "aws_s3_bucket" "s3_bucket" { - bucket = "mybucket.${var.rand_id}.s3.amazonaws.com" - acl = "public-read" -} +# origin bucket +%s + +# log bucket +%s resource "aws_cloudfront_distribution" "s3_distribution" { origin { - domain_name = "${aws_s3_bucket.s3_bucket.id}" + domain_name = "${aws_s3_bucket.s3_bucket_origin.id}.s3.amazonaws.com" origin_id = "myS3Origin" } enabled = true default_root_object = "index.html" logging_config { include_cookies = false - bucket = "mylogs.${var.rand_id}.s3.amazonaws.com" + bucket = "${aws_s3_bucket.s3_bucket_logs.id}.s3.amazonaws.com" prefix = "myprefix" } aliases = [ "mysite.${var.rand_id}.example.com", "yoursite.${var.rand_id}.example.com" ] @@ -301,21 +316,22 @@ resource "aws_cloudfront_distribution" "s3_distribution" { } %s } -`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), testAccAWSCloudFrontDistributionRetainConfig()) +`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), originBucket, logBucket, testAccAWSCloudFrontDistributionRetainConfig()) var testAccAWSCloudFrontDistributionS3ConfigWithTags = ` variable rand_id { default = %d } -resource "aws_s3_bucket" "s3_bucket" { - bucket = "mybucket.${var.rand_id}.s3.amazonaws.com" - acl = "public-read" -} +# origin bucket +%s + +# log bucket +%s resource "aws_cloudfront_distribution" "s3_distribution" { origin { - domain_name = "${aws_s3_bucket.s3_bucket.id}" + domain_name = "${aws_s3_bucket.s3_bucket_origin.id}.s3.amazonaws.com" origin_id = "myS3Origin" } enabled = true @@ -359,14 +375,15 @@ variable rand_id { default = %d } -resource "aws_s3_bucket" "s3_bucket" { - bucket = "mybucket.${var.rand_id}.s3.amazonaws.com" - acl = "public-read" -} +# origin bucket +%s + +# log bucket +%s resource "aws_cloudfront_distribution" "s3_distribution" { origin { - domain_name = "${aws_s3_bucket.s3_bucket.id}" + domain_name = "${aws_s3_bucket.s3_bucket_origin.id}.s3.amazonaws.com" origin_id = "myS3Origin" } enabled = true @@ -409,6 +426,9 @@ variable rand_id { default = %d } +# log bucket +%s + resource "aws_cloudfront_distribution" "custom_distribution" { origin { domain_name = "www.example.com" @@ -425,7 +445,7 @@ resource "aws_cloudfront_distribution" "custom_distribution" { default_root_object = "index.html" logging_config { include_cookies = false - bucket = "mylogs.${var.rand_id}.s3.amazonaws.com" + bucket = "${aws_s3_bucket.s3_bucket_logs.id}.s3.amazonaws.com" prefix = "myprefix" } aliases = [ "mysite.${var.rand_id}.example.com", "*.yoursite.${var.rand_id}.example.com" ] @@ -457,21 +477,22 @@ resource "aws_cloudfront_distribution" "custom_distribution" { } %s } -`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), testAccAWSCloudFrontDistributionRetainConfig()) +`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), logBucket, testAccAWSCloudFrontDistributionRetainConfig()) var testAccAWSCloudFrontDistributionMultiOriginConfig = fmt.Sprintf(` variable rand_id { default = %d } -resource "aws_s3_bucket" "s3_bucket" { - bucket = "mybucket.${var.rand_id}.s3.amazonaws.com" - acl = "public-read" -} +# origin bucket +%s + +# log bucket +%s resource "aws_cloudfront_distribution" "multi_origin_distribution" { origin { - domain_name = "${aws_s3_bucket.s3_bucket.id}" + domain_name = "${aws_s3_bucket.s3_bucket_origin.id}.s3.amazonaws.com" origin_id = "myS3Origin" } origin { @@ -489,7 +510,7 @@ resource "aws_cloudfront_distribution" "multi_origin_distribution" { default_root_object = "index.html" logging_config { include_cookies = false - bucket = "mylogs.${var.rand_id}.s3.amazonaws.com" + bucket = "${aws_s3_bucket.s3_bucket_logs.id}.s3.amazonaws.com" prefix = "myprefix" } aliases = [ "mysite.${var.rand_id}.example.com", "*.yoursite.${var.rand_id}.example.com" ] @@ -509,7 +530,7 @@ resource "aws_cloudfront_distribution" "multi_origin_distribution" { max_ttl = 100 viewer_protocol_policy = "allow-all" } - cache_behavior { + cache_behaviors = [{ allowed_methods = [ "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT" ] cached_methods = [ "GET", "HEAD" ] target_origin_id = "myS3Origin" @@ -524,8 +545,8 @@ resource "aws_cloudfront_distribution" "multi_origin_distribution" { max_ttl = 50 viewer_protocol_policy = "allow-all" path_pattern = "images1/*.jpg" - } - cache_behavior { + }, + { allowed_methods = [ "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT" ] cached_methods = [ "GET", "HEAD" ] target_origin_id = "myCustomOrigin" @@ -540,7 +561,7 @@ resource "aws_cloudfront_distribution" "multi_origin_distribution" { max_ttl = 50 viewer_protocol_policy = "allow-all" path_pattern = "images2/*.jpg" - } + }] price_class = "PriceClass_All" custom_error_response { error_code = 404 @@ -558,7 +579,7 @@ resource "aws_cloudfront_distribution" "multi_origin_distribution" { } %s } -`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), testAccAWSCloudFrontDistributionRetainConfig()) +`, rand.New(rand.NewSource(time.Now().UnixNano())).Int(), originBucket, logBucket, testAccAWSCloudFrontDistributionRetainConfig()) var testAccAWSCloudFrontDistributionNoCustomErroResponseInfo = fmt.Sprintf(` variable rand_id {