- version
1 2 3 4 5 6 7 8 9 |
terraform { required_version = ">= 1.3.0" required_providers { aws = { source = "hashicorp/aws" version = "4.33.0" } } ~省略~ |
- warning
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
╷ │ Warning: Argument is deprecated │ │ with aws_s3_bucket.hoge, │ on s3.tf line 1, in resource "aws_s3_bucket" "hoge": │ 1: resource "aws_s3_bucket" "hoge" { │ │ Use the aws_s3_bucket_lifecycle_configuration resource instead │ │ (and 17 more similar warnings elsewhere) ╵ Warning: Argument is deprecated │ │ with aws_s3_bucket.hoge, │ on s3.tf line 53, in resource "aws_s3_bucket" "hoge": │ 53: acl = "private" │ │ Use the aws_s3_bucket_acl resource instead │ │ (and 4 more similar warnings elsewhere) |
aws_s3_bucket
でライフサイクルルール aws_s3_bucket_lifecycle_configuration
やら、ACL aws_s3_bucket_acl
が独立したリソースになったので、以下のように修正しなければならない。
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl
- s3.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
resource "aws_s3_bucket" "hoge" { bucket = "hoge" force_destroy = false } resource "aws_s3_bucket_acl" "hoge" { bucket = aws_s3_bucket.hoge.id acl = "private" } resource "aws_s3_bucket_lifecycle_configuration" "hoge" { bucket = aws_s3_bucket.hoge.id rule { status = "Enabled" id = "s3-hoge-lifecycle" filter { prefix = "hoge/" } expiration { days = 1 expired_object_delete_marker = false } } } |
terraform importはしなくていいので、差分解消してapply後にリソースが作成されればOK。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。