如何在terraform状态文件中填充新的输出变量?

如何在terraform状态文件中填充新的输出变量?,terraform,Terraform,这是我的terraform TF文件的一个片段 // main "parent" module // a list of email addresses for alert emails variable "alertees" { type = list(string) } 我想通过数据“terraform\u remote\u state”向其他模块公开此属性 例如,在子文件夹中,我希望能够像这样重用上述属性 // module in subfol

这是我的terraform TF文件的一个片段

// main "parent" module
// a list of email addresses for alert emails
variable "alertees" {
  type = list(string)
}
我想通过数据“terraform\u remote\u state”向其他模块公开此属性

例如,在子文件夹中,我希望能够像这样重用上述属性

// module in subfolder
data "terraform_remote_state" "parent" {
  backend = "local"
  config = {
    path = "../parent.tfstate"
  }
}

module "custom_resource" {
  source = "../../../custom_resource"
  ...
  alertees = parent.parent
}
然而,我认为,由于没有可创建的资源,
terraform计划
terraform apply
在报告“没有变化。基础设施是最新的”后简单地退出


< P> >无论如何,我可以将这些值提交到状态文件中,

< P>我可以使用<代码> TrrFraseRebug <代码>将输出填充到状态文件中。

< P>在TrRAFRATE 0.12和更早之前,<代码> TrrFrasePrime<代码>不考虑更改输出,如您所见,需要应用的副作用。 您可以使用
terraform refresh
来填充新的输出,但这也可能会导致状态中的其他内容被更新,因为它将与远程对象重新同步状态值

Terraform 0.13(在我写这篇文章的时候它是beta版)改变了这种行为,因此对输出值的更改被认为是可以计划和应用的更改。一旦使用Terraform 0.13,您可以使用更传统的工作流:在配置中添加或更新
输出
块,然后运行
Terraform应用
预览更改的效果并选择是否接受