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

proxmoxve.SDNZone.getEvpn

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 an EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const example = proxmoxve.SDNZone.getEvpn({
        id: "evpn1",
    });
    export const dataProxmoxVirtualEnvironmentSdnZoneEvpn = {
        id: example.then(example => example.id),
        nodes: example.then(example => example.nodes),
        controller: example.then(example => example.controller),
        vrf_vxlan: example.then(example => example.vrfVxlan),
        advertise_subnets: example.then(example => example.advertiseSubnets),
        disable_arp_nd_suppression: example.then(example => example.disableArpNdSuppression),
        exit_nodes: example.then(example => example.exitNodes),
        exit_nodes_local_routing: example.then(example => example.exitNodesLocalRouting),
        primary_exit_node: example.then(example => example.primaryExitNode),
        rt_import: example.then(example => example.rtImport),
        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_evpn(id="evpn1")
    pulumi.export("dataProxmoxVirtualEnvironmentSdnZoneEvpn", {
        "id": example.id,
        "nodes": example.nodes,
        "controller": example.controller,
        "vrf_vxlan": example.vrf_vxlan,
        "advertise_subnets": example.advertise_subnets,
        "disable_arp_nd_suppression": example.disable_arp_nd_suppression,
        "exit_nodes": example.exit_nodes,
        "exit_nodes_local_routing": example.exit_nodes_local_routing,
        "primary_exit_node": example.primary_exit_node,
        "rt_import": example.rt_import,
        "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.GetEvpn(ctx, &sdnzone.GetEvpnArgs{
    			Id: "evpn1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("dataProxmoxVirtualEnvironmentSdnZoneEvpn", pulumi.Map{
    			"id":                         example.Id,
    			"nodes":                      example.Nodes,
    			"controller":                 example.Controller,
    			"vrf_vxlan":                  example.VrfVxlan,
    			"advertise_subnets":          example.AdvertiseSubnets,
    			"disable_arp_nd_suppression": example.DisableArpNdSuppression,
    			"exit_nodes":                 example.ExitNodes,
    			"exit_nodes_local_routing":   example.ExitNodesLocalRouting,
    			"primary_exit_node":          example.PrimaryExitNode,
    			"rt_import":                  example.RtImport,
    			"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.GetEvpn.Invoke(new()
        {
            Id = "evpn1",
        });
    
        return new Dictionary<string, object?>
        {
            ["dataProxmoxVirtualEnvironmentSdnZoneEvpn"] = 
            {
                { "id", example.Apply(getEvpnResult => getEvpnResult.Id) },
                { "nodes", example.Apply(getEvpnResult => getEvpnResult.Nodes) },
                { "controller", example.Apply(getEvpnResult => getEvpnResult.Controller) },
                { "vrf_vxlan", example.Apply(getEvpnResult => getEvpnResult.VrfVxlan) },
                { "advertise_subnets", example.Apply(getEvpnResult => getEvpnResult.AdvertiseSubnets) },
                { "disable_arp_nd_suppression", example.Apply(getEvpnResult => getEvpnResult.DisableArpNdSuppression) },
                { "exit_nodes", example.Apply(getEvpnResult => getEvpnResult.ExitNodes) },
                { "exit_nodes_local_routing", example.Apply(getEvpnResult => getEvpnResult.ExitNodesLocalRouting) },
                { "primary_exit_node", example.Apply(getEvpnResult => getEvpnResult.PrimaryExitNode) },
                { "rt_import", example.Apply(getEvpnResult => getEvpnResult.RtImport) },
                { "mtu", example.Apply(getEvpnResult => getEvpnResult.Mtu) },
                { "dns", example.Apply(getEvpnResult => getEvpnResult.Dns) },
                { "dns_zone", example.Apply(getEvpnResult => getEvpnResult.DnsZone) },
                { "ipam", example.Apply(getEvpnResult => getEvpnResult.Ipam) },
                { "reverse_dns", example.Apply(getEvpnResult => getEvpnResult.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.GetEvpnArgs;
    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.getEvpn(GetEvpnArgs.builder()
                .id("evpn1")
                .build());
    
            ctx.export("dataProxmoxVirtualEnvironmentSdnZoneEvpn", Map.ofEntries(
                Map.entry("id", example.id()),
                Map.entry("nodes", example.nodes()),
                Map.entry("controller", example.controller()),
                Map.entry("vrf_vxlan", example.vrfVxlan()),
                Map.entry("advertise_subnets", example.advertiseSubnets()),
                Map.entry("disable_arp_nd_suppression", example.disableArpNdSuppression()),
                Map.entry("exit_nodes", example.exitNodes()),
                Map.entry("exit_nodes_local_routing", example.exitNodesLocalRouting()),
                Map.entry("primary_exit_node", example.primaryExitNode()),
                Map.entry("rt_import", example.rtImport()),
                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:getEvpn
          arguments:
            id: evpn1
    outputs:
      dataProxmoxVirtualEnvironmentSdnZoneEvpn:
        id: ${example.id}
        nodes: ${example.nodes}
        controller: ${example.controller}
        vrf_vxlan: ${example.vrfVxlan}
        advertise_subnets: ${example.advertiseSubnets}
        disable_arp_nd_suppression: ${example.disableArpNdSuppression}
        exit_nodes: ${example.exitNodes}
        exit_nodes_local_routing: ${example.exitNodesLocalRouting}
        primary_exit_node: ${example.primaryExitNode}
        rt_import: ${example.rtImport}
        mtu: ${example.mtu}
        dns: ${example.dns}
        dns_zone: ${example.dnsZone}
        ipam: ${example.ipam}
        reverse_dns: ${example.reverseDns}
    

    Using getEvpn

    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 getEvpn(args: GetEvpnArgs, opts?: InvokeOptions): Promise<GetEvpnResult>
    function getEvpnOutput(args: GetEvpnOutputArgs, opts?: InvokeOptions): Output<GetEvpnResult>
    def get_evpn(id: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetEvpnResult
    def get_evpn_output(id: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetEvpnResult]
    func LookupEvpn(ctx *Context, args *LookupEvpnArgs, opts ...InvokeOption) (*LookupEvpnResult, error)
    func LookupEvpnOutput(ctx *Context, args *LookupEvpnOutputArgs, opts ...InvokeOption) LookupEvpnResultOutput

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

    public static class GetEvpn 
    {
        public static Task<GetEvpnResult> InvokeAsync(GetEvpnArgs args, InvokeOptions? opts = null)
        public static Output<GetEvpnResult> Invoke(GetEvpnInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetEvpnResult> getEvpn(GetEvpnArgs args, InvokeOptions options)
    public static Output<GetEvpnResult> getEvpn(GetEvpnArgs args, InvokeOptions options)
    
    fn::invoke:
      function: proxmoxve:SDNZone/getEvpn:getEvpn
      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.

    getEvpn Result

    The following output properties are available:

    AdvertiseSubnets bool
    Enable subnet advertisement for EVPN.
    Controller string
    EVPN controller address.
    DisableArpNdSuppression bool
    Disable ARP/ND suppression for EVPN.
    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.
    ExitNodes List<string>
    List of exit nodes for EVPN.
    ExitNodesLocalRouting bool
    Enable local routing for EVPN exit nodes.
    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
    PrimaryExitNode string
    Primary exit node for EVPN.
    ReverseDns string
    Reverse DNS API server address.
    RtImport string
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    VrfVxlan int
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
    AdvertiseSubnets bool
    Enable subnet advertisement for EVPN.
    Controller string
    EVPN controller address.
    DisableArpNdSuppression bool
    Disable ARP/ND suppression for EVPN.
    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.
    ExitNodes []string
    List of exit nodes for EVPN.
    ExitNodesLocalRouting bool
    Enable local routing for EVPN exit nodes.
    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
    PrimaryExitNode string
    Primary exit node for EVPN.
    ReverseDns string
    Reverse DNS API server address.
    RtImport string
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    VrfVxlan int
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
    advertiseSubnets Boolean
    Enable subnet advertisement for EVPN.
    controller String
    EVPN controller address.
    disableArpNdSuppression Boolean
    Disable ARP/ND suppression for EVPN.
    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.
    exitNodes List<String>
    List of exit nodes for EVPN.
    exitNodesLocalRouting Boolean
    Enable local routing for EVPN exit nodes.
    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
    primaryExitNode String
    Primary exit node for EVPN.
    reverseDns String
    Reverse DNS API server address.
    rtImport String
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    vrfVxlan Integer
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
    advertiseSubnets boolean
    Enable subnet advertisement for EVPN.
    controller string
    EVPN controller address.
    disableArpNdSuppression boolean
    Disable ARP/ND suppression for EVPN.
    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.
    exitNodes string[]
    List of exit nodes for EVPN.
    exitNodesLocalRouting boolean
    Enable local routing for EVPN exit nodes.
    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
    primaryExitNode string
    Primary exit node for EVPN.
    reverseDns string
    Reverse DNS API server address.
    rtImport string
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    vrfVxlan number
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
    bool
    Enable subnet advertisement for EVPN.
    controller str
    EVPN controller address.
    disable_arp_nd_suppression bool
    Disable ARP/ND suppression for EVPN.
    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.
    exit_nodes Sequence[str]
    List of exit nodes for EVPN.
    exit_nodes_local_routing bool
    Enable local routing for EVPN exit nodes.
    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
    primary_exit_node str
    Primary exit node for EVPN.
    reverse_dns str
    Reverse DNS API server address.
    rt_import str
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    vrf_vxlan int
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
    advertiseSubnets Boolean
    Enable subnet advertisement for EVPN.
    controller String
    EVPN controller address.
    disableArpNdSuppression Boolean
    Disable ARP/ND suppression for EVPN.
    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.
    exitNodes List<String>
    List of exit nodes for EVPN.
    exitNodesLocalRouting Boolean
    Enable local routing for EVPN exit nodes.
    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
    primaryExitNode String
    Primary exit node for EVPN.
    reverseDns String
    Reverse DNS API server address.
    rtImport String
    Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
    vrfVxlan Number
    VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.

    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