bha*_*chi 7 terraform terraform-provider-aws
这是我的代码源
\nresource "aws_s3_bucket_object" "object" {\n count = var.s3_create[1] ? 1 : 0 \n depends_on = [aws_s3_bucket.bucket_backup]\n for_each = local.buckets_and_folders \n bucket = each.value.bucket_backup\n key = format("%s/", each.value.folder)\n force_destroy = true\n} \nRun Code Online (Sandbox Code Playgroud)\n换句话说,我正在尝试创建aws_s3_bucket_object依赖于变量的对象s3_create对象...如果为真则创建,否则不创建。
问题:我无法在创建 terraform 资源时使用以下语法的组合,我正在了解:
\nError: Invalid combination of "count" and "for_each"\n\xe2\x94\x82\n\xe2\x94\x82 on ..\\s3\\resources.tf line 51, in resource "aws_s3_bucket_object" "object":\n\xe2\x94\x82 51: for_each = local.buckets_and_folders\n\xe2\x94\x82\n\xe2\x94\x82 The "count" and "for_each" meta-arguments are mutually-exclusive, only one should be used to be explicit about the number of resources to be created.\nRun Code Online (Sandbox Code Playgroud)\n
Dan*_*ego 19
count 和 for_each 都适用于整个块。在 for_each 下面缩进行不会影响任何内容,只会影响人类可读性。
尝试使用三元运算符与 for_each 而不是计数。如果值为 false,则返回空集。
resource "aws_s3_bucket_object" "object" {
for_each = var.s3_create[1] ? tomap({local.buckets_and_folders}) : {}
bucket = each.value.bucket_backup
key = format("%s/", each.value.folder)
depends_on = [aws_s3_bucket.bucket_backup]
force_destroy = true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15883 次 |
| 最近记录: |