【发布时间】:2021-10-03 10:44:57
【问题描述】:
我正在尝试将值 s3 名称和 create_user 传递到 main.tf 中的本地块中,以便它们都具有列表中的值,然后我在模块 s3 的本地块中传递 list_of_bucket 以创建存储桶并循环如果布尔值设置为 true,则模块 s3_user 中的 user_to_create 创建用户。所有这些值都传递给 variable.tf,然后传递给 main.tf
dev.tfvars
wea-nonprod = {
services = {
s3 = [
sthree = {
create_user = true,
}
sfour = {
create_user = true,
}
sfive = {
create_user = true,
}
]
}
}
变量.tf
variable "s3_buckets" {
type = list(map)
}
main.tf
locals {
users_to_create = ""
list_of_buckets = ""
}
module "s3" {
source = "../../s3"
name = join("-", [var.name_prefix, "s3"])
tags = merge(var.tags, {Name = join("-", [var.name_prefix, "s3"])})
buckets = list_of_buckets
sse_algorithm = "AES256"
access_log_bucket_name = var.access_log_bucket_name
}
module "s3_user" {
for_each = local.users_to_create
source = "./service-s3-bucket-user"
name = join("-", [var.name_prefix, each.key])
tags = var.tags
bucket_arn = module.s3.bucket_arns[each.key]
depends_on = [module.s3]
}
【问题讨论】:
-
请不要重复提问。已经发布了答案。如果它不起作用,请对其发表评论并解释问题所在,以便回答的人可能会修改它。
标签: amazon-web-services amazon-s3 terraform terraform-provider-aws