2017-01-31 22 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... 

Я в затруднении на этом этапе. Я повсюду смотрел, и нигде я не нашел ничего, что даже попадало бы в вопрос, почему мы будем получать эту ошибку.

ответ

1

Ах, вопрос здесь заключается в следующем:

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

При определении выходов корневого уровня вы должны сделать это таким образом:

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

Вы также нужен 'выход vpc_id' в модуле для передать его в корневой контекст. – ydaetskcoR

 Смежные вопросы

  • Нет связанных вопросов^_^