Как увидеть значения объектов при отладке терраформ - PullRequest
0 голосов
/ 26 мая 2020

При написании модуля terraform я часто сталкиваюсь с такими ошибками:

Error: Invalid index

  on ../../../modules/host/main.tf line 7, in resource "aws_network_interface" "host":
   7:   subnet_id = data.aws_subnet_ids.current[each.key].ids[0]
    |----------------
    | data.aws_subnet_ids.current is object with 2 attributes
    | each.key is "lab"

Существует множество причин, почему это происходит. Обычно это происходит потому, что я думаю, что определенный объект будет содержать неверно.

Чтобы помочь отладить это, было бы полезно хотя бы посмотреть, что содержит объект. «Объект с двумя атрибутами» довольно расплывчатый. Я хотел бы знать, какие атрибуты у него есть, поэтому я могу добавить необходимые преобразования, чтобы получить здесь нужную мне строку.

Так есть ли способ? Можете ли вы каким-либо образом запустить «план терраформирования» так, чтобы содержимое этих объектов фактически отображалось, когда план запускается с ошибкой?

1 Ответ

0 голосов
/ 26 мая 2020

Это оказалось на самом деле проще, чем я ожидал.

Просто сделайте:

terraform refresh
terraform show

И вы увидите, что содержат все текущие источники данных.

Было бы удобно, если бы эта возможность была упомянута в главе об отладке документов ...

...