1. Packages
  2. Packages
  3. Proxmox Virtual Environment (Proxmox VE)
  4. API Docs
  5. sdn
  6. sdn/controller
  7. getEvpn
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
proxmoxve logo
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski

    The EVPN zone requires an external controller to manage the control plane. The EVPN controller plugin configures the Free Range Routing (frr) router.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const example = proxmoxve.sdn.controller.getEvpn({
        id: "evpn1",
    });
    export const dataProxmoxSdnControllerEvpn = {
        id: example.then(example => example.id),
        asn: example.then(example => example.asn),
        fabric: example.then(example => example.fabric),
        peers: example.then(example => example.peers),
    };
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    
    example = proxmoxve.sdn.controller.get_evpn(id="evpn1")
    pulumi.export("dataProxmoxSdnControllerEvpn", {
        "id": example.id,
        "asn": example.asn,
        "fabric": example.fabric,
        "peers": example.peers,
    })
    
    package main
    
    import (
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve/sdn"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := sdn.GetEvpn(ctx, &controller.GetEvpnArgs{
    			Id: "evpn1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("dataProxmoxSdnControllerEvpn", pulumi.Map{
    			"id":     example.Id,
    			"asn":    example.Asn,
    			"fabric": example.Fabric,
    			"peers":  example.Peers,
    		})
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using ProxmoxVE = Pulumi.ProxmoxVE;
    
    return await Deployment.RunAsync(() => 
    {
        var example = ProxmoxVE.Sdn.Controller.GetEvpn.Invoke(new()
        {
            Id = "evpn1",
        });
    
        return new Dictionary<string, object?>
        {
            ["dataProxmoxSdnControllerEvpn"] = 
            {
                { "id", example.Apply(getEvpnResult => getEvpnResult.Id) },
                { "asn", example.Apply(getEvpnResult => getEvpnResult.Asn) },
                { "fabric", example.Apply(getEvpnResult => getEvpnResult.Fabric) },
                { "peers", example.Apply(getEvpnResult => getEvpnResult.Peers) },
            },
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.proxmoxve.sdn_controller.Sdn_controllerFunctions;
    import com.pulumi.proxmoxve.sdn.inputs.GetEvpnArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 = Sdn_controllerFunctions.getEvpn(GetEvpnArgs.builder()
                .id("evpn1")
                .build());
    
            ctx.export("dataProxmoxSdnControllerEvpn", Map.ofEntries(
                Map.entry("id", example.id()),
                Map.entry("asn", example.asn()),
                Map.entry("fabric", example.fabric()),
                Map.entry("peers", example.peers())
            ));
        }
    }
    
    variables:
      example:
        fn::invoke:
          function: proxmoxve:sdn/controller:getEvpn
          arguments:
            id: evpn1
    outputs:
      dataProxmoxSdnControllerEvpn:
        id: ${example.id}
        asn: ${example.asn}
        fabric: ${example.fabric}
        peers: ${example.peers}
    
    Example coming soon!
    

    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: pulumi.Input[Optional[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:sdn/controller/getEvpn:getEvpn
      arguments:
        # arguments dictionary
    data "proxmoxve_sdn_controller_getevpn" "name" {
        # arguments
    }

    The following arguments are supported:

    Id string
    The unique identifier of the SDN controller
    Id string
    The unique identifier of the SDN controller
    id string
    The unique identifier of the SDN controller
    id String
    The unique identifier of the SDN controller
    id string
    The unique identifier of the SDN controller
    id str
    The unique identifier of the SDN controller
    id String
    The unique identifier of the SDN controller

    getEvpn Result

    The following output properties are available:

    Asn int
    Autonomous System Number for the EVPN controller.
    Digest string
    Digest of the controller section.
    Fabric string
    ID of the fabric this EVPN controller belongs to.
    Id string
    The unique identifier of the SDN controller
    Peers List<string>
    Set of BGP peer IP addresses for the EVPN controller.
    Asn int
    Autonomous System Number for the EVPN controller.
    Digest string
    Digest of the controller section.
    Fabric string
    ID of the fabric this EVPN controller belongs to.
    Id string
    The unique identifier of the SDN controller
    Peers []string
    Set of BGP peer IP addresses for the EVPN controller.
    asn number
    Autonomous System Number for the EVPN controller.
    digest string
    Digest of the controller section.
    fabric string
    ID of the fabric this EVPN controller belongs to.
    id string
    The unique identifier of the SDN controller
    peers list(string)
    Set of BGP peer IP addresses for the EVPN controller.
    asn Integer
    Autonomous System Number for the EVPN controller.
    digest String
    Digest of the controller section.
    fabric String
    ID of the fabric this EVPN controller belongs to.
    id String
    The unique identifier of the SDN controller
    peers List<String>
    Set of BGP peer IP addresses for the EVPN controller.
    asn number
    Autonomous System Number for the EVPN controller.
    digest string
    Digest of the controller section.
    fabric string
    ID of the fabric this EVPN controller belongs to.
    id string
    The unique identifier of the SDN controller
    peers string[]
    Set of BGP peer IP addresses for the EVPN controller.
    asn int
    Autonomous System Number for the EVPN controller.
    digest str
    Digest of the controller section.
    fabric str
    ID of the fabric this EVPN controller belongs to.
    id str
    The unique identifier of the SDN controller
    peers Sequence[str]
    Set of BGP peer IP addresses for the EVPN controller.
    asn Number
    Autonomous System Number for the EVPN controller.
    digest String
    Digest of the controller section.
    fabric String
    ID of the fabric this EVPN controller belongs to.
    id String
    The unique identifier of the SDN controller
    peers List<String>
    Set of BGP peer IP addresses for the EVPN controller.

    Package Details

    Repository
    proxmoxve muhlba91/pulumi-proxmoxve
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the proxmox Terraform Provider.
    proxmoxve logo
    Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
    published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
      Try Pulumi Cloud free. Your team will thank you.