Получите выходные данные из первой Terraform и используйте во второй Terraform - PullRequest
0 голосов
/ 20 ноября 2018

Мне нужны два разных файла Terraform для разных целей.Во втором файле Terraform я должен взять данные из вывода первого файла Terraform.

В моем Сценарии Мой первый Terraform создает группу безопасности AWS.Теперь я должен использовать идентификатор этой группы безопасности в моем втором файле Terraform.

Я также хочу убедиться, что создание Second Terraform не может быть инициализировано до завершения First Terraform.Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 03 января 2019

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

0 голосов
/ 20 ноября 2018

Неважно, сколько файлов .tf вы создаете.Terraform сначала загружает все файлы .tf, а затем пытается создать график для создания ресурсов.Таким образом, вы можете сделать это следующим образом.

resource "aws_security_group" "default" {
    name        = "allow_all"
    description = "Allow all inbound traffic"
    .
    .
}

Теперь вы можете использовать идентификатор этой группы безопасности в другом файле / другом модуле.Напримердавайте использовать его для создания ec2.Как.

resource "aws_instance" "web" {
    ami = "${var.ami_id}"
    instance_type = "t2.micro"

    security_groups = ["${aws_security_group.default.id}"]
}

Для получения более подробной информации о параметрах группы безопасности, вы можете проверить следующий документ.https://www.terraform.io/docs/providers/aws/r/security_group.html

...