68 lines
2.1 KiB
HCL
68 lines
2.1 KiB
HCL
#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]
|
|
|
|
}
|
|
|