Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
Deprecated: Use
proxmoxve.sdn.getZonesinstead. This data source will be removed in v1.0.
Retrieves information about all SDN Zones in Proxmox. This data source can optionally filter zones by type.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
// List all SDN zones
const all = proxmoxve.sdn.getZonesLegacy({});
// List only EVPN zones
const evpnOnly = proxmoxve.sdn.getZonesLegacy({
type: "evpn",
});
// List only Simple zones
const simpleOnly = proxmoxve.sdn.getZonesLegacy({
type: "simple",
});
export const dataProxmoxVirtualEnvironmentSdnZonesAll = {
zones: all.then(all => all.zones),
};
export const dataProxmoxVirtualEnvironmentSdnZonesFiltered = {
evpnZones: evpnOnly.then(evpnOnly => evpnOnly.zones),
simpleZones: simpleOnly.then(simpleOnly => simpleOnly.zones),
};
import pulumi
import pulumi_proxmoxve as proxmoxve
# List all SDN zones
all = proxmoxve.sdn.get_zones_legacy()
# List only EVPN zones
evpn_only = proxmoxve.sdn.get_zones_legacy(type="evpn")
# List only Simple zones
simple_only = proxmoxve.sdn.get_zones_legacy(type="simple")
pulumi.export("dataProxmoxVirtualEnvironmentSdnZonesAll", {
"zones": all.zones,
})
pulumi.export("dataProxmoxVirtualEnvironmentSdnZonesFiltered", {
"evpnZones": evpn_only.zones,
"simpleZones": simple_only.zones,
})
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 {
// List all SDN zones
all, err := sdn.GetZonesLegacy(ctx, &sdn.GetZonesLegacyArgs{}, nil)
if err != nil {
return err
}
// List only EVPN zones
evpnOnly, err := sdn.GetZonesLegacy(ctx, &sdn.GetZonesLegacyArgs{
Type: pulumi.StringRef("evpn"),
}, nil)
if err != nil {
return err
}
// List only Simple zones
simpleOnly, err := sdn.GetZonesLegacy(ctx, &sdn.GetZonesLegacyArgs{
Type: pulumi.StringRef("simple"),
}, nil)
if err != nil {
return err
}
ctx.Export("dataProxmoxVirtualEnvironmentSdnZonesAll", []sdn.GetZonesLegacyZoneMap{
"zones": all.Zones,
})
ctx.Export("dataProxmoxVirtualEnvironmentSdnZonesFiltered", []sdn.GetZonesLegacyZoneMap{
"evpnZones": evpnOnly.Zones,
"simpleZones": simpleOnly.Zones,
})
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using ProxmoxVE = Pulumi.ProxmoxVE;
return await Deployment.RunAsync(() =>
{
// List all SDN zones
var all = ProxmoxVE.Sdn.GetZonesLegacy.Invoke();
// List only EVPN zones
var evpnOnly = ProxmoxVE.Sdn.GetZonesLegacy.Invoke(new()
{
Type = "evpn",
});
// List only Simple zones
var simpleOnly = ProxmoxVE.Sdn.GetZonesLegacy.Invoke(new()
{
Type = "simple",
});
return new Dictionary<string, object?>
{
["dataProxmoxVirtualEnvironmentSdnZonesAll"] =
{
{ "zones", all.Apply(getZonesLegacyResult => getZonesLegacyResult.Zones) },
},
["dataProxmoxVirtualEnvironmentSdnZonesFiltered"] =
{
{ "evpnZones", evpnOnly.Apply(getZonesLegacyResult => getZonesLegacyResult.Zones) },
{ "simpleZones", simpleOnly.Apply(getZonesLegacyResult => getZonesLegacyResult.Zones) },
},
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.proxmoxve.sdn.SdnFunctions;
import com.pulumi.proxmoxve.sdn.inputs.GetZonesLegacyArgs;
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) {
// List all SDN zones
final var all = SdnFunctions.getZonesLegacy(GetZonesLegacyArgs.builder()
.build());
// List only EVPN zones
final var evpnOnly = SdnFunctions.getZonesLegacy(GetZonesLegacyArgs.builder()
.type("evpn")
.build());
// List only Simple zones
final var simpleOnly = SdnFunctions.getZonesLegacy(GetZonesLegacyArgs.builder()
.type("simple")
.build());
ctx.export("dataProxmoxVirtualEnvironmentSdnZonesAll", Map.of("zones", all.zones()));
ctx.export("dataProxmoxVirtualEnvironmentSdnZonesFiltered", Map.ofEntries(
Map.entry("evpnZones", evpnOnly.zones()),
Map.entry("simpleZones", simpleOnly.zones())
));
}
}
variables:
# List all SDN zones
all:
fn::invoke:
function: proxmoxve:sdn:getZonesLegacy
arguments: {}
# List only EVPN zones
evpnOnly:
fn::invoke:
function: proxmoxve:sdn:getZonesLegacy
arguments:
type: evpn
# List only Simple zones
simpleOnly:
fn::invoke:
function: proxmoxve:sdn:getZonesLegacy
arguments:
type: simple
outputs:
dataProxmoxVirtualEnvironmentSdnZonesAll:
zones: ${all.zones}
dataProxmoxVirtualEnvironmentSdnZonesFiltered:
evpnZones: ${evpnOnly.zones}
simpleZones: ${simpleOnly.zones}
Using getZonesLegacy
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 getZonesLegacy(args: GetZonesLegacyArgs, opts?: InvokeOptions): Promise<GetZonesLegacyResult>
function getZonesLegacyOutput(args: GetZonesLegacyOutputArgs, opts?: InvokeOptions): Output<GetZonesLegacyResult>def get_zones_legacy(type: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetZonesLegacyResult
def get_zones_legacy_output(type: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetZonesLegacyResult]func GetZonesLegacy(ctx *Context, args *GetZonesLegacyArgs, opts ...InvokeOption) (*GetZonesLegacyResult, error)
func GetZonesLegacyOutput(ctx *Context, args *GetZonesLegacyOutputArgs, opts ...InvokeOption) GetZonesLegacyResultOutput> Note: This function is named GetZonesLegacy in the Go SDK.
public static class GetZonesLegacy
{
public static Task<GetZonesLegacyResult> InvokeAsync(GetZonesLegacyArgs args, InvokeOptions? opts = null)
public static Output<GetZonesLegacyResult> Invoke(GetZonesLegacyInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetZonesLegacyResult> getZonesLegacy(GetZonesLegacyArgs args, InvokeOptions options)
public static Output<GetZonesLegacyResult> getZonesLegacy(GetZonesLegacyArgs args, InvokeOptions options)
fn::invoke:
function: proxmoxve:sdn/getZonesLegacy:getZonesLegacy
arguments:
# arguments dictionaryThe following arguments are supported:
- Type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- Type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- type String
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- type str
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- type String
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
getZonesLegacy Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Zones
List<Pulumi.
Proxmox VE. Sdn. Outputs. Get Zones Legacy Zone> - List of SDN zones.
- Type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- Id string
- The provider-assigned unique ID for this managed resource.
- Zones
[]Get
Zones Legacy Zone - List of SDN zones.
- Type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- id String
- The provider-assigned unique ID for this managed resource.
- zones
List<Get
Zones Legacy Zone> - List of SDN zones.
- type String
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- id string
- The provider-assigned unique ID for this managed resource.
- zones
Get
Zones Legacy Zone[] - List of SDN zones.
- type string
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- id str
- The provider-assigned unique ID for this managed resource.
- zones
Sequence[Get
Zones Legacy Zone] - List of SDN zones.
- type str
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
- id String
- The provider-assigned unique ID for this managed resource.
- zones List<Property Map>
- List of SDN zones.
- type String
- Filter zones by type (simple, vlan, qinq, vxlan, evpn).
Supporting Types
GetZonesLegacyZone
- Advertise
Subnets bool - Bridge string
- Controller string
- Dhcp string
- Disable
Arp boolNd Suppression - Dns string
- Dns
Zone string - Exit
Nodes List<string> - Exit
Nodes boolLocal Routing - Id string
- Ipam string
- Mtu int
- Nodes List<string>
- Peers List<string>
- Pending bool
- Primary
Exit stringNode - Reverse
Dns string - Rt
Import string - Service
Vlan int - Service
Vlan stringProtocol - State string
- Type string
- Vrf
Vxlan int
- Advertise
Subnets bool - Bridge string
- Controller string
- Dhcp string
- Disable
Arp boolNd Suppression - Dns string
- Dns
Zone string - Exit
Nodes []string - Exit
Nodes boolLocal Routing - Id string
- Ipam string
- Mtu int
- Nodes []string
- Peers []string
- Pending bool
- Primary
Exit stringNode - Reverse
Dns string - Rt
Import string - Service
Vlan int - Service
Vlan stringProtocol - State string
- Type string
- Vrf
Vxlan int
- advertise
Subnets Boolean - bridge String
- controller String
- dhcp String
- disable
Arp BooleanNd Suppression - dns String
- dns
Zone String - exit
Nodes List<String> - exit
Nodes BooleanLocal Routing - id String
- ipam String
- mtu Integer
- nodes List<String>
- peers List<String>
- pending Boolean
- primary
Exit StringNode - reverse
Dns String - rt
Import String - service
Vlan Integer - service
Vlan StringProtocol - state String
- type String
- vrf
Vxlan Integer
- advertise
Subnets boolean - bridge string
- controller string
- dhcp string
- disable
Arp booleanNd Suppression - dns string
- dns
Zone string - exit
Nodes string[] - exit
Nodes booleanLocal Routing - id string
- ipam string
- mtu number
- nodes string[]
- peers string[]
- pending boolean
- primary
Exit stringNode - reverse
Dns string - rt
Import string - service
Vlan number - service
Vlan stringProtocol - state string
- type string
- vrf
Vxlan number
- advertise_
subnets bool - bridge str
- controller str
- dhcp str
- disable_
arp_ boolnd_ suppression - dns str
- dns_
zone str - exit_
nodes Sequence[str] - exit_
nodes_ boollocal_ routing - id str
- ipam str
- mtu int
- nodes Sequence[str]
- peers Sequence[str]
- pending bool
- primary_
exit_ strnode - reverse_
dns str - rt_
import str - service_
vlan int - service_
vlan_ strprotocol - state str
- type str
- vrf_
vxlan int
- advertise
Subnets Boolean - bridge String
- controller String
- dhcp String
- disable
Arp BooleanNd Suppression - dns String
- dns
Zone String - exit
Nodes List<String> - exit
Nodes BooleanLocal Routing - id String
- ipam String
- mtu Number
- nodes List<String>
- peers List<String>
- pending Boolean
- primary
Exit StringNode - reverse
Dns String - rt
Import String - service
Vlan Number - service
Vlan StringProtocol - state String
- type String
- vrf
Vxlan Number
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.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
