嘗試使用 Terraform 和下面提供的代碼創建多個 AWS s3 存盤桶。提供者版本:4.5.0
嘗試無count功能和有for_each功能
resource "aws_s3_bucket" "public_bucket" {
count = "${length(var.public_bucket_names)}"
bucket = "${var.public_bucket_names[count.index]}"
# acceleration_status = var.public_bucket_acceleration
tags = {
ProjectName = "${var.project_name}"
Environment = "${var.env_suffix}"
}
}
resource "aws_s3_bucket_versioning" "public_bucket_versioning" {
bucket = aws_s3_bucket.public_bucket[count.index].id
versioning_configuration {
status = "Enabled"
}
}
面臨以下錯誤
Error: Reference to "count" in non-counted context
│
│ on modules/S3-Public/s3-public.tf line 24, in resource "aws_s3_bucket_versioning" "public_bucket_versioning":
│ 24: bucket = aws_s3_bucket.public_bucket[count.index].id
│
│ The "count" object can only be used in "module", "resource", and "data" blocks, and only when the "count" argument is set.
uj5u.com熱心網友回復:
您當前的代碼創建多個 S3 存盤桶,但僅嘗試創建單個存盤桶版本控制配置。您count在存盤桶版本控制資源中參考了一個變數,但您count尚未為該資源宣告??一個屬性。
您需要宣告count存盤桶版本控制資源,就像您為 s3 存盤桶資源所做的那樣。
resource "aws_s3_bucket_versioning" "public_bucket_versioning" {
count = "${length(var.public_bucket_names)}"
bucket = aws_s3_bucket.public_bucket[count.index].id
versioning_configuration {
status = "Enabled"
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/447411.html
標籤:亚马逊-s3 地形 开发运维 terraform-provider-aws terraform-模板文件
