Terraformのaws_s3_bucket_acl対応

概要

S3で下記Deprecatedのログが出ることがあります。

╷
│ Warning: Argument is deprecated
│
│   with aws_s3_bucket.example,
│   on example.tf line 3, in resource "aws_s3_bucket" "example":
│    3:   acl    = "private"
│
│ Use the aws_s3_bucket_acl resource instead
│

これはS3バケットで acl を使用しているときにでるようです。

対応内容

まず、該当行を削除します。削除しただけでは差分になりません。
そして、下記を追加します。

resource "aws_s3_bucket_acl" "example" {
  bucket = aws_s3_bucket.example.id
  acl    = "private"
}

このままでは差分となってしまうので、importが必要です。

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#import

terraform import aws_s3_bucket_acl.example S3バケット名,private