#recursos locales (Zulunity) # Local locals { tags = {} } # Default Label module "default_label" { source = "git::https://gitlab.com/zulunity/terraform/modules/general/label.git?ref=0.0.0" name = var.name tags = merge(var.tags, local.tags) } # Secret Label module "secrets_label" { source = "git::https://gitlab.com/zulunity/terraform/modules/general/label.git" context = module.default_label.normalized_context attributes = ["secret"] } #---------------------------------------------------------------------------------------------- #recusos externos necesarios para el modulo resource "azurerm_resource_group" "example" { name = "${var.name}_group" location = var.region #recuerda que en azure la region o "location cambia" } resource "azurerm_network_security_group" "example" { name = "${var.name}_segurity-network-group" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name } resource "azurerm_virtual_network" "example" { name = var.virtual_network location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name address_space = var.address_space dns_servers = var.dns_servers bgp_community = var.bgp_community edge_zone = var.edge_zone flow_timeout_in_minutes = var.flow_timeout_in_minutes #este es un bloque de codigo que define el como especificar la configuración de un plan de protección contra ataques de denegación de servicio distribuido dynamic "ddos_protection_plan" { for_each = var.ddos_protection_plan content { id = ddos_protection_plan.value.id enable = ddos_protection_plan.value.id } } tags = module.default_label.tags } resource "azurerm_subnet" "example" { for_each = var.subnets name = each.value.name resource_group_name = azurerm_virtual_network.example.resource_group_name virtual_network_name = azurerm_virtual_network.example.name address_prefixes = [each.value.address_prefix] }