从模块内引用terraform_远程_状态

从模块内引用terraform_远程_状态,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,使用Terraform v0.13.5 我有一个模块,其中的一些输出来自其中的一些子模块,例如: module "egressvnet" { source = "../modules/vnet/egress" } output "subnet" { value = module.egressvnet.subnet } terraform output确认我希望输出的是 在另一个terraform设置中,我想参考上面的输出 所

使用Terraform v0.13.5

我有一个模块,其中的一些输出来自其中的一些子模块,例如:

module "egressvnet" {
  source = "../modules/vnet/egress"
}

output "subnet" {
  value = module.egressvnet.subnet
}
terraform output
确认我希望输出的是

在另一个terraform设置中,我想参考上面的输出

所以我的地形配置中有这个:

data "terraform_remote_state" "network" {
  backend = "azurerm"

  config = {
    resource_group_name  = "xxx"
    storage_account_name = "xxx"
    container_name       = "terraform"
    key                  = "network.tfstate"
  }
}

module "web" {
  source = "../modules/web"

  subnet_id = terraform_remote_state.network.outputs.subnet

}
Is what I'm trying to do possible?
但当我做一个计划时,我会犯这样的错误:

Error: Reference to undeclared resource

  on base.tf line 111, in module "web":
 111:   subnet_id = terraform_remote_state.network.outputs.subnet

A managed resource "terraform_remote_state" "network" has not been declared in
the root module.

由于您的
terraform\u remote\u状态是一个
,您应该使用
数据来引用它。

subnet_id = data.terraform_remote_state.network.outputs.subnet

回答你的问题了吗?谢谢!有时候,你可能会花很长时间阅读那些文件,而你却在盯着自己看@没问题。很高兴它成功了:-)