From 90e21f1b2c5b4c0daef5a42ab79b5fa79eee4924 Mon Sep 17 00:00:00 2001 From: Angie Pinilla Date: Thu, 27 Jan 2022 13:19:23 -0500 Subject: [PATCH] r/s3_bucket_cors_configuration: update ID methods to generic ones; docs formatting --- .../service/s3/bucket_cors_configuration.go | 38 ++----------------- .../s3/bucket_cors_configuration_test.go | 22 ++++++++++- ...s3_bucket_cors_configuration.html.markdown | 2 +- 3 files changed, 25 insertions(+), 37 deletions(-) diff --git a/internal/service/s3/bucket_cors_configuration.go b/internal/service/s3/bucket_cors_configuration.go index f9bbceae9a8..e19e180c96f 100644 --- a/internal/service/s3/bucket_cors_configuration.go +++ b/internal/service/s3/bucket_cors_configuration.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "log" - "strings" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/s3" @@ -107,7 +106,7 @@ func resourceBucketCorsConfigurationCreate(ctx context.Context, d *schema.Resour return diag.FromErr(fmt.Errorf("error creating S3 bucket (%s) CORS configuration: %w", bucket, err)) } - d.SetId(resourceBucketCorsConfigurationCreateResourceID(bucket, expectedBucketOwner)) + d.SetId(CreateResourceID(bucket, expectedBucketOwner)) return resourceBucketCorsConfigurationRead(ctx, d, meta) } @@ -115,7 +114,7 @@ func resourceBucketCorsConfigurationCreate(ctx context.Context, d *schema.Resour func resourceBucketCorsConfigurationRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn - bucket, expectedBucketOwner, err := resourceBucketCorsConfigurationParseResourceID(d.Id()) + bucket, expectedBucketOwner, err := ParseResourceID(d.Id()) if err != nil { return diag.FromErr(err) } @@ -162,7 +161,7 @@ func resourceBucketCorsConfigurationRead(ctx context.Context, d *schema.Resource func resourceBucketCorsConfigurationUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn - bucket, expectedBucketOwner, err := resourceBucketCorsConfigurationParseResourceID(d.Id()) + bucket, expectedBucketOwner, err := ParseResourceID(d.Id()) if err != nil { return diag.FromErr(err) } @@ -190,7 +189,7 @@ func resourceBucketCorsConfigurationUpdate(ctx context.Context, d *schema.Resour func resourceBucketCorsConfigurationDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn - bucket, expectedBucketOwner, err := resourceBucketCorsConfigurationParseResourceID(d.Id()) + bucket, expectedBucketOwner, err := ParseResourceID(d.Id()) if err != nil { return diag.FromErr(err) } @@ -216,35 +215,6 @@ func resourceBucketCorsConfigurationDelete(ctx context.Context, d *schema.Resour return nil } -func resourceBucketCorsConfigurationCreateResourceID(bucket, expectedBucketOwner string) string { - if bucket == "" { - return expectedBucketOwner - } - - if expectedBucketOwner == "" { - return bucket - } - - parts := []string{bucket, expectedBucketOwner} - id := strings.Join(parts, ",") - - return id -} - -func resourceBucketCorsConfigurationParseResourceID(id string) (string, string, error) { - parts := strings.Split(id, ",") - - if len(parts) == 1 && parts[0] != "" { - return parts[0], "", nil - } - - if len(parts) == 2 && parts[0] != "" && parts[1] != "" { - return parts[0], parts[1], nil - } - - return "", "", fmt.Errorf("unexpected format for ID (%[1]s), expected BUCKET or BUCKET,EXPECTED_BUCKET_OWNER", id) -} - func expandBucketCorsConfigurationCorsRules(l []interface{}) []*s3.CORSRule { if len(l) == 0 { return nil diff --git a/internal/service/s3/bucket_cors_configuration_test.go b/internal/service/s3/bucket_cors_configuration_test.go index 0ff291d8f9a..0f0e30adee3 100644 --- a/internal/service/s3/bucket_cors_configuration_test.go +++ b/internal/service/s3/bucket_cors_configuration_test.go @@ -226,8 +226,17 @@ func testAccCheckBucketCorsConfigurationDestroy(s *terraform.State) error { continue } + bucket, expectedBucketOwner, err := tfs3.ParseResourceID(rs.Primary.ID) + if err != nil { + return err + } + input := &s3.GetBucketCorsInput{ - Bucket: aws.String(rs.Primary.ID), + Bucket: aws.String(bucket), + } + + if expectedBucketOwner != "" { + input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } output, err := conn.GetBucketCors(input) @@ -261,8 +270,17 @@ func testAccCheckBucketCorsConfigurationExists(resourceName string) resource.Tes conn := acctest.Provider.Meta().(*conns.AWSClient).S3Conn + bucket, expectedBucketOwner, err := tfs3.ParseResourceID(rs.Primary.ID) + if err != nil { + return err + } + input := &s3.GetBucketCorsInput{ - Bucket: aws.String(rs.Primary.ID), + Bucket: aws.String(bucket), + } + + if expectedBucketOwner != "" { + input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } output, err := conn.GetBucketCors(input) diff --git a/website/docs/r/s3_bucket_cors_configuration.html.markdown b/website/docs/r/s3_bucket_cors_configuration.html.markdown index bddbe67fa7b..f747598b623 100644 --- a/website/docs/r/s3_bucket_cors_configuration.html.markdown +++ b/website/docs/r/s3_bucket_cors_configuration.html.markdown @@ -3,7 +3,7 @@ subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_cors_configuration" description: |- -Provides an S3 bucket CORS configuration resource. + Provides an S3 bucket CORS configuration resource. --- # Resource: aws_s3_bucket_cors_configuration