Skip to content

Commit

Permalink
Extract setBucketArgument as a method
Browse files Browse the repository at this point in the history
  • Loading branch information
minamijoyo committed Feb 13, 2022
1 parent aae121a commit fc11a0d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
10 changes: 10 additions & 0 deletions filter/awsv4upgrade/aws_s3_bucket.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package awsv4upgrade

import (
"github.com/hashicorp/hcl/v2"
"github.com/hashicorp/hcl/v2/hclwrite"
"github.com/minamijoyo/hcledit/editor"
)
Expand Down Expand Up @@ -61,3 +62,12 @@ func appendNewResourceBlock(body *hclwrite.Body, resourceType string, resourceNa
body.AppendNewline()
return body.AppendNewBlock("resource", []string{resourceType, resourceName})
}

// setBucketArgument is a helper method for setting a bucket argument to the given block.
func setBucketArgument(block *hclwrite.Block, resourceName string) *hclwrite.Attribute {
return block.Body().SetAttributeTraversal("bucket", hcl.Traversal{
hcl.TraverseRoot{Name: "aws_s3_bucket"},
hcl.TraverseAttr{Name: resourceName},
hcl.TraverseAttr{Name: "id"},
})
}
7 changes: 1 addition & 6 deletions filter/awsv4upgrade/aws_s3_bucket_acl.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package awsv4upgrade

import (
"github.com/hashicorp/hcl/v2"
"github.com/hashicorp/hcl/v2/hclwrite"
"github.com/minamijoyo/hcledit/editor"
"github.com/zclconf/go-cty/cty"
Expand Down Expand Up @@ -30,11 +29,7 @@ func (f *AWSS3BucketACLFilter) Filter(inFile *hclwrite.File) (*hclwrite.File, er

resourceName := getResourceName(block)
newblock := appendNewResourceBlock(inFile.Body(), "aws_s3_bucket_acl", resourceName)
newblock.Body().SetAttributeTraversal("bucket", hcl.Traversal{
hcl.TraverseRoot{Name: "aws_s3_bucket"},
hcl.TraverseAttr{Name: resourceName},
hcl.TraverseAttr{Name: "id"},
})
setBucketArgument(newblock, resourceName)
newblock.Body().SetAttributeValue("acl", cty.StringVal("private"))
block.Body().RemoveAttribute("acl")
}
Expand Down
7 changes: 1 addition & 6 deletions filter/awsv4upgrade/aws_s3_bucket_logging.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package awsv4upgrade

import (
"github.com/hashicorp/hcl/v2"
"github.com/hashicorp/hcl/v2/hclwrite"
"github.com/minamijoyo/hcledit/editor"
)
Expand Down Expand Up @@ -30,11 +29,7 @@ func (f *AWSS3BucketLoggingFilter) Filter(inFile *hclwrite.File) (*hclwrite.File

resourceName := getResourceName(block)
newblock := appendNewResourceBlock(inFile.Body(), "aws_s3_bucket_logging", resourceName)
newblock.Body().SetAttributeTraversal("bucket", hcl.Traversal{
hcl.TraverseRoot{Name: "aws_s3_bucket"},
hcl.TraverseAttr{Name: resourceName},
hcl.TraverseAttr{Name: "id"},
})
setBucketArgument(newblock, resourceName)
newblock.Body().AppendUnstructuredTokens(nested.Body().BuildTokens(nil))
block.Body().RemoveBlock(nested)
}
Expand Down

0 comments on commit fc11a0d

Please sign in to comment.