我有一个模块可以从json文件中创建一些aws策略。Terraform计划在尝试将新资源(策略)附加到它正在创建的角色时返回一个错误。
The "for_each" value depends on resource attributes that cannot be determined until apply这是可以的,所以我尝试在创建新资源(策略)的模块上使用depends_on,但是我仍然有相同的错误。
在这里,我的模块:
module "admin" {
source = "./my_repo/admin"
depends_on = [
aws_iam_policy.common,
aws_iam_policy.ses_sending,
aws_iam_policy.athena_readonly,
]
policies = [
aws_iam_policy.common.arn,
aws_iam_policy.ses_sending.arn,
aws_iam_policy.athena_readonly.arn,
]在模块./my_repo/admin中,我有一个包含以下代码的文件(这里有错误)
resource "aws_iam_role_policy_attachment" "me" {
for_each = toset(var.policies)
role = aws_iam_role.me.name
policy_arn = each.value
}怎么了?
谢谢
发布于 2021-12-07 15:25:16
"for_each“值依赖于在应用之前无法确定的资源属性,因此Terraform无法预测将创建多少策略。要解决这个问题,首先使用-target参数只应用for_each所依赖的资源。
https://stackoverflow.com/questions/70262692
复制相似问题