scenarios/shared/terraform/modules/networking/nsg/main.tf (21 lines of code) (raw):
resource "azurerm_network_security_group" "securityGroup" {
name = var.nsgName
resource_group_name = var.resourceGroupName
location = var.location
tags = var.tags
}
resource "azurerm_network_security_rule" "rules" {
for_each = { for rule in var.securityRules : rule.name => rule }
network_security_group_name = azurerm_network_security_group.securityGroup.name
name = each.key
description = each.value.description
resource_group_name = var.resourceGroupName
protocol = each.value.protocol
source_address_prefix = each.value.sourceAddressPrefix
source_port_range = each.value.sourcePortRange
destination_address_prefix = each.value.destinationAddressPrefix
destination_port_ranges = each.value.destinationPortRanges
access = each.value.access
priority = each.value.priority
direction = each.value.direction
}