【发布时间】:2021-09-17 01:07:39
【问题描述】:
我正在尝试使用 terraform 在 aws 上运行测试服务器。当我运行 terraform apply 时,它会抛出一个错误,提示 Reference to undeclared resource。下面是我在 terraform 中的测试服务器文件。
测试服务器.tf
module "test-server" {
source = "./node-server"
ami-id = "Here ive given my ami_id"
key-pair = aws_key_pair.microservices-demo-key.key_name
name = "Test Server"
}
下面是我的密钥对文件代码。
密钥对
resource "aws_key_pair" "microservcies-demo-key" {
key_name = "microservices-demo-key"
public_key = file("./microservices_demo.pem")
}
terraform 抛出的错误详情:
错误:引用未声明的资源
在 test-server.tf 第 4 行,在模块“test-server”中:
4:密钥对 = aws_key_pair.microservices-demo-key.key_name
未在根模块中声明托管资源“aws_key_pair”“microservices-demo-key”。
虽然我声明了变量。它仍然抛出错误。 这是目录的图像。
【问题讨论】:
-
你是先创建密钥对,后测试服务器?您需要先创建第一个,然后才能创建第二个。在模块外声明 Aws 密钥对。
-
key-pairs是否在具有.tf扩展名的文件中?该文件是否与test-server.tf文件位于同一文件夹中? -
@markB 是的,
key-pairs具有 .tf 扩展名。是的,该文件与 server.tf 位于同一文件夹中 -
@Lucasz 我将编辑问题并上传我的目录图片以清楚起见。请看一下。
标签: amazon-web-services terraform