2017-01-31 12 views
0

私はterraformのモジュールルートレベル出力に関するいくつかの奇妙な問題があります。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" 
    } 
} 

を実行していますトレースを付けて:

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... 

私はこの時点で紛失しています。私はどこにでも見てきましたが、なぜこのエラーが出るのかについては、何かを見つけたことはありません。あなたは、このようにそれを行う必要があり、ルートレベルの出力を定義する場合

output "vpc_id" { 
    value = "${aws_vpc.vpc.id}" 
} 

答えて

1

ああ、ここでの問題はこれです

output "vpc_id_root" { 
    value = "${module.networking.vpc_id}" 
} 
+0

あなたはまたにモジュール内の 'vpc_id'出力を必要としますルートコンテキストに渡してください。 – ydaetskcoR