我正在尝试编写一个用于将存储桶策略附加到 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)