我在terraform中遇到了一些奇怪的模块根级别输出问题。
我们在根级别的outputs.tf中有以下内容:
output "vpc_id" {
value = "${aws_vpc.vpc.id}"
}
在模块本身中,我们有
resource "aws_vpc" "vpc" {
cidr_block = "${var.vpc_cidr}"
enable_dns_hostnames = true
tags {
Name = "${upper(var.env)}-TF"
env = "${var.env}"
managed = "Terraform"
}
}
但是,在运行计划时,terraform在解析输出块时出错,并显示with trace on:
2017/01/31 17:56:54 [INFO] Terraform version: 0.8.0 142dd256ad48ab17b6019fe9cd18712167fcf4b4
2017/01/31 17:56:54 [INFO] CLI args: []string{"/usr/local/bin/terraform", "get"}
2017/01/31 17:56:54 [DEBUG] Detected home directory from env var: /root
2017/01/31 17:56:54 [DEBUG] Detected home directory from env var: /root
2017/01/31 17:56:54 [DEBUG] Attempting to open CLI config file: /root/.terraformrc
2017/01/31 17:56:54 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
Get: file:///srv/terraform/modules/networking/
2017/01/31 17:56:54 [DEBUG] Detected home directory from env var: /root
Error loading Terraform: module root: 1 error(s) occurred:
* output 'vpc_id': unknown resource 'aws_vpc.vpc' referenced in variable aws_vpc.vpc.id
2017/01/31 17:56:54 [DEBUG] plugin: waiting for all plugin processes to complete...
在这一点上我不知所措。我已经找遍了所有地方,但我没有找到任何甚至命中的东西来解释为什么我们会得到这个错误。
发布于 2017-01-31 18:50:04
啊,这里的问题是:
output "vpc_id" {
value = "${aws_vpc.vpc.id}"
}
在定义根级别的输出时,您需要这样做:
output "vpc_id_root" {
value = "${module.networking.vpc_id}"
}
https://stackoverflow.com/questions/41964367
复制相似问题