Terraform - выводит идентификаторы экземпляров из ресурса экземпляра aws - по одному - PullRequest
0 голосов
/ 27 мая 2018

У меня есть следующий ресурс для создания 2 экземпляров:

`resource "aws_instance" "prod_server" {
  count                  = "${var.instance_count}"
  instance_type          = "${var.instance_type}"
  ami                    = "${data.aws_ami.server_ami.id}"
  key_name               = "${aws_key_pair.prod_auth.id}"
  vpc_security_group_ids = ["${var.vpc_security_group}"]
  subnet_id              = "${element(var.subnets, count.index)}"
  user_data              = "${data.template_file.user-init.*.rendered[count.index]}"

  tags {
    Name = "prod_server-${count.index+1}"
  }
}`

, где значение для счетчика равно 2.

Я хочу вывести идентификаторы экземпляров для каждого экземпляра, используя отдельныйВыходной ресурс, как показано ниже:

`output "server_id1" {
  value = "${aws_instance.prod_server.0.id}"
}

output "server_id2" {
  value = "${aws_instance.prod_server.1.id}"
}`

Однако я продолжаю получать следующую ошибку: Resource 'aws_instance.prod_server' not found for variable 'aws_instance.prod_server.1.id'

Я понимаю, что могу получить идентификаторы сразу, используя: "${aws_instance.prod_server.*.id}"

Но у меня есть конкретная причина желать получить их один за другим.

Может кто-нибудь посоветовать / помочь мне в этом?

1 Ответ

0 голосов
/ 27 мая 2018

Вы можете использовать element так:

output "server_id1" {
  value = "${element(aws_instance.prod_server.*.id, 0)}"
}
...