Как установить значение Null / Empty для необязательной строковой переменной, используемой в модуле - PullRequest
0 голосов
/ 17 января 2019

Я создаю конфигурацию terraform (назовем ее config A), которая используется в качестве модуля в другом config (config B). В конфигурации A у меня есть необязательная переменная, которая представляет собой разделенную запятыми строку (без пробела), содержащую IP-адреса или диапазоны IP-адресов в форме CIDR. То, что я хочу, это пропустить или не устанавливать значение этой переменной, если нет IP-адресов в качестве входных данных из конфигурации B. Я попытался установить "" в качестве значения, но это, конечно, не работает. Также пробовал другие значения, но не могу понять.

Есть ли способ выполнить эту работу, или я должен создать две конфигурации (назовем это config 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
}

I

...