【发布时间】:2022-07-30 00:48:01
【问题描述】:
我有一个数据模块,我正在其中创建 \"aws_iam_policy_document\" \"trust-policy,并且只想为某些模块添加条件,而不是全部。
例如:
data \"aws_iam_policy_document\" \"trust-policy\" {
statement {
actions = [var.action]
principals {
type = var.type
identifiers = concat(var.trusted_arns)
}
count = var.git ? 1 : 0
condition {
test = \"StringEquals\"
variable = \"abc\"
values = [\"sts.amazonaws.com\"]
}
condition {
test = \"StringLike\"
variable = \"dcf\"
values = [\"repo:var.org_name/var.repo_name:ref:refs/heads/var.branch_name\"]
}
}
}
我只想在模块是 git 时运行条件块。但是使用 count ,它会失败并出现以下错误:
An argument named \"count\" is not expected here.
-
哪个
condition块?另请注意,数据中的条件块与resource:stackoverflow.com/questions/69034600/… 中的基本相同。 -
您不能将
count放在这样的statement块中。你具体想在这里做什么?您可能需要使用动态块:terraform.io/language/expressions/dynamic-blocks
标签: terraform amazon-iam terraform-provider-aws