この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
TerraformでS3バケットを作成しようとしてplanを実行したときに、以下のWarningが出ました。
Warning: Argument is deprecated
解決方法を紹介します。
TerraformでのS3の記述を修正してみる
■Warningが出たTerraform記述
わたしが書いたS3バケット作成のためのTerraformの記述は以下の通りです。
resource "aws_s3_bucket" "s3_deploy_bucket" {
bucket = "${var.project}-${var.environment}-deploy-bucket-${random_string.s3_unique_key.result}"
versioning {
enabled = false
}
}
■警告文
上記の記述でplanを実行すると、以下の警告文が出ました。
│ Warning: Argument is deprecated
│
│ with aws_s3_bucket.s3_deploy_bucket,
│ on s3.tf line 12, in resource "aws_s3_bucket" "s3_deploy_bucket":
│ 12: resource "aws_s3_bucket" "s3_deploy_bucket" {
│
│ Use the aws_s3_bucket_versioning resource instead
│
│ (and one more similar warning elsewhere)
"引数が非推奨"と書かれていますね。
Terraformの公式ドキュメントを確認すると、"versioning"は非推奨で、現在は"aws_s3_bucket_versioning"が使われているようです。
●aws_s3_bucket非推奨引数リスト
リソースaws_s3_bucketで参照される引数には他にも非推奨になっている引数が多数あり、将来のメジャーバージョンでは削除される予定とのことです。
以下に非推奨のオプションと代替オプションをリスト化しました。
非推奨 | 代替引数 |
---|---|
acceleration_status | aws_s3_bucket_accelerate_configuration |
acl | aws_s3_bucket_acl |
grant | aws_s3_bucket_acl |
cors_rule | aws_s3_bucket_cors_configuration |
lifecycle_rule | aws_s3_bucket_lifecycle_configuration |
logging | aws_s3_bucket_logging |
object_lock_configuration | aws_s3_bucket_object_lock_configuration |
policy | aws_s3_bucket_policy |
replication_configuration | aws_s3_bucket_replication_configuration |
request_payer | aws_s3_bucket_request_payment_configuration |
server_side_encryption_configuration | aws_s3_bucket_server_side_encryption_configuration |
versioning | aws_s3_bucket_versioning |
website | aws_s3_bucket_website_configuration |
■Terraformリソース修正
S3バケット作成のためのTerraformの記述を修正します。
resource "aws_s3_bucket" "s3_deploy_bucket" {
bucket = "${var.project}-${var.environment}-deploy-bucket-${random_string.s3_unique_key.result}"
}
resource "aws_s3_bucket_versioning" "s3_deploy_bucket_versioning" {
bucket = aws_s3_bucket.s3_deploy_bucket.id
versioning_configuration {
status = "Disabled"
}
}
まとめ:TerraformでS3バケットを作成しようとしてWarningが出ました【解決法】
Terraformのerror,worningの解決法をどんどん共有していきます。
Terraformを利用してAWSクラウド環境構築を始めたい方はこちらから
参考リンク:Terraform公式webサイト
↓ほかの協栄情報メンバーも自動化に関する記事を公開しています。ぜひ参考にしてみてください。
■Terraformの概要と使用方法(higa)
https://cloud5.jp/terraform_summary/
■AWS CodePipeline を利用してS3の静的ウェブサイトの更新を自動化する(tatsuoka)
https://cloud5.jp/tatsuoka-handson-beginner-codepipeline/
■AWS上にopenstackを構築(liuwanying)
https://cloud5.jp/openstack-install/
■Ansibleを利用してwindowsOSのインスタンスを操作する方法(umemoto)
https://cloud5.jp/control-windows-fromansible/