Terraform-if语句选择适当的变量
使用Terraform部署到OCI,我想传入一个名为“nonprod”的变量true或false,以选择我使用的隔间,该隔间在另一个变量“隔间\ ocid”中定义。因此,根据变量“nonprod”是真是假,我想在“隔间cid”中使用不同的值。从我的阅读来看,如果它们是资源而不是变量,这似乎是可行的,因为声明两次是错误的。你知道如何做到这一点,或者用一种更干净的方式实现同样的目标吗Terraform-if语句选择适当的变量,terraform,oracle-call-interface,Terraform,Oracle Call Interface,使用Terraform部署到OCI,我想传入一个名为“nonprod”的变量true或false,以选择我使用的隔间,该隔间在另一个变量“隔间\ ocid”中定义。因此,根据变量“nonprod”是真是假,我想在“隔间cid”中使用不同的值。从我的阅读来看,如果它们是资源而不是变量,这似乎是可行的,因为声明两次是错误的。你知道如何做到这一点,或者用一种更干净的方式实现同样的目标吗 variable "nonprod" { description = "If set to true, non-
variable "nonprod" {
description = "If set to true, non-prod. If false, prod"
type = bool
default = true
}
variable "compartment_ocid" {
count = var.nonprod ? 1 : 0
# Non-Prod compartment
default = "nonprod_ocid_456"
}
variable "compartment_ocid" {
count = var.nonprod ? 0 : 1
# Prod compartment
default = "prod_ocid_123"
}
一个选项是将值组合到由内联
if
的结果定义的本地
。比如说
locals {
compartment_ocid = var.nonprod ? "nonprod_ocid_456" : "prod_ocid_123"
}
然后,您可以稍后将该值引用为local.cardio\u ocid
有关详细信息,请参阅