Jak přidat více IPs azure servicebus firewall dynamicky pomocí terraform

0

Otázka

Jak přidat více IPs azure service bus firewall dynamicky pomocí terraform.

Byl jsem schopen přidat ty IPs služby autobusové stupně, zatímco hard-kódování těch IPs v tf kód. Ale terraform se snaží vytvořit více network_ruleset zdrojů s terraform kód.

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_servicebus_namespace" "example" {
  name                = "example-sb-namespace"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Premium"

  capacity = 1
}

resource "azurerm_virtual_network" "example" {
  name                = "example-vnet"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  address_space       = ["172.17.0.0/16"]
  dns_servers         = ["10.0.0.4", "10.0.0.5"]
}

resource "azurerm_subnet" "example" {
  name                 = "default"
  resource_group_name  = azurerm_resource_group.example.name
  virtual_network_name = azurerm_virtual_network.example.name
  address_prefixes     = ["172.17.0.0/24"]

  service_endpoints = ["Microsoft.ServiceBus"]
}


locals {

   ip_rules = [
     "1.1.1.1",
     "2.2.2.2",
     "123.145.168.143",
     "1.23.54.67",
     "145.36.142.127",
     "192.168.0.0/24",
     "194.145.123.0/26"
   ]

  
}

resource "azurerm_servicebus_namespace_network_rule_set" "example" {
  namespace_name      = azurerm_servicebus_namespace.example.name
  resource_group_name = azurerm_resource_group.example.name

  default_action = "Deny"

  trusted_services_allowed = true

  network_rules {
    subnet_id                            = azurerm_subnet.example.id
    ignore_missing_vnet_service_endpoint = false
  }


  for_each = toset(local.ip_rules1)
  ip_rules = [each.value]
  
# ip_rules = [
  #   "1.1.1.1",
  #   "2.2.2.2",
  #   "123.145.168.143",
  #   "1.23.54.67",
  #   "45.36.142.127",
  #   "192.168.0.0/24",
  #   "194.145.123.0/26"
  # ]
}

Jak dosáhnout tohoto scénáře s ohledem na azure service bus stupně.

1

Nejlepší odpověď

2

Pokud chápu tvůj problém správně, následující by mělo být dost:

resource "azurerm_servicebus_namespace_network_rule_set" "example" {
  namespace_name      = azurerm_servicebus_namespace.example.name
  resource_group_name = azurerm_resource_group.example.name

  default_action = "Deny"

  trusted_services_allowed = true

  network_rules {
    subnet_id                            = azurerm_subnet.example.id
    ignore_missing_vnet_service_endpoint = false
  }

  ip_rules = local.ip_rules 
}
2021-11-23 21:59:31

Ano, zkoušel jsem to možnost. Fungovalo to, jak jsem chtěl.
devops-admin

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................