Skip to content

Commit

Permalink
Merge pull request #43 from minamijoyo/suppress-invalid-days-after-in…
Browse files Browse the repository at this point in the history
…itiation

Suppress adding invalid days_after_initiation for aws_s3_bucket_lifecycle_configuration
  • Loading branch information
minamijoyo authored Jul 5, 2022
2 parents 77e3b2f + 1cbb1d9 commit 09d6a33
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 3 deletions.
11 changes: 8 additions & 3 deletions filter/awsv4upgrade/aws_s3_bucket_lifecycle_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,9 +191,14 @@ func (f *AWSS3BucketLifecycleRuleFilter) ResourceFilter(inFile *tfwrite.File, re
// }
abortAttr := nestedBlock.GetAttribute("abort_incomplete_multipart_upload_days")
if abortAttr != nil {
abortBlock := tfwrite.NewEmptyNestedBlock("abort_incomplete_multipart_upload")
nestedBlock.AppendNestedBlock(abortBlock)
abortBlock.SetAttributeRaw("days_after_initiation", abortAttr.ValueAsTokens())
abort, err := abortAttr.ValueAsString()
// When the value is 0, adding a block will result in a migration plan diff,
// so suppress adding the block.
if err == nil && abort != "0" {
abortBlock := tfwrite.NewEmptyNestedBlock("abort_incomplete_multipart_upload")
nestedBlock.AppendNestedBlock(abortBlock)
abortBlock.SetAttributeRaw("days_after_initiation", abortAttr.ValueAsTokens())
}
nestedBlock.RemoveAttribute("abort_incomplete_multipart_upload_days")
}

Expand Down
34 changes: 34 additions & 0 deletions filter/awsv4upgrade/aws_s3_bucket_lifecycle_rule_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,40 @@ resource "aws_s3_bucket_lifecycle_configuration" "example" {
}
}
}
`,
},
{
name: "with abort_incomplete_multipart_upload_days = 0",
src: `
resource "aws_s3_bucket" "example" {
bucket = "tfedit-test"
lifecycle_rule {
id = "rule-0"
enabled = true
abort_incomplete_multipart_upload_days = 0
}
}
`,
ok: true,
want: `
resource "aws_s3_bucket" "example" {
bucket = "tfedit-test"
}
resource "aws_s3_bucket_lifecycle_configuration" "example" {
bucket = aws_s3_bucket.example.id
rule {
id = "rule-0"
status = "Enabled"
filter {
prefix = ""
}
}
}
`,
},
{
Expand Down

0 comments on commit 09d6a33

Please sign in to comment.