如何在terraform中实现动态匹配?
how to implement dynamic matching in terraform?
如何将 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_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
来更改卷大小值。
如何将 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_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
来更改卷大小值。