Я пытаюсь добавить переменную DeployNSG как логическое значение true / false. Когда я ссылаюсь на переменную в создании ресурса для NSG с помощью «Count», я затем пытаюсь связать NSG с Azurerm_Network_security_group_association с подсетью, и в нем говорится, что мне нужно использовать индекс счетчика в ассоциации .. однако, если я тогда попробую и используйте element для ссылки на элемент, он говорит, что вы не можете использовать element, если count не используется в ассоциации подсети.
resource "azurerm_network_security_group" "ProdNSG" {
count = "${var.DeployNSG ? 1 : 0}"
name = "${var.ProdNSG}"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.ProdNetworkRG.name}"
security_rule {
name = "AllowRDP"
priority = 100
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "3389"
source_address_prefix = "*"
destination_address_prefix = "*"
}
}
resource "azurerm_virtual_network" "ProdVNet" {
name = "${var.ProdVNet}"
resource_group_name = "${azurerm_resource_group.ProdNetworkRG.name}"
address_space = "${var.ProdVNetAddressSpace}"
location = "${var.location}"
}
resource "azurerm_subnet" "ServersSubnet" {
resource_group_name = "${azurerm_resource_group.ProdNetworkRG.name}"
name = "${var.ServersSubnet}"
address_prefix = "${var.ServersSubnetAddressPrefix}"
virtual_network_name = "${azurerm_virtual_network.ProdVNet.name}"
}
resource "azurerm_subnet_network_security_group_association" "ServersNSGAssociation" {
subnet_id = "${azurerm_subnet.ServersSubnet.id}"
network_security_group_id = "${azurerm_network_security_group.ProdNSG.id}"
}
Условие True / False работает, если я закомментирую ассоциацию, поэтому я считаю, что именно здесь она застряла.