我在terraform.tfvars 中定义了如下值的变量
oke_vcn_cidr = "10.0.0.0/21"
我想在相同的terraform.tfvars中的出口规则中添加相同值的oke_vcn_cidr变量,而不是再次硬编码。
目前,我已经给出了与以下值相同的目的地。
egress_security_rules_intlb = {
sl1 = { protocol = "6", destination = "10.0.0.0/21", stateless = "false", min = 10256, max = 10256, description = "outbound traffic to public load balancer" }
}
如何获取此变量的值oke_vcn_cidr并将其替换为terraform.tfvars 中的目标值
egress_security_rules_intlb = {
sl1 = { protocol = "6", destination = **<value of variable oke_vcn_cidr>**, stateless = "false", min = 10256, max = 10256, description = "outbound traffic to public load balancer" }
}
如有任何帮助,我们将不胜感激。
遗憾的是,您无法做到这一点。变量不能引用其他变量。相反,您必须创建一个本地变量:
locals {
egress_security_rules_intlb = {for k, v in var.egress_security_rules_intlb:
k => merge(v, {destination = var.oke_vcn_cidr})}
}
那么您必须在其余部分中使用local.egress_security_rules_intlb
您的模块。