我是 Terraform 的初学者。 我正在尝试执行 Terraform 入门指南中的以下代码。
provider "aws" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "${var.region}"
}
resource "aws_instance" "example" {
ami = "${lookup(var.amis, var.region)}"
instance_type = "t2.micro"
tags {
Name = "newprovisionerstest"
}
provisioner "local-exec" {
command = "echo ${aws_instance.example.public_ip} > ip_address.txt"
}
}
output "ip" {
value = "${aws_eip.ip.public_ip}"
}
当我运行时
terraform apply
或
terraform refresh
它给出以下错误:
Error: output 'ip': unknown resource 'aws_eip.ip' referenced in variable aws_eip.ip.public_ip
为什么会这样呢?是因为“aws_eip”资源没有在任何地方声明吗?
最佳答案
就像您自己所说,没有名为 ip 的 aws_eip 资源。 如果您使用
aws_instance.example.public_ip
它应该工作得很好
关于terraform - Terraform 变量中引用了未知资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710135/