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

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:
- Advertise
Subnets bool - Enable subnet advertisement for EVPN.
- Controller string
- EVPN controller address.
- Disable
Arp boolNd Suppression - Disable ARP/ND suppression for EVPN.
- Dns string
- DNS API server address.
- Dns
Zone string - DNS domain name. Used to register hostnames, such as
<hostname>.<domain>
. The DNS zone must already exist on the DNS server. - Exit
Nodes List<string> - List of exit nodes for EVPN.
- Exit
Nodes boolLocal Routing - 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
- Primary
Exit stringNode - Primary exit node for EVPN.
- Reverse
Dns string - Reverse DNS API server address.
- Rt
Import string - 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.
- Advertise
Subnets bool - Enable subnet advertisement for EVPN.
- Controller string
- EVPN controller address.
- Disable
Arp boolNd Suppression - Disable ARP/ND suppression for EVPN.
- Dns string
- DNS API server address.
- Dns
Zone string - DNS domain name. Used to register hostnames, such as
<hostname>.<domain>
. The DNS zone must already exist on the DNS server. - Exit
Nodes []string - List of exit nodes for EVPN.
- Exit
Nodes boolLocal Routing - 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
- Primary
Exit stringNode - Primary exit node for EVPN.
- Reverse
Dns string - Reverse DNS API server address.
- Rt
Import string - 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.
- advertise
Subnets Boolean - Enable subnet advertisement for EVPN.
- controller String
- EVPN controller address.
- disable
Arp BooleanNd Suppression - Disable ARP/ND suppression for EVPN.
- dns String
- DNS API server address.
- dns
Zone String - DNS domain name. Used to register hostnames, such as
<hostname>.<domain>
. The DNS zone must already exist on the DNS server. - exit
Nodes List<String> - List of exit nodes for EVPN.
- exit
Nodes BooleanLocal Routing - 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
- primary
Exit StringNode - Primary exit node for EVPN.
- reverse
Dns String - Reverse DNS API server address.
- rt
Import String - Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
- vrf
Vxlan Integer - VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
- advertise
Subnets boolean - Enable subnet advertisement for EVPN.
- controller string
- EVPN controller address.
- disable
Arp booleanNd Suppression - Disable ARP/ND suppression for EVPN.
- dns string
- DNS API server address.
- dns
Zone string - DNS domain name. Used to register hostnames, such as
<hostname>.<domain>
. The DNS zone must already exist on the DNS server. - exit
Nodes string[] - List of exit nodes for EVPN.
- exit
Nodes booleanLocal Routing - 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
- primary
Exit stringNode - Primary exit node for EVPN.
- reverse
Dns string - Reverse DNS API server address.
- rt
Import string - Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
- vrf
Vxlan number - VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
- advertise_
subnets bool - Enable subnet advertisement for EVPN.
- controller str
- EVPN controller address.
- disable_
arp_ boolnd_ suppression - 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_ boollocal_ routing - 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_ strnode - 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.
- advertise
Subnets Boolean - Enable subnet advertisement for EVPN.
- controller String
- EVPN controller address.
- disable
Arp BooleanNd Suppression - Disable ARP/ND suppression for EVPN.
- dns String
- DNS API server address.
- dns
Zone String - DNS domain name. Used to register hostnames, such as
<hostname>.<domain>
. The DNS zone must already exist on the DNS server. - exit
Nodes List<String> - List of exit nodes for EVPN.
- exit
Nodes BooleanLocal Routing - 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
- primary
Exit StringNode - Primary exit node for EVPN.
- reverse
Dns String - Reverse DNS API server address.
- rt
Import String - Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
- vrf
Vxlan 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.

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