Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
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 dictionarydata "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:
Package Details
- Repository
- proxmoxve muhlba91/pulumi-proxmoxve
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
proxmoxTerraform Provider.
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.2.1
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Wednesday, May 20, 2026 by Daniel Muehlbachler-Pietrzykowski
