我正在导入已经在AWS控制台中创建的角色,不幸的是,这些名称很奇怪。所以为了使用这些角色,我试着这样做我有两个IAM角色,如下
data "aws_iam_role" "reithera-rtcov201" {
name = "exomcloudrosareitherartcov-YRX1M2GJKD6H"
}
data "aws_iam_role" "dompe-rlx0120" {
name = "exomcloudrosadomperlx0120p-1SCGY0RG5JXFF"
}
在这个文件中,我有两个变量如下:
sponsor = ["reithera", "dompe"]
study = ["rtcov201", "rlx0120"]
我正在尝试以下方式,但地形不允许使用$。
data.aws_iam_role.${var.sponsor}-${var.study}.arn
你知道解决这个问题的办法吗。
这是不可能的。您可以动态创建对资源的引用。您应该创建一个数据源,而不是两个独立的数据源:
variable "iam_roles"
default = ["exomcloudrosareitherartcov-YRX1M2GJKD6H", "exomcloudrosadomperlx0120p-1SCGY0RG5JXFF"]
}
然后
data "aws_iam_role" "role" {
for_each = toset(var.iam_roles)
name = each.key
}
你可以用角色名称来称呼他们
data.aws_iam_role["exomcloudrosareitherartcov-YRX1M2GJKD6H"].arn