小编sav*_*vsr的帖子

在 Terraform 中插入数据源名称

我正在尝试编写一个用于将存储桶策略附加到 AWS S3 存储桶的 terraform 模块。这是代码:

data "aws_iam_policy_document" "make_objects_public" {
  # if policy_name == <this-policy-name>, then generate policy
  count = "${var.policy_name == "make_objects_public" ? 1 : 0}"

  statement {
    ...
  }
}

resource "aws_s3_bucket_policy" "bucket_policy" {
  # if policy_name != "", then add the generated policy
  count = "${var.policy_name != "" ? 1 : 0}"

  bucket = "${var.bucket_name}"
  policy = "${data.aws_iam_policy_document.<policy-name-goes-here>.json}"
}
Run Code Online (Sandbox Code Playgroud)

我想policy_name在获取由aws_iam_policy_document. 我尝试了几件事,但遗憾的是它们不起作用。这在 terraform 中可能吗?

我尝试了这些黑客:

policy = "${data.aws_iam_policy_document."${var.policy_name}".json}"

policy = "${"${format("%s", "data.aws_iam_policy_document.${var.policy_name}.json")}"}"

policy = …
Run Code Online (Sandbox Code Playgroud)

interpolation amazon-s3 amazon-web-services terraform

5
推荐指数
1
解决办法
1240
查看次数