Files
tf_provider/!/network.tf.tmpl
T
2026-09-23 19:23:31 +03:00

87 lines
2.3 KiB
Cheetah
Executable File

data "vcd_external_network_v2" "nsxt-ext-net" {
name = var.providerGateway
}
<% if (vdcType == "vdcGroup") { %>
data "vcd_vdc_group" "groupvdc" {
name = var.vdcGroupName
}
data "vcd_org_vdc" "mainvdc" {
name = var.vmwareVdc
}
<% } %>
resource "vcd_nsxt_edgegateway" "nsxt-edge" {
name = var.nsxName
description = "Nsxt edge"
org = var.vmwareOrg
<% if (vdcType == "vdc") { %>
owner_id = var.vmwareServicesId
<% } else { %>
owner_id = data.vcd_vdc_group.groupvdc.id
starting_vdc_id = data.vcd_org_vdc.mainvdc.id
<% } %>
external_network_id = data.vcd_external_network_v2.nsxt-ext-net.id
}
resource "vcd_network_routed_v2" "test_routed_net" {
name = var.routedNet
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
gateway = "${ application.ipGw }"
prefix_length = ${ application.ipMask }
# dns1 = "185.247.187.83"
# dns2 = "81.22.46.43"
dns1 = "${ routedNetConfiguration.mainDns }"
dns2 = "${ routedNetConfiguration.secondDns }"
static_ip_pool {
start_address = "${ application.ipStartPool }"
end_address = "${ application.ipEndPool }"
}
depends_on = [vcd_nsxt_edgegateway.nsxt-edge]
}
# Включаем AVI
resource "vcd_nsxt_alb_settings" "avi" {
count = var.alb_enable ? 1 : 0
org = var.vmwareOrg
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
is_active = var.alb_enable
# Optional definition of service network for the ALB. "192.168.255.125/25" is the default one.
# service_network_specification = "192.168.255.125/25"
depends_on = [vcd_nsxt_edgegateway.nsxt-edge]
}
## Добавляем ServiceEngine Group
# Получаем SEGroup
data "vcd_nsxt_alb_service_engine_group" "provider-gateway" {
count = var.alb_enable ? 1 : 0
name = var.alb_segroup_name
sync_on_refresh = false
}
# Создаем SE
resource "vcd_nsxt_alb_edgegateway_service_engine_group" "first" {
count = var.alb_enable ? 1 : 0
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
service_engine_group_id = data.vcd_nsxt_alb_service_engine_group.provider-gateway[0].id
max_virtual_services = 100
reserved_virtual_services = var.alb_segroup_count
depends_on = [vcd_nsxt_alb_settings.avi[0]]
}