Я использую Terraform v11.13 с провайдером AWS.Можно ли присоединить несколько файлов шаблонов данных к одному ресурсу?
Примером этого является то, что у вас есть один ресурс aws_iam_policy, но для него можно создать несколько политик IAM из разных файлов шаблонов данных.
Это работает, когда это просто один файл шаблона данных с индексом счета.Это также работает, когда файл статичен, как в файле шаблона.
Вот пример кода
variable "policy_list"{
type = "list"
default = ["s3,"emr","lambda"]
}
resource "aws_iam_policy" "many_policies" {
count = "${length(var.policy_list)}"
name = "Policy_${var.policy_list[count.index]}_${var.environment}"
policy = "${file("${path.module}/files/policies/${var.environment}/${var.policy_list[count.index]}.json")}"
}
resource "aws_iam_role_policy_attachment" "many_policies_attachment" {
count = "${length(var.policy_list)}"
role = "${aws_iam_role.iam_roles.*.name[index(var.role_list, "MyRole"))]}"
policy_arn = "${aws_iam_policy.many_policies.*.arn[count.index]}"
}
Но что не получается, так это
resource "aws_iam_policy" "many_policies" {
count = "${length(var.policy_list)}"
name = "Policy_${var.policy_list[count.index]}_${var.environment}"
policy = "${data.template_file.${var.policy_list[count.index]}_policy_file.*.rendered[count.index]}"
}
Ссообщение об ошибке, подобное
parse error expected "}" but found invalid sequence "$"
Любые идеи о том, как этого можно достичь?