1. Registry
  2. Packages
  3. Powerflex Provider
  4. API Docs
  5. getStorageNodeV2
Viewing docs for powerflex 1.9.0
published on Monday, Sep 28, 2026 by dell
Viewing docs for powerflex 1.9.0
published on Monday, Sep 28, 2026 by dell

    This datasource is used to query Storage Nodes from a PowerFlex Gen2 system (5.0+). Storage Nodes are the Gen2 replacement for SDS.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as powerflex from "@pulumi/powerflex";
    
    // Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
    //
    // Licensed under the Mozilla Public License Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //     http://mozilla.org/MPL/2.0/
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
    // List all storage nodes
    const all = powerflex.getStorageNodeV2({});
    export const allStorageNodes = all.then(all => all.storageNodes);
    // Get storage node by ID
    const byId = powerflex.getStorageNodeV2({
        id: "abc123def456",
    });
    // Filter by name
    const byName = powerflex.getStorageNodeV2({
        name: "storage-node-1",
    });
    // Filter by protection domain
    const byPd = powerflex.getStorageNodeV2({
        protectionDomainId: "pd-123456",
    });
    
    import pulumi
    import pulumi_powerflex as powerflex
    
    # Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
    #
    # Licensed under the Mozilla Public License Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://mozilla.org/MPL/2.0/
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    # List all storage nodes
    all = powerflex.get_storage_node_v2()
    pulumi.export("allStorageNodes", all.storage_nodes)
    # Get storage node by ID
    by_id = powerflex.get_storage_node_v2(id="abc123def456")
    # Filter by name
    by_name = powerflex.get_storage_node_v2(name="storage-node-1")
    # Filter by protection domain
    by_pd = powerflex.get_storage_node_v2(protection_domain_id="pd-123456")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerflex/powerflex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
    		//
    		// Licensed under the Mozilla Public License Version 2.0 (the "License");
    		// you may not use this file except in compliance with the License.
    		// You may obtain a copy of the License at
    		//
    		//	http://mozilla.org/MPL/2.0/
    		//
    		// Unless required by applicable law or agreed to in writing, software
    		// distributed under the License is distributed on an "AS IS" BASIS,
    		// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    		// See the License for the specific language governing permissions and
    		// limitations under the License.
    		// List all storage nodes
    		all, err := powerflex.LookupStorageNodeV2(ctx, &powerflex.LookupStorageNodeV2Args{}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("allStorageNodes", all.StorageNodes)
    		// Get storage node by ID
    		_, err = powerflex.LookupStorageNodeV2(ctx, &powerflex.LookupStorageNodeV2Args{
    			Id: pulumi.StringRef("abc123def456"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Filter by name
    		_, err = powerflex.LookupStorageNodeV2(ctx, &powerflex.LookupStorageNodeV2Args{
    			Name: pulumi.StringRef("storage-node-1"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Filter by protection domain
    		_, err = powerflex.LookupStorageNodeV2(ctx, &powerflex.LookupStorageNodeV2Args{
    			ProtectionDomainId: pulumi.StringRef("pd-123456"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Powerflex = Pulumi.Powerflex;
    
    return await Deployment.RunAsync(() => 
    {
        // Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
        //
        // Licensed under the Mozilla Public License Version 2.0 (the "License");
        // you may not use this file except in compliance with the License.
        // You may obtain a copy of the License at
        //
        //     http://mozilla.org/MPL/2.0/
        //
        // Unless required by applicable law or agreed to in writing, software
        // distributed under the License is distributed on an "AS IS" BASIS,
        // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        // See the License for the specific language governing permissions and
        // limitations under the License.
        // List all storage nodes
        var all = Powerflex.GetStorageNodeV2.Invoke();
    
        // Get storage node by ID
        var byId = Powerflex.GetStorageNodeV2.Invoke(new()
        {
            Id = "abc123def456",
        });
    
        // Filter by name
        var byName = Powerflex.GetStorageNodeV2.Invoke(new()
        {
            Name = "storage-node-1",
        });
    
        // Filter by protection domain
        var byPd = Powerflex.GetStorageNodeV2.Invoke(new()
        {
            ProtectionDomainId = "pd-123456",
        });
    
        return new Dictionary<string, object?>
        {
            ["allStorageNodes"] = all.Apply(getStorageNodeV2Result => getStorageNodeV2Result.StorageNodes),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.powerflex.PowerflexFunctions;
    import com.pulumi.powerflex.inputs.GetStorageNodeV2Args;
    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) {
            // Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
            //
            // Licensed under the Mozilla Public License Version 2.0 (the "License");
            // you may not use this file except in compliance with the License.
            // You may obtain a copy of the License at
            //
            //     http://mozilla.org/MPL/2.0/
            //
            // Unless required by applicable law or agreed to in writing, software
            // distributed under the License is distributed on an "AS IS" BASIS,
            // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            // See the License for the specific language governing permissions and
            // limitations under the License.
            // List all storage nodes
            final var all = PowerflexFunctions.getStorageNodeV2(GetStorageNodeV2Args.builder()
                .build());
    
            ctx.export("allStorageNodes", all.storageNodes());
            // Get storage node by ID
            final var byId = PowerflexFunctions.getStorageNodeV2(GetStorageNodeV2Args.builder()
                .id("abc123def456")
                .build());
    
            // Filter by name
            final var byName = PowerflexFunctions.getStorageNodeV2(GetStorageNodeV2Args.builder()
                .name("storage-node-1")
                .build());
    
            // Filter by protection domain
            final var byPd = PowerflexFunctions.getStorageNodeV2(GetStorageNodeV2Args.builder()
                .protectionDomainId("pd-123456")
                .build());
    
        }
    }
    
    variables:
      # Copyright (c) 2024-2026 Dell Inc., or its subsidiaries. All Rights Reserved.
      #
      # Licensed under the Mozilla Public License Version 2.0 (the "License");
      # you may not use this file except in compliance with the License.
      # You may obtain a copy of the License at
      #
      #     http://mozilla.org/MPL/2.0/
      #
      # Unless required by applicable law or agreed to in writing, software
      # distributed under the License is distributed on an "AS IS" BASIS,
      # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      # See the License for the specific language governing permissions and
      # limitations under the License.
    
      # List all storage nodes
      all:
        fn::invoke:
          function: powerflex:getStorageNodeV2
          arguments: {}
      # Get storage node by ID
      byId:
        fn::invoke:
          function: powerflex:getStorageNodeV2
          arguments:
            id: abc123def456
      # Filter by name
      byName:
        fn::invoke:
          function: powerflex:getStorageNodeV2
          arguments:
            name: storage-node-1
      # Filter by protection domain
      byPd:
        fn::invoke:
          function: powerflex:getStorageNodeV2
          arguments:
            protectionDomainId: pd-123456
    outputs:
      allStorageNodes: ${all.storageNodes}
    
    Example coming soon!
    

    Using getStorageNodeV2

    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 getStorageNodeV2(args: GetStorageNodeV2Args, opts?: InvokeOptions): Promise<GetStorageNodeV2Result>
    function getStorageNodeV2Output(args: GetStorageNodeV2OutputArgs, opts?: InvokeOutputOptions): Output<GetStorageNodeV2Result>
    def get_storage_node_v2(id: Optional[str] = None,
                            name: Optional[str] = None,
                            protection_domain_id: Optional[str] = None,
                            opts: Optional[InvokeOptions] = None) -> GetStorageNodeV2Result
    def get_storage_node_v2_output(id: pulumi.Input[Optional[str]] = None,
                            name: pulumi.Input[Optional[str]] = None,
                            protection_domain_id: pulumi.Input[Optional[str]] = None,
                            opts: Optional[InvokeOutputOptions] = None) -> Output[GetStorageNodeV2Result]
    func LookupStorageNodeV2(ctx *Context, args *LookupStorageNodeV2Args, opts ...InvokeOption) (*LookupStorageNodeV2Result, error)
    func LookupStorageNodeV2Output(ctx *Context, args *LookupStorageNodeV2OutputArgs, opts ...InvokeOption) LookupStorageNodeV2ResultOutput

    > Note: This function is named LookupStorageNodeV2 in the Go SDK.

    public static class GetStorageNodeV2 
    {
        public static Task<GetStorageNodeV2Result> InvokeAsync(GetStorageNodeV2Args args, InvokeOptions? opts = null)
        public static Output<GetStorageNodeV2Result> Invoke(GetStorageNodeV2InvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetStorageNodeV2Result> Invoke(GetStorageNodeV2InvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetStorageNodeV2Result> getStorageNodeV2(GetStorageNodeV2Args args, InvokeOptions options)
    public static Output<GetStorageNodeV2Result> getStorageNodeV2(GetStorageNodeV2Args args, InvokeOptions options)
    public static Output<GetStorageNodeV2Result> getStorageNodeV2(GetStorageNodeV2Args args, InvokeOutputOptions options)
    
    fn::invoke:
      function: powerflex:index/getStorageNodeV2:getStorageNodeV2
      arguments:
        # arguments dictionary
    data "powerflex_get_storage_node_v2" "name" {
        # arguments
    }

    The following arguments are supported:

    Id string
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    Name string
    The name of the storage node to query.
    ProtectionDomainId string
    The protection domain ID to filter storage nodes.
    Id string
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    Name string
    The name of the storage node to query.
    ProtectionDomainId string
    The protection domain ID to filter storage nodes.
    id string
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    name string
    The name of the storage node to query.
    protection_domain_id string
    The protection domain ID to filter storage nodes.
    id String
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    name String
    The name of the storage node to query.
    protectionDomainId String
    The protection domain ID to filter storage nodes.
    id string
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    name string
    The name of the storage node to query.
    protectionDomainId string
    The protection domain ID to filter storage nodes.
    id str
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    name str
    The name of the storage node to query.
    protection_domain_id str
    The protection domain ID to filter storage nodes.
    id String
    The ID of the storage node to query. If not specified, all storage nodes are returned.
    name String
    The name of the storage node to query.
    protectionDomainId String
    The protection domain ID to filter storage nodes.

    getStorageNodeV2 Result

    The following output properties are available:

    Id string
    The ID of the storage node.
    StorageNodes List<GetStorageNodeV2StorageNode>
    List of storage nodes with the following attributes:
    Name string
    The name of the storage node.
    ProtectionDomainId string
    The protection domain ID.
    Id string
    The ID of the storage node.
    StorageNodes []GetStorageNodeV2StorageNode
    List of storage nodes with the following attributes:
    Name string
    The name of the storage node.
    ProtectionDomainId string
    The protection domain ID.
    id string
    The ID of the storage node.
    storage_nodes list(object)
    List of storage nodes with the following attributes:
    name string
    The name of the storage node.
    protection_domain_id string
    The protection domain ID.
    id String
    The ID of the storage node.
    storageNodes List<GetStorageNodeV2StorageNode>
    List of storage nodes with the following attributes:
    name String
    The name of the storage node.
    protectionDomainId String
    The protection domain ID.
    id string
    The ID of the storage node.
    storageNodes GetStorageNodeV2StorageNode[]
    List of storage nodes with the following attributes:
    name string
    The name of the storage node.
    protectionDomainId string
    The protection domain ID.
    id str
    The ID of the storage node.
    storage_nodes Sequence[GetStorageNodeV2StorageNode]
    List of storage nodes with the following attributes:
    name str
    The name of the storage node.
    protection_domain_id str
    The protection domain ID.
    id String
    The ID of the storage node.
    storageNodes List<Property Map>
    List of storage nodes with the following attributes:
    name String
    The name of the storage node.
    protectionDomainId String
    The protection domain ID.

    Supporting Types

    GetStorageNodeV2StorageNode

    FaultSetId string
    Fault Set ID.
    Id string
    Storage Node ID.
    MaintenanceState string
    Maintenance state.
    MdmConnectionState string
    MDM connection state.
    MembershipState string
    Membership state.
    Name string
    Storage Node name.
    NumOfDevices double
    Number of devices.
    PerformanceProfile string
    Performance profile.
    Port double
    Port number.
    ProtectionDomainId string
    Protection Domain ID.
    SoftwareVersion string
    Software version.
    State string
    State of the storage node.
    Status string
    Status of the storage node.
    TotalCapacityInKb double
    Total capacity in KB.
    UsedCapacityInKb double
    Used capacity in KB.
    FaultSetId string
    Fault Set ID.
    Id string
    Storage Node ID.
    MaintenanceState string
    Maintenance state.
    MdmConnectionState string
    MDM connection state.
    MembershipState string
    Membership state.
    Name string
    Storage Node name.
    NumOfDevices float64
    Number of devices.
    PerformanceProfile string
    Performance profile.
    Port float64
    Port number.
    ProtectionDomainId string
    Protection Domain ID.
    SoftwareVersion string
    Software version.
    State string
    State of the storage node.
    Status string
    Status of the storage node.
    TotalCapacityInKb float64
    Total capacity in KB.
    UsedCapacityInKb float64
    Used capacity in KB.
    fault_set_id string
    Fault Set ID.
    id string
    Storage Node ID.
    maintenance_state string
    Maintenance state.
    mdm_connection_state string
    MDM connection state.
    membership_state string
    Membership state.
    name string
    Storage Node name.
    num_of_devices number
    Number of devices.
    performance_profile string
    Performance profile.
    port number
    Port number.
    protection_domain_id string
    Protection Domain ID.
    software_version string
    Software version.
    state string
    State of the storage node.
    status string
    Status of the storage node.
    total_capacity_in_kb number
    Total capacity in KB.
    used_capacity_in_kb number
    Used capacity in KB.
    faultSetId String
    Fault Set ID.
    id String
    Storage Node ID.
    maintenanceState String
    Maintenance state.
    mdmConnectionState String
    MDM connection state.
    membershipState String
    Membership state.
    name String
    Storage Node name.
    numOfDevices Double
    Number of devices.
    performanceProfile String
    Performance profile.
    port Double
    Port number.
    protectionDomainId String
    Protection Domain ID.
    softwareVersion String
    Software version.
    state String
    State of the storage node.
    status String
    Status of the storage node.
    totalCapacityInKb Double
    Total capacity in KB.
    usedCapacityInKb Double
    Used capacity in KB.
    faultSetId string
    Fault Set ID.
    id string
    Storage Node ID.
    maintenanceState string
    Maintenance state.
    mdmConnectionState string
    MDM connection state.
    membershipState string
    Membership state.
    name string
    Storage Node name.
    numOfDevices number
    Number of devices.
    performanceProfile string
    Performance profile.
    port number
    Port number.
    protectionDomainId string
    Protection Domain ID.
    softwareVersion string
    Software version.
    state string
    State of the storage node.
    status string
    Status of the storage node.
    totalCapacityInKb number
    Total capacity in KB.
    usedCapacityInKb number
    Used capacity in KB.
    fault_set_id str
    Fault Set ID.
    id str
    Storage Node ID.
    maintenance_state str
    Maintenance state.
    mdm_connection_state str
    MDM connection state.
    membership_state str
    Membership state.
    name str
    Storage Node name.
    num_of_devices float
    Number of devices.
    performance_profile str
    Performance profile.
    port float
    Port number.
    protection_domain_id str
    Protection Domain ID.
    software_version str
    Software version.
    state str
    State of the storage node.
    status str
    Status of the storage node.
    total_capacity_in_kb float
    Total capacity in KB.
    used_capacity_in_kb float
    Used capacity in KB.
    faultSetId String
    Fault Set ID.
    id String
    Storage Node ID.
    maintenanceState String
    Maintenance state.
    mdmConnectionState String
    MDM connection state.
    membershipState String
    Membership state.
    name String
    Storage Node name.
    numOfDevices Number
    Number of devices.
    performanceProfile String
    Performance profile.
    port Number
    Port number.
    protectionDomainId String
    Protection Domain ID.
    softwareVersion String
    Software version.
    state String
    State of the storage node.
    status String
    Status of the storage node.
    totalCapacityInKb Number
    Total capacity in KB.
    usedCapacityInKb Number
    Used capacity in KB.

    Package Details

    Repository
    powerflex dell/terraform-provider-powerflex
    License
    Notes
    This Pulumi package is based on the powerflex Terraform Provider.
    Viewing docs for powerflex 1.9.0
    published on Monday, Sep 28, 2026 by dell

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial