如何在资源调用中使用var



我正在导入已经在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

相关内容

  • 没有找到相关文章

最新更新