我正在迁移到最新版本的 Terraform,并且无法重现文档概述的内容,即如何从应用程序中获取输出。该文件指出
data.terraform_remote_state.vpc.vpc_id
因此,将这些从模块中取出应该具有以下效果
data.module_name.remote_state.vpc.vpc_id
我会想?
这是我的模块调用
module "vpc" {
source = "github.com/terraform-aws-modules/terraform-aws-vpc"
name = "apigee"
cidr = "10.0.0.0/16"
azs = [data.aws_availability_zones.available.names[0], data.aws_availability_zones.available.names[1]]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24"]
enable_nat_gateway = true
single_nat_gateway = true
tags = {
Owner = "212743998"
Environment = "sandbox"
}
}
所以我会假设....我应该做一些事情
data.vpc.terraform.vpc.vpc_id
这是我的目录的大纲,列出了状态文件
○ → tree
.
├── [gabel 45] data.tf
├── [gabel 529] modules.tf
├── [gabel 112] outputs.tf
├── [gabel 41] providers.tf
├── [gabel 36K] terraform.tfstate
├── [gabel 157] terraform.tfstate.backup
├── [gabel 21] terraform.tfvars
└── [gabel 121] variables.tf
但是......我也注意到他们在模块中调用 id 的方式,现在......现在我很困惑......
在 Terraform v0.12+ 中调用模块输出的正确方法是什么?