当试图为aws s3版本控制配置添加动态块时,需要使用错误'versioning_configuration‘参数。请找到下面的代码实例,并建议最佳答案。
resource "aws_s3_bucket_acl" "firehose_to_s3" {
bucket = aws_s3_bucket.firehose_to_s3.id
acl = "private"
}
resource "aws_s3_bucket_versioning" "firehose_to_s3" {
bucket = aws_s3_bucket.firehose_to_s3.id
dynamic "versioning_configuration" {
#value of replicate is false and true.
for_each = var.replicate ? ["yes"] : []
content {
status = "Enabled"
}
}
}下面是我得到的参数"versioning_configuration“是必需的错误,但是没有找到任何定义。
发布于 2022-02-19 18:54:49
如果您的目标仅是基于布尔变量启用或禁用版本控制,则可以使用count进行操作。
resource "aws_s3_bucket_versioning" "firehose_to_s3" {
count = var.replicate ? 1 : 0
bucket = aws_s3_bucket.firehose_to_s3.id
"versioning_configuration" {
status = "Enabled"
}
}这是因为默认情况下不启用版本控制,因此在不需要资源时无法创建资源。
或者可以在status变量上添加一个条件,如
resource "aws_s3_bucket_versioning" "firehose_to_s3" {
bucket = aws_s3_bucket.firehose_to_s3.id
"versioning_configuration" {
status = var.replicate ? "Enabled" : "Suspended"
}
}https://stackoverflow.com/questions/71160327
复制相似问题