如何在terraform状态文件中填充新的输出变量?
这是我的terraform TF文件的一个片段如何在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
// 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应用
预览更改的效果并选择是否接受