main.private_endpoints.tf (37 lines of code) (raw):

resource "azapi_resource" "private_endpoints" { for_each = module.avm_interfaces.private_endpoints_azapi type = each.value.type body = each.value.body location = azapi_resource.this.location name = each.value.name parent_id = azapi_resource.this.id tags = each.value.tags } resource "azapi_resource" "private_dns_zone_groups" { for_each = module.avm_interfaces.private_dns_zone_groups_azapi type = each.value.type body = each.value.body name = each.value.name parent_id = azapi_resource.private_endpoints[each.key].id } module "avm_interfaces_private_endpoints" { source = "Azure/avm-utl-interfaces/azure" version = "0.2.0" for_each = var.private_endpoints lock = each.value.lock role_assignments = each.value.role_assignments } resource "azapi_resource" "private_endpoint_lock" { for_each = { for k, v in module.avm_interfaces_private_endpoints : k => v.lock if v.lock != null } type = each.value.type body = each.value.body name = each.value.name parent_id = azapi_resource.private_endpoints[each.key].id } resource "azapi_resource" "private_endpoint_role_assignments" { for_each = local.private_endpoint_role_assignments type = each.value.child_value.type body = each.value.child_value.body name = each.value.child_value.name parent_id = azapi_resource.private_endpoints[each.value.parent_key].id }