У меня есть требование, при котором я должен развертывать ресурсы, только если определенный файл существует в определенном месте, в противном случае он пропустит ресурс.
Как здесь, это код для развертывания определенного поставщика удостоверений в определенных AWS аккаунтов. Наряду с этим поставщиком удостоверений (скажем, ab c) многие другие поставщики удостоверений также развертываются из того же файла main.tf, поэтому все должно быть здесь. Единственная проблема заключается в том, что при развертывании уровня IAM для любых учетных записей мы будем развертывать этот определенный ресурс только в том случае, если файл abc-${var.aws_account}.xml
существует в пути к файлу в части
saml_metadata_document
. Если он не существует в пути, он просто проигнорирует создание ресурса и будет go впереди с остальным кодом.
resource "aws_iam_saml_provider" "xyz" {
name = "abc-${var.aws_account}"
saml_metadata_document = "${file("${path.module}/metadata/abc-${var.aws_account}.xml")}"
}
Структура папки
IAM-Module
|
main.tf
variables.tf
metadata
|
abc-127367223.xml
abc-983297832.xml
abc-342374384.xml
Как можно поставить условную проверку в Terraform 0.11, чтобы проверить, существует ли файл?