我正在创建一个 terraform 配置(我们称之为配置 A),它用作另一个配置(配置 B)中的模块。在配置 AI 中有一个可选变量,它是一个逗号分隔的字符串(没有空格),包含 IP 地址或 CIDR 形式的 IP 地址范围。如果配置 B 没有输入 IP,我想要跳过或不设置此变量的值。我尝试将“”设置为值,但这当然行不通。还尝试了其他值,但无法弄清楚。
有什么方法可以完成这项工作,或者我必须创建两个配置(我们称之为配置 A.1 和 A.2),其中 A.1 包含字符串变量,而 A.2 不包含。
也许我尝试做的示例代码可以提供帮助。
#Config A
resource "azurerm_cosmosdb_account" "db" {
name = "${var.name_from_module_caller}"
location = "northeuropa"
resource_group_name = "test-cosmos-db-from-terraform"
offer_type = "Standard"
consistency_policy = {
consistency_level = "Session"
}
geo_location = {
location = "northeuropa"
location = "${azurerm_resource_group.rg.location}"
failover_priority = 0
}
ip_range_filter = "${var.whitelis_ip_from_module_caller}" #Need a way to skip this, if var.whitelis_ip_from_module_caller is "". Can't use ""
}
#Config B
module "test-cosmos-db" {
source = "/module/azure_cosmos_module" #This is the Config A
name_from_module_caller = "test-cosmosdb"
# whitelis_ip_from_module_caller //NOT SET, BECAUSE THIS MUST BE OPENED FOR EVERYONE
}
我