Обработка Terraform AMI ищет возврат пустого списка - PullRequest
0 голосов
/ 27 ноября 2018

Есть ли лучший способ обработки ресурса Terraform aws_ami_ids, возвращающего пустой список, чем следующий?

Всегда хотите, чтобы модуль возвращал последний идентификатор AMI, если он найден.

Еслисписок был пуст, я получал «список»ошибка, так что это был обходной путь.

       data "aws_ami_ids" "full_unencrypted_ami" {
          name_regex  = "${var.ami_unencrypted_regex}"
          owners = ["123456789","self"]
       }

       locals {
         notfound = "${list("AMI Not Found")}"
         unencrypted_ami = "${concat(data.aws_ami_ids.full_unencrypted_ami.ids,local.notfound)}"
       }

       output "full_ami_unencrypted_id" {
         description = "Full Unencrypted AMI ID"
         value       = "${local.full_unencrypted_ami[0]}"
       }

1 Ответ

0 голосов
/ 03 декабря 2018

1) Используйте aws_ami_id вместо aws_ami_ids, чтобы при исчезновении AMI произошел сбой terraform apply, что заставило бы вас обновить решение Terraform.

ИЛИ

2) Создатьдва aws_ami_ids источника данных (второй является запасным), объедините результаты и возьмите первый элемент.Но, как намекнул ydaetskcoR , зачем вам этот неявный (возможно, необнаруженный) запасной вариант?

...