data "azurerm_resource_group" "o11y_aks" {
  name = local.resource_group
}

data "azurerm_resource_group" "o11y_storage" {
  name = var.storage_resource_group_name
}

resource "azurerm_virtual_network" "o11y" {
  name                = "${local.o11y_name}-vnet"
  location            = data.azurerm_resource_group.o11y_aks.location
  resource_group_name = local.resource_group
  address_space       = [var.network.vnet_cidr]
  tags                = local.tags
}

resource "azurerm_subnet" "aks_nodes" {
  name                                          = "${local.o11y_name}-nodes"
  resource_group_name                           = local.resource_group
  virtual_network_name                          = azurerm_virtual_network.o11y.name
  address_prefixes                              = [local.node_subnet_cidr]
  private_link_service_network_policies_enabled = false
}

resource "azurerm_subnet" "app_gateway" {
  name                 = "${local.o11y_name}-appgw"
  resource_group_name  = local.resource_group
  virtual_network_name = azurerm_virtual_network.o11y.name
  address_prefixes     = [local.appgw_subnet_cidr]
}

resource "azurerm_subnet" "private_endpoint" {
  name                              = "${local.o11y_name}-pe"
  resource_group_name               = local.resource_group
  virtual_network_name              = azurerm_virtual_network.o11y.name
  address_prefixes                  = [local.private_subnet_cidr]
  private_endpoint_network_policies = "Disabled"
}
