Terraform 如何在地形中实现动态匹配?
如何在terraform中编写if语句,以根据变量中指定的环境使用不同的值运行以下块Terraform 如何在地形中实现动态匹配?,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,如何在terraform中编写if语句,以根据变量中指定的环境使用不同的值运行以下块 root_block_device { volume_type = "gp2" volume_size = "30" } ebs_block_device = { device_name = "dfgh" volume_type = "gp2" volume_size = "5" encrypted = true } 例如,如果我希望volume\
root_block_device {
volume_type = "gp2"
volume_size = "30"
}
ebs_block_device = {
device_name = "dfgh"
volume_type = "gp2"
volume_size = "5"
encrypted = true
}
例如,如果我希望volume\u size参数在测试环境中为30,在生产环境中为50,则不能在Terraform中真正使用if语句,因为它是一种声明性语言 然而,有一个变通办法来实现你所追求的目标
...
root_block_device {
volume_type = "gp2"
volume_size = "${lookup(var.volume_sizes, var.env)}"
}
...
variable "env" {
default = "test"
}
variable "volume_sizes" {
default = {
"test" = "30"
"production" = "50"
}
}
然后,您可以通过将
env
变量从test
修改为production
来更改卷大小值。您在哪里定义环境?它是一个变量、工作区、git分支吗?