Ссылка на переменные в другом файле terraform, который вы не можете изменить

Я использую инструмент с именем kops, который генерирует файл terraform для настройки некоторой инфраструктуры для kubernetes. После этого мы хотим использовать terraform для создания частей нашей инфраструктуры, специфичных для нашего приложения. например, очередь, прокси, elasticache и т.д.

В файле terraform, который создает kops, содержится много информации, на которую я хотел бы сослаться при создании очереди/прокси/elasticache. например, диапазоны подсети для использования, блоки cidr, зоны доступности и т.д. Но я не хочу изменять созданный kops файл terraform, потому что всякий раз, когда происходит обновление kops, я должен буду повторно создать его, а затем повторно изменить его.

В файле terraform, который генерирует kops, нет outputпеременных. Я мог бы добавить свои конфигурации queue/proxy/elasticache в нижнюю часть файла, который создает kops. Тогда я мог бы ссылаться на переменные, генерируемые kops. Но я считаю, что это модификация файла, сгенерированного kops, и хотел бы избежать этого по причинам, приведенным выше.

Как сделать так, чтобы пользовательский terraform ссылался на части сгенерированного файла terraform?

1 ответ

  1. Если в сгенерированных файлах terraform нет выходных переменных и вы не хотите их изменять, как насчет использования источников данных?

    https://www.terraform.io/docs/configuration/data-sources.html

    Источники данных позволяют извлекать или вычислять данные для использования в других местах конфигурации Terraform. Использование источников данных позволяет конфигурации Terraform строить на информации, определенной вне Terraform или определенной другой отдельной конфигурацией Terraform.