在Terraform中使用工作区时如何定义列表变量

时间:2020-10-31 03:35:23

标签: terraform

我有cidr_blocks,它是列表。我如何在列表的变量中定义不同的环境?

示例:

variable "ingress_cidr_blocks" { 
    type            = "list"       
    default         = ["0.0.0.0/0"]        
}

variable "ingress_cidr_blocks" { 
    type            = "list"       
    dev             = ["0.0.0.0/0"]        
}

variable "ingress_cidr_blocks" { 
    type            = "list"       
    uat             = ["0.0.0.0/0"]        
}

如何将其转换为

variable "sg_name" {
    default = {
        default     = "tf_sg_default",
        dev         = "tf_sg_dev",
        uat         = "tf_sg_uat"
    }
}

这是字符串,我希望列表类型也一样

1 个答案:

答案 0 :(得分:0)

如何将其转换为

不能。默认值can't reference其他对象:

默认参数需要一个文字值,并且不能引用配置中的其他对象。

更新:

variable "security_groups_w" {
     type = "map" 
      default = {
        default  = "sg-0fdc9fa416cad5ec3"
        dev = "sg-0fdc9fa416cad5ec3"
        uat = "sg-0fdc9fa416cad5ec3" 
      }
}