Terraform Su bnet детали не определены внутри модуля - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть скрипт Terraform, который создаст VP C, балансировщики нагрузки и ECS. использование модуля (папка внутри главной папки приложения) для создания определений задач, но он не позволит получить доступ к ресурсам, созданным вне этого модуля, таким как подсети, группы безопасности. Я хотел бы знать, как получить доступ к этим ресурсам из этой папки модуля tf

1 Ответ

1 голос
/ 12 апреля 2020

Если вы хотите получить доступ, например, к идентификатору VP C, созданному из модуля с именем create_vpc, вам необходимо экспортировать его, добавив что-то подобное в код модуля.

create_vpc / output.tf:

output "vpc_id" {
  value="${aws_vpc.my_vpc.id}"
}

ПРИМЕЧАНИЕ: очевидно, вам нужно создать VP C с именем my_vpc внутри модуля, обычно в файле с именем create_vpc/main.tf, но Я думаю, что эта часть находится под вашим контролем.

Тогда вам просто нужно вызвать вывод vpc_id из этого модуля, например:

site / main.tf:

module "create_vpc" {
  source = "../create_vpc"
}

resource "aws_internet_gateway" "vpc_internet_gateway" {
  vpc_id = "${module.create_vpc.vpc_id}"
}

ПРИМЕЧАНИЕ: здесь созданный шлюз VP C Inte rnet является только примером использования VP C ID

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

...