需要一种基于哪个环境获取可用性区域的方法:
如果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 = ????? }
您可能希望将map
与lookup
函数一起使用:
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
提供sbx
、dev
或任何其他内容。如果env
的值不在azs
的map
中,则lookup
函数将返回默认值。