0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-07 06:15:04 +00:00
terraform-provider-proxmox/example/resource_virtual_environment_sdn.tf
MacherelR 58ff2ff240 feat(sdn)!: add SDN support for zones, vnets, subnets with validation and tests
BREAKING CHANGE: introduces sdn support.

Signed-off-by: MacherelR <64424331+MacherelR@users.noreply.github.com>
2025-06-24 08:31:40 +02:00

109 lines
2.6 KiB
HCL

# --- SDN Zones ---
resource "proxmox_virtual_environment_sdn_zone" "zone_simple" {
name = "zoneS"
type = "simple"
nodes = var.virtual_environment_node_name
mtu = 1496
}
resource "proxmox_virtual_environment_sdn_zone" "zone_vlan" {
name = "zoneVLAN"
type = "vlan"
nodes = var.virtual_environment_node_name
mtu = 1500
bridge = "vmbr0"
}
# --- SDN Vnets ---
resource "proxmox_virtual_environment_sdn_vnet" "vnet_simple" {
name = "vnetM"
zone = proxmox_virtual_environment_sdn_zone.zone_simple.name
alias = "vnet in zoneM"
isolate_ports = "0"
vlanaware = "0"
zonetype = proxmox_virtual_environment_sdn_zone.zone_simple.type
}
resource "proxmox_virtual_environment_sdn_vnet" "vnet_vlan" {
name = "vnetVLAN"
zone = proxmox_virtual_environment_sdn_zone.zone_vlan.name
alias = "vnet in zoneVLAN"
tag = 1000
zonetype = proxmox_virtual_environment_sdn_zone.zone_vlan.type
}
# --- SDN Subnets ---
resource "proxmox_virtual_environment_sdn_subnet" "subnet_simple" {
subnet = "10.10.0.0/24"
vnet = proxmox_virtual_environment_sdn_vnet.vnet_simple.name
dhcp_dns_server = "10.10.0.53"
dhcp_range = [
{
start_address = "10.10.0.10"
end_address = "10.10.0.100"
}
]
gateway = "10.10.0.1"
snat = true
}
resource "proxmox_virtual_environment_sdn_subnet" "subnet_simple2" {
subnet = "10.40.0.0/24"
vnet = proxmox_virtual_environment_sdn_vnet.vnet_simple.name
dhcp_dns_server = "10.40.0.53"
dhcp_range = [
{
start_address = "10.40.0.10"
end_address = "10.40.0.100"
}
]
gateway = "10.40.0.1"
snat = true
}
resource "proxmox_virtual_environment_sdn_subnet" "subnet_vlan" {
subnet = "10.20.0.0/24"
vnet = proxmox_virtual_environment_sdn_vnet.vnet_vlan.name
dhcp_dns_server = "10.20.0.53"
dhcp_range = [
{
start_address = "10.20.0.10"
end_address = "10.20.0.100"
}
]
gateway = "10.20.0.100"
snat = false
}
# --- Data Sources ---
data "proxmox_virtual_environment_sdn_zone" "zone_ex" {
name = "ZoneEx"
}
data "proxmox_virtual_environment_sdn_vnet" "vnet_ex" {
name = "VnetEx"
}
data "proxmox_virtual_environment_sdn_subnet" "subnet_ex" {
subnet = "ZoneEx-100.100.0.0-24"
vnet = data.proxmox_virtual_environment_sdn_vnet.vnet_ex.id
}
# --- Outputs ---
output "sdn_zone" {
value = data.proxmox_virtual_environment_sdn_zone.zone_ex
}
output "sdn_vnet" {
value = data.proxmox_virtual_environment_sdn_vnet.vnet_ex
}
output "sdn_subnet" {
value = data.proxmox_virtual_environment_sdn_subnet.subnet_ex
}