published on Wednesday, Oct 28, 2026 by Pulumi
Cisco Catalyst SD-WANpublished on Wednesday, Oct 28, 2026 by Pulumi
This data source resolves a list of Network Hierarchy site, group and region names without requiring the hierarchy to be managed by this provider, in a single paginated read. nodes returns the UUID and type of every requested node, whatever its type, for consumers that reference a node itself (for example a scope). resolvedSites and containerSites expand groups and regions to the sites nested underneath them, at any depth, for consumers that need sites (for example topology targeting, where the Manager GUI sends the member sites and never the group’s own UUID). Set expandContainers to false to return only nodes.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as sdwan from "@pulumi/sdwan";
const example = sdwan.getNetworkHierarchyNodes({
names: ["EMEA-Group"],
});
import pulumi
import pulumi_sdwan as sdwan
example = sdwan.get_network_hierarchy_nodes(names=["EMEA-Group"])
package main
import (
"github.com/pulumi/pulumi-sdwan/sdk/go/sdwan"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sdwan.GetNetworkHierarchyNodes(ctx, &sdwan.GetNetworkHierarchyNodesArgs{
Names: []string{
"EMEA-Group",
},
}, nil)
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Sdwan = Pulumi.Sdwan;
return await Deployment.RunAsync(() =>
{
var example = Sdwan.GetNetworkHierarchyNodes.Invoke(new()
{
Names = new[]
{
"EMEA-Group",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.sdwan.SdwanFunctions;
import com.pulumi.sdwan.inputs.GetNetworkHierarchyNodesArgs;
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 = SdwanFunctions.getNetworkHierarchyNodes(GetNetworkHierarchyNodesArgs.builder()
.names("EMEA-Group")
.build());
}
}
variables:
example:
fn::invoke:
function: sdwan:getNetworkHierarchyNodes
arguments:
names:
- EMEA-Group
terraform {
required_providers {
sdwan = {
source = "pulumi/sdwan"
}
}
}
data "sdwan_network_hierarchy_nodes" "example" {
names = ["EMEA-Group"]
}
Using getNetworkHierarchyNodes
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 getNetworkHierarchyNodes(args: GetNetworkHierarchyNodesArgs, opts?: InvokeOptions): Promise<GetNetworkHierarchyNodesResult>
function getNetworkHierarchyNodesOutput(args: GetNetworkHierarchyNodesOutputArgs, opts?: InvokeOutputOptions): Output<GetNetworkHierarchyNodesResult>def get_network_hierarchy_nodes(expand_containers: Optional[bool] = None,
names: Optional[Sequence[str]] = None,
opts: Optional[InvokeOptions] = None) -> GetNetworkHierarchyNodesResult
def get_network_hierarchy_nodes_output(expand_containers: pulumi.Input[Optional[bool]] = None,
names: pulumi.Input[Optional[Sequence[pulumi.Input[str]]]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetNetworkHierarchyNodesResult]func GetNetworkHierarchyNodes(ctx *Context, args *GetNetworkHierarchyNodesArgs, opts ...InvokeOption) (*GetNetworkHierarchyNodesResult, error)
func GetNetworkHierarchyNodesOutput(ctx *Context, args *GetNetworkHierarchyNodesOutputArgs, opts ...InvokeOption) GetNetworkHierarchyNodesResultOutput> Note: This function is named GetNetworkHierarchyNodes in the Go SDK.
public static class GetNetworkHierarchyNodes
{
public static Task<GetNetworkHierarchyNodesResult> InvokeAsync(GetNetworkHierarchyNodesArgs args, InvokeOptions? opts = null)
public static Output<GetNetworkHierarchyNodesResult> Invoke(GetNetworkHierarchyNodesInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetNetworkHierarchyNodesResult> Invoke(GetNetworkHierarchyNodesInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetNetworkHierarchyNodesResult> getNetworkHierarchyNodes(GetNetworkHierarchyNodesArgs args, InvokeOptions options)
public static Output<GetNetworkHierarchyNodesResult> getNetworkHierarchyNodes(GetNetworkHierarchyNodesArgs args, InvokeOptions options)
public static Output<GetNetworkHierarchyNodesResult> getNetworkHierarchyNodes(GetNetworkHierarchyNodesArgs args, InvokeOutputOptions options)
fn::invoke:
function: sdwan:index/getNetworkHierarchyNodes:getNetworkHierarchyNodes
arguments:
# arguments dictionarydata "sdwan_get_network_hierarchy_nodes" "name" {
# arguments
}The following arguments are supported:
- Names List<string>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- Expand
Containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- Names []string
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- Expand
Containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- names list(string)
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- expand_
containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- names List<String>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- expand
Containers Boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- names string[]
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- expand
Containers boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- names Sequence[str]
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- expand_
containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- names List<String>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- expand
Containers Boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
getNetworkHierarchyNodes Result
The following output properties are available:
- Container
Sites Dictionary<string, ImmutableArray<string>> - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - Id string
- The id of the object
- Names List<string>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- Nodes
Dictionary<string, Get
Network Hierarchy Nodes Nodes> - One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - Resolved
Sites List<GetNetwork Hierarchy Nodes Resolved Site> - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - Expand
Containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- Container
Sites map[string][]string - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - Id string
- The id of the object
- Names []string
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- Nodes
map[string]Get
Network Hierarchy Nodes Nodes - One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - Resolved
Sites []GetNetwork Hierarchy Nodes Resolved Site - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - Expand
Containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- container_
sites map(list(string)) - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - id string
- The id of the object
- names list(string)
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- nodes map(object)
- One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - resolved_
sites list(object) - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - expand_
containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- container
Sites Map<String,List<String>> - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - id String
- The id of the object
- names List<String>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- nodes
Map<String,Get
Network Hierarchy Nodes Nodes> - One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - resolved
Sites List<GetNetwork Hierarchy Nodes Resolved Site> - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - expand
Containers Boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- container
Sites {[key: string]: string[]} - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - id string
- The id of the object
- names string[]
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- nodes
{[key: string]: Get
Network Hierarchy Nodes Nodes} - One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - resolved
Sites GetNetwork Hierarchy Nodes Resolved Site[] - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - expand
Containers boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- container_
sites Mapping[str, Sequence[str]] - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - id str
- The id of the object
- names Sequence[str]
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- nodes
Mapping[str, Get
Network Hierarchy Nodes Nodes] - One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - resolved_
sites Sequence[GetNetwork Hierarchy Nodes Resolved Site] - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - expand_
containers bool - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
- container
Sites Map<List<String>> - For each name in
namesthat is a group, region, orGlobal(anything that is not a site), the names of the sites nested underneath it, at any depth. Use this to expand a group per consumer:resolvedSitesis one flat, deduplicated set and cannot say which group a site came from. Site names innamesnever appear as keys. A container with no sites underneath it is present with an empty list - it is not an error here, so the caller decides whether an empty selection is acceptable. - id String
- The id of the object
- names List<String>
- Site, group, or region names to resolve. A name that does not exist in the Network Hierarchy fails the read.
- nodes Map<Property Map>
- One entry per name in
names, keyed by name, whatever the node's type. Always populated, regardless ofexpandContainers. - resolved
Sites List<Property Map> - The resolved, deduplicated set of sites: the sites named in
namesplus every site nested under a named group or region, so the UUID of a group member is available even though the member was not itself requested. Never includes the groups or regions themselves; usenodesfor their ids. Empty whenexpandContainersisfalse. - expand
Containers Boolean - Whether to build the site view: expand each group, region or
Globalinnamesto the sites nested underneath it. Defaults totrue. Whenfalse,resolvedSitesandcontainerSitesare both empty and onlynodesis returned. Usefalsewhen only the nodes' own ids are needed, so that a name likeGlobaldoes not write every site in the hierarchy to state.
Supporting Types
GetNetworkHierarchyNodesNodes
GetNetworkHierarchyNodesResolvedSite
Package Details
- Repository
- sdwan pulumi/pulumi-sdwan
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
sdwanTerraform Provider.
Cisco Catalyst SD-WANpublished on Wednesday, Oct 28, 2026 by Pulumi