繁体   English   中英

Terraform 可选 jsonencode 属性

[英]Terraform optional jsonencode properties

好的,请使用 terraform 的以下片段:

variable "my_var1" {
  type    = string
  default = null
}
variable "my_var2" {
  type    = string
  default = null
}
output "my_out" {
  value = jsonencode({
    my_attribute1 = var.my_var1
    my_attribute2 = var.my_var2
  })
}

我希望这样,如果未指定my_var1my_var2中的任何一个,它们就不会出现在my_out中。 (即 output 将是{} )但是,output 当前是:

my_out = {"my_attribute1":null,"my_attribute2":null}

有没有办法做到这一点? (最好不必直接在 json 文本中切换到字符串插值)

我能够与当地人一起利用for 表达式获得一些工作:

variable "my_var1" {
  type    = string
  default = null
}

variable "my_var2" {
  type    = string
  default = null
}

locals {
  attributes = {
    my_attribute1 = var.my_var1
    my_attribute2 = var.my_var2
  }
}

output "my_out" {
  value = jsonencode({ for k, v in local.attributes : k => v if v != null })
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM