Используя Terraform версии 0.11.7, код ниже, я получаю эту ошибку:
* output.aws_runner_private_ip_addresses: Resource 'aws_spot_instance_request.runner' does not have attribute 'private_ip' for variable 'aws_spot_instance_request.runner.*.private_ip'
* output.aws_walker_private_ip_addresses: Resource 'aws_spot_instance_request.walker' does not have attribute 'private_ip' for variable 'aws_spot_instance_request.walker.*.private_ip
Синтаксис вывода выглядит правильно в соответствии с документацией от Terraform
И terraformЗапрос экземпляра spot имеет атрибут private_ip, который указан в документации Terraform здесь .
resource "aws_spot_instance_request" "walker" {
count = 2
instance_type = "t2.micro"
ami = "ami-0922553b7b0369273"
spot_price = "1"
}
resource "aws_spot_instance_request" "runner" {
count = 2
instance_type = "t2.micro"
ami = "ami-0922553b7b0369273"
spot_price = "1"
}
output "aws_walker_private_ip_addresses" {
value = ["${aws_spot_instance_request.walker.*.private_ip}"]
}
output "aws_runner_private_ip_addresses" {
value = ["${aws_spot_instance_request.runner.*.private_ip}"]
}
Однако, если я уберу квадратные скобки из кода, он будет работать, и нетошибка, но документ Terraform, кажется, говорит, что мне нужно использовать квадратные скобки, так как значение будет типом списка возвращаемых списков адресов private_ip для каждого экземпляра.Что я здесь не так делаю или неправильно понимаю?
Это работает, но, похоже, противоречит документу:
output "aws_walker_private_ip_addresses" {
value = "${aws_spot_instance_request.walker.*.private_ip}"
}
output "aws_runner_private_ip_addresses" {
value = "${aws_spot_instance_request.runner.*.private_ip}"
}