【发布时间】:2018-01-28 01:58:18
【问题描述】:
我正在尝试编写一个用于将存储桶策略附加到 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}"
}
我想在获取aws_iam_policy_document 生成的策略时插入policy_name 变量。我尝试了几件事,但遗憾的是它们没有用。这在 terraform 中是否可行?
我尝试了这些技巧:
policy = "${data.aws_iam_policy_document."${var.policy_name}".json}"
policy = "${"${format("%s", "data.aws_iam_policy_document.${var.policy_name}.json")}"}"
policy = "${format("%s", "$${data.aws_iam_policy_document.${var.policy_name}.json}")}"
谢谢。
【问题讨论】:
标签: amazon-web-services amazon-s3 interpolation terraform