1. Registry
  2. Packages
  3. Cisco Catalyst SD-WAN Provider
  4. API Docs
  5. getNetworkHierarchyNodes
Viewing docs for Cisco Catalyst SD-WAN v0.9.7
published on Wednesday, Oct 28, 2026 by Pulumi
sdwan logo Cisco Catalyst SD-WAN
Viewing docs for Cisco Catalyst SD-WAN v0.9.7
published 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 dictionary
    data "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.
    ExpandContainers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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.
    ExpandContainers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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 Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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.
    expandContainers Boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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.
    expandContainers boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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 Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does 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.
    expandContainers Boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.

    getNetworkHierarchyNodes Result

    The following output properties are available:

    ContainerSites Dictionary<string, ImmutableArray<string>>
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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, GetNetworkHierarchyNodesNodes>
    One entry per name in names, keyed by name, whatever the node's type. Always populated, regardless of expandContainers.
    ResolvedSites List<GetNetworkHierarchyNodesResolvedSite>
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    ExpandContainers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    ContainerSites map[string][]string
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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]GetNetworkHierarchyNodesNodes
    One entry per name in names, keyed by name, whatever the node's type. Always populated, regardless of expandContainers.
    ResolvedSites []GetNetworkHierarchyNodesResolvedSite
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    ExpandContainers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    container_sites map(list(string))
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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 of expandContainers.
    resolved_sites list(object)
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    expand_containers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    containerSites Map<String,List<String>>
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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,GetNetworkHierarchyNodesNodes>
    One entry per name in names, keyed by name, whatever the node's type. Always populated, regardless of expandContainers.
    resolvedSites List<GetNetworkHierarchyNodesResolvedSite>
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    expandContainers Boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    containerSites {[key: string]: string[]}
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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]: GetNetworkHierarchyNodesNodes}
    One entry per name in names, keyed by name, whatever the node's type. Always populated, regardless of expandContainers.
    resolvedSites GetNetworkHierarchyNodesResolvedSite[]
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    expandContainers boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    container_sites Mapping[str, Sequence[str]]
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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, GetNetworkHierarchyNodesNodes]
    One entry per name in names, keyed by name, whatever the node's type. Always populated, regardless of expandContainers.
    resolved_sites Sequence[GetNetworkHierarchyNodesResolvedSite]
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    expand_containers bool
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.
    containerSites Map<List<String>>
    For each name in names that is a group, region, or Global (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: resolvedSites is one flat, deduplicated set and cannot say which group a site came from. Site names in names never 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 of expandContainers.
    resolvedSites List<Property Map>
    The resolved, deduplicated set of sites: the sites named in names plus 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; use nodes for their ids. Empty when expandContainers is false.
    expandContainers Boolean
    Whether to build the site view: expand each group, region or Global in names to the sites nested underneath it. Defaults to true. When false, resolvedSites and containerSites are both empty and only nodes is returned. Use false when only the nodes' own ids are needed, so that a name like Global does not write every site in the hierarchy to state.

    Supporting Types

    GetNetworkHierarchyNodesNodes

    Id string
    The node's Network Hierarchy UUID
    Type string
    The type of node: site, region, group or global
    Id string
    The node's Network Hierarchy UUID
    Type string
    The type of node: site, region, group or global
    id string
    The node's Network Hierarchy UUID
    type string
    The type of node: site, region, group or global
    id String
    The node's Network Hierarchy UUID
    type String
    The type of node: site, region, group or global
    id string
    The node's Network Hierarchy UUID
    type string
    The type of node: site, region, group or global
    id str
    The node's Network Hierarchy UUID
    type str
    The type of node: site, region, group or global
    id String
    The node's Network Hierarchy UUID
    type String
    The type of node: site, region, group or global

    GetNetworkHierarchyNodesResolvedSite

    Id string
    The site's Network Hierarchy node UUID
    Name string
    The site's name
    SiteId int
    The site's numeric site ID
    Id string
    The site's Network Hierarchy node UUID
    Name string
    The site's name
    SiteId int
    The site's numeric site ID
    id string
    The site's Network Hierarchy node UUID
    name string
    The site's name
    site_id number
    The site's numeric site ID
    id String
    The site's Network Hierarchy node UUID
    name String
    The site's name
    siteId Integer
    The site's numeric site ID
    id string
    The site's Network Hierarchy node UUID
    name string
    The site's name
    siteId number
    The site's numeric site ID
    id str
    The site's Network Hierarchy node UUID
    name str
    The site's name
    site_id int
    The site's numeric site ID
    id String
    The site's Network Hierarchy node UUID
    name String
    The site's name
    siteId Number
    The site's numeric site ID

    Package Details

    Repository
    sdwan pulumi/pulumi-sdwan
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the sdwan Terraform Provider.
    sdwan logo Cisco Catalyst SD-WAN
    Viewing docs for Cisco Catalyst SD-WAN v0.9.7
    published on Wednesday, Oct 28, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial