Skip to content

A module used to config to Azure Virtual Network Manager (Azure Virtual Network Manager) πŸ›œπŸ‘©β€πŸ’Ό

License

Notifications You must be signed in to change notification settings

cyber-scot/terraform-azurerm-virtual-network-manager-configuration

Β 
Β 

Repository files navigation

resource "azurerm_network_manager_connectivity_configuration" "connectivity_config" {
  for_each                        = { for k, v in var.connectivity_config : k => v }
  name                            = each.value.name
  network_manager_id              = each.value.vnet_manager_id
  connectivity_topology           = each.value.connectivity_topology
  delete_existing_peering_enabled = each.value.delete_existing_peering_enabled
  global_mesh_enabled             = each.value.global_mesh_enabled
  description                     = each.value.description

  dynamic "applies_to_group" {
    for_each = each.value.applies_to_group
    content {
      group_connectivity  = applies_to_group.value.group_connectivity
      network_group_id    = applies_to_group.value.network_group_id
      global_mesh_enabled = applies_to_group.value.global_mesh_enabled
      use_hub_gateway     = applies_to_group.value.use_hub_gateway
    }
  }

  dynamic "hub" {
    for_each = each.value.hub
    content {
      resource_id   = hub.value.resource_id
      resource_type = hub.value.resource_type
    }
  }
}


resource "azurerm_network_manager_security_admin_configuration" "sec_configs" {
  for_each                                      = { for k, v in var.security_admin_config : k => v }
  name                                          = each.value.name
  network_manager_id                            = each.value.vnet_manager_id
  description                                   = each.value.description
  apply_on_network_intent_policy_based_services = each.value.apply_on_network_intent_policy_based_services
}

Requirements

No requirements.

Providers

Name Version
azurerm n/a

Modules

No modules.

Resources

Name Type
azurerm_network_manager_connectivity_configuration.connectivity_config resource
azurerm_network_manager_security_admin_configuration.sec_configs resource

Inputs

Name Description Type Default Required
connectivity_config A list of connectivity configuration
list(object({
name = optional(string)
connectivity_topology = optional(string)
vnet_manager_id = optional(string)
description = optional(string)
delete_existing_peering_enabled = optional(bool)
global_mesh_enabled = optional(bool)
applies_to_group = optional(list(object({
group_connectivity = optional(string)
network_group_id = optional(string)
global_mesh_enabled = optional(bool)
use_hub_gateway = optional(bool)
})))
hub = optional(list(object({
resource_id = optional(string)
resource_type = optional(string, "Microsoft.Network/virtualNetworks")
})))
}))
n/a yes
security_admin_config A list of security admin configuration
list(object({
name = optional(string)
vnet_manager_id = optional(string)
description = optional(string)
apply_on_network_intent_policy_based_services = optional(list(string))
}))
n/a yes

Outputs

Name Description
connectivity_config_applied_groups Details of groups each connectivity configuration is applied to.
connectivity_config_ids A map of connectivity configuration names to their respective IDs.
connectivity_topologies A map of connectivity configuration names to their connectivity topologies.
security_admin_config_apply_on_policy_services Details of the apply_on_network_intent_policy_based_services setting for each security admin configuration.
security_admin_config_descriptions A map of security admin configuration names to their descriptions.
security_admin_config_ids A map of security admin configuration names to their respective IDs.

About

A module used to config to Azure Virtual Network Manager (Azure Virtual Network Manager) πŸ›œπŸ‘©β€πŸ’Ό

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PowerShell 69.2%
  • HCL 18.8%
  • Shell 12.0%