If Then Else in Terraform For AWS Availability Zones Config



需要一种基于哪个环境获取可用性区域的方法:

如果env=sbx,则availability_;us-east-1b"us-east-1c"us-east-1d";

elseif-env=dev然后availability_rones=";us-east-1a"us-east-1b"us-east-1d";

else availability_ zones=";us-east-1a"us-east-1b"us-east-1c";

resource "aws_rds_cluster" "example_app_postgre" { availability_zones = ????? }

您可能希望将maplookup函数一起使用:

locals {
azs = {
sbx = ["us-east-1b", "us-east-1c", "us-east-1d"]
dev = ["us-east-1a", "us-east-1b", "us-east-1d"]
}
}
variable "env" {
}
resource "aws_rds_cluster" "example_app_postgre" {
availability_zones = lookup(local.azs, var.env, ["us-east-1a", "us-east-1b", "us-east-1c"])
}

您可以为变量env提供sbxdev或任何其他内容。如果env的值不在azsmap中,则lookup函数将返回默认值。

最新更新