1. Packages
  2. Proxmox Virtual Environment (Proxmox VE)
  3. API Docs
  4. SDNZone
  5. getVxlan
Proxmox Virtual Environment (Proxmox VE) v7.4.0 published on Sunday, Aug 17, 2025 by Daniel Muehlbachler-Pietrzykowski

proxmoxve.SDNZone.getVxlan

Explore with Pulumi AI

proxmoxve logo
Proxmox Virtual Environment (Proxmox VE) v7.4.0 published on Sunday, Aug 17, 2025 by Daniel Muehlbachler-Pietrzykowski

    Retrieves information about a VXLAN Zone in Proxmox SDN. It establishes a tunnel (overlay) on top of an existing network (underlay). This encapsulates layer 2 Ethernet frames within layer 4 UDP datagrams using the default destination port 4789. You have to configure the underlay network yourself to enable UDP connectivity between all peers. Because VXLAN encapsulation uses 50 bytes, the MTU needs to be 50 bytes lower than the outgoing physical interface.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const example = proxmoxve.SDNZone.getVxlan({
        id: "vxlan1",
    });
    export const dataProxmoxVirtualEnvironmentSdnZoneVxlan = {
        id: example.then(example => example.id),
        nodes: example.then(example => example.nodes),
        peers: example.then(example => example.peers),
        mtu: example.then(example => example.mtu),
        dns: example.then(example => example.dns),
        dns_zone: example.then(example => example.dnsZone),
        ipam: example.then(example => example.ipam),
        reverse_dns: example.then(example => example.reverseDns),
    };
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    
    example = proxmoxve.SDNZone.get_vxlan(id="vxlan1")
    pulumi.export("dataProxmoxVirtualEnvironmentSdnZoneVxlan", {
        "id": example.id,
        "nodes": example.nodes,
        "peers": example.peers,
        "mtu": example.mtu,
        "dns": example.dns,
        "dns_zone": example.dns_zone,
        "ipam": example.ipam,
        "reverse_dns": example.reverse_dns,
    })
    
    package main
    
    import (
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v7/go/proxmoxve/sdnzone"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := sdnzone.GetVxlan(ctx, &sdnzone.GetVxlanArgs{
    			Id: "vxlan1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("dataProxmoxVirtualEnvironmentSdnZoneVxlan", pulumi.Map{
    			"id":          example.Id,
    			"nodes":       example.Nodes,
    			"peers":       example.Peers,
    			"mtu":         example.Mtu,
    			"dns":         example.Dns,
    			"dns_zone":    example.DnsZone,
    			"ipam":        example.Ipam,
    			"reverse_dns": example.ReverseDns,
    		})
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using ProxmoxVE = Pulumi.ProxmoxVE;
    
    return await Deployment.RunAsync(() => 
    {
        var example = ProxmoxVE.SDNZone.GetVxlan.Invoke(new()
        {
            Id = "vxlan1",
        });
    
        return new Dictionary<string, object?>
        {
            ["dataProxmoxVirtualEnvironmentSdnZoneVxlan"] = 
            {
                { "id", example.Apply(getVxlanResult => getVxlanResult.Id) },
                { "nodes", example.Apply(getVxlanResult => getVxlanResult.Nodes) },
                { "peers", example.Apply(getVxlanResult => getVxlanResult.Peers) },
                { "mtu", example.Apply(getVxlanResult => getVxlanResult.Mtu) },
                { "dns", example.Apply(getVxlanResult => getVxlanResult.Dns) },
                { "dns_zone", example.Apply(getVxlanResult => getVxlanResult.DnsZone) },
                { "ipam", example.Apply(getVxlanResult => getVxlanResult.Ipam) },
                { "reverse_dns", example.Apply(getVxlanResult => getVxlanResult.ReverseDns) },
            },
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.proxmoxve.SDNZone.SDNZoneFunctions;
    import com.pulumi.proxmoxve.SDNZone.inputs.GetVxlanArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var example = SDNZoneFunctions.getVxlan(GetVxlanArgs.builder()
                .id("vxlan1")
                .build());
    
            ctx.export("dataProxmoxVirtualEnvironmentSdnZoneVxlan", Map.ofEntries(
                Map.entry("id", example.id()),
                Map.entry("nodes", example.nodes()),
                Map.entry("peers", example.peers()),
                Map.entry("mtu", example.mtu()),
                Map.entry("dns", example.dns()),
                Map.entry("dns_zone", example.dnsZone()),
                Map.entry("ipam", example.ipam()),
                Map.entry("reverse_dns", example.reverseDns())
            ));
        }
    }
    
    variables:
      example:
        fn::invoke:
          function: proxmoxve:SDNZone:getVxlan
          arguments:
            id: vxlan1
    outputs:
      dataProxmoxVirtualEnvironmentSdnZoneVxlan:
        id: ${example.id}
        nodes: ${example.nodes}
        peers: ${example.peers}
        mtu: ${example.mtu}
        dns: ${example.dns}
        dns_zone: ${example.dnsZone}
        ipam: ${example.ipam}
        reverse_dns: ${example.reverseDns}
    

    Using getVxlan

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getVxlan(args: GetVxlanArgs, opts?: InvokeOptions): Promise<GetVxlanResult>
    function getVxlanOutput(args: GetVxlanOutputArgs, opts?: InvokeOptions): Output<GetVxlanResult>
    def get_vxlan(id: Optional[str] = None,
                  opts: Optional[InvokeOptions] = None) -> GetVxlanResult
    def get_vxlan_output(id: Optional[pulumi.Input[str]] = None,
                  opts: Optional[InvokeOptions] = None) -> Output[GetVxlanResult]
    func LookupVxlan(ctx *Context, args *LookupVxlanArgs, opts ...InvokeOption) (*LookupVxlanResult, error)
    func LookupVxlanOutput(ctx *Context, args *LookupVxlanOutputArgs, opts ...InvokeOption) LookupVxlanResultOutput

    > Note: This function is named LookupVxlan in the Go SDK.

    public static class GetVxlan 
    {
        public static Task<GetVxlanResult> InvokeAsync(GetVxlanArgs args, InvokeOptions? opts = null)
        public static Output<GetVxlanResult> Invoke(GetVxlanInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetVxlanResult> getVxlan(GetVxlanArgs args, InvokeOptions options)
    public static Output<GetVxlanResult> getVxlan(GetVxlanArgs args, InvokeOptions options)
    
    fn::invoke:
      function: proxmoxve:SDNZone/getVxlan:getVxlan
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Id string
    The unique identifier of the SDN zone.
    Id string
    The unique identifier of the SDN zone.
    id String
    The unique identifier of the SDN zone.
    id string
    The unique identifier of the SDN zone.
    id str
    The unique identifier of the SDN zone.
    id String
    The unique identifier of the SDN zone.

    getVxlan Result

    The following output properties are available:

    Dns string
    DNS API server address.
    DnsZone string
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    Id string
    The unique identifier of the SDN zone.
    Ipam string
    IP Address Management system.
    Mtu int
    MTU value for the zone.
    Nodes List<string>
    The Proxmox nodes which the zone and associated VNets are deployed on
    Peers List<string>
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    ReverseDns string
    Reverse DNS API server address.
    Dns string
    DNS API server address.
    DnsZone string
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    Id string
    The unique identifier of the SDN zone.
    Ipam string
    IP Address Management system.
    Mtu int
    MTU value for the zone.
    Nodes []string
    The Proxmox nodes which the zone and associated VNets are deployed on
    Peers []string
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    ReverseDns string
    Reverse DNS API server address.
    dns String
    DNS API server address.
    dnsZone String
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    id String
    The unique identifier of the SDN zone.
    ipam String
    IP Address Management system.
    mtu Integer
    MTU value for the zone.
    nodes List<String>
    The Proxmox nodes which the zone and associated VNets are deployed on
    peers List<String>
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    reverseDns String
    Reverse DNS API server address.
    dns string
    DNS API server address.
    dnsZone string
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    id string
    The unique identifier of the SDN zone.
    ipam string
    IP Address Management system.
    mtu number
    MTU value for the zone.
    nodes string[]
    The Proxmox nodes which the zone and associated VNets are deployed on
    peers string[]
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    reverseDns string
    Reverse DNS API server address.
    dns str
    DNS API server address.
    dns_zone str
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    id str
    The unique identifier of the SDN zone.
    ipam str
    IP Address Management system.
    mtu int
    MTU value for the zone.
    nodes Sequence[str]
    The Proxmox nodes which the zone and associated VNets are deployed on
    peers Sequence[str]
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    reverse_dns str
    Reverse DNS API server address.
    dns String
    DNS API server address.
    dnsZone String
    DNS domain name. Used to register hostnames, such as <hostname>.<domain>. The DNS zone must already exist on the DNS server.
    id String
    The unique identifier of the SDN zone.
    ipam String
    IP Address Management system.
    mtu Number
    MTU value for the zone.
    nodes List<String>
    The Proxmox nodes which the zone and associated VNets are deployed on
    peers List<String>
    A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
    reverseDns String
    Reverse DNS API server address.

    Package Details

    Repository
    proxmoxve muhlba91/pulumi-proxmoxve
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the proxmox Terraform Provider.
    proxmoxve logo
    Proxmox Virtual Environment (Proxmox VE) v7.4.0 published on Sunday, Aug 17, 2025 by Daniel Muehlbachler-Pietrzykowski