1. Packages
  2. Packages
  3. Powerstore Provider
  4. API Docs
  5. getIoLimitRule
Viewing docs for powerstore 1.3.0
published on Wednesday, Jun 24, 2026 by dell
Viewing docs for powerstore 1.3.0
published on Wednesday, Jun 24, 2026 by dell

    This datasource is used to query I/O limit rule(s) from PowerStore array.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as powerstore from "@pulumi/powerstore";
    
    //Copyright (c) 2025 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.
    // commands to run this tf file : terraform init && pulumi up --auto-approve
    // This datasource reads I/O limit rules either by id or name where user can provide a value to any one of them
    // If it is a empty datasource block , then it will read all the I/O limit rules
    // If id or name is provided then it reads a particular I/O limit rule with that id or name
    // Only one of the attribute can be provided among id and name
    const test1 = powerstore.getIoLimitRule({
        name: "tf_acc_io_limit_rule",
    });
    export const ioLimitRuleAllDetails = test1.then(test1 => test1.ioLimitRules);
    export const ioLimitRuleIDsOnly = test1.then(test1 => test1.ioLimitRules.map(__item => __item.id));
    export const ioLimitRuleIdAndMaxIops = test1.then(test1 => .reduce((__obj, rule) => ({ ...__obj, [rule.name]: {
        id: rule.id,
        maxIops: rule.maxIops,
    } })));
    
    import pulumi
    import pulumi_powerstore as powerstore
    
    #Copyright (c) 2025 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.
    # commands to run this tf file : terraform init && pulumi up --auto-approve
    # This datasource reads I/O limit rules either by id or name where user can provide a value to any one of them
    # If it is a empty datasource block , then it will read all the I/O limit rules
    # If id or name is provided then it reads a particular I/O limit rule with that id or name
    # Only one of the attribute can be provided among id and name
    test1 = powerstore.get_io_limit_rule(name="tf_acc_io_limit_rule")
    pulumi.export("ioLimitRuleAllDetails", test1.io_limit_rules)
    pulumi.export("ioLimitRuleIDsOnly", [__item.id for __item in test1.io_limit_rules])
    pulumi.export("ioLimitRuleIdAndMaxIops", {rule.name: {
        "id": rule.id,
        "maxIops": rule.max_iops,
    } for rule in test1.io_limit_rules})
    
    Example coming soon!
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Powerstore = Pulumi.Powerstore;
    
    return await Deployment.RunAsync(() => 
    {
        //Copyright (c) 2025 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.
        // commands to run this tf file : terraform init && pulumi up --auto-approve
        // This datasource reads I/O limit rules either by id or name where user can provide a value to any one of them
        // If it is a empty datasource block , then it will read all the I/O limit rules
        // If id or name is provided then it reads a particular I/O limit rule with that id or name
        // Only one of the attribute can be provided among id and name
        var test1 = Powerstore.GetIoLimitRule.Invoke(new()
        {
            Name = "tf_acc_io_limit_rule",
        });
    
        return new Dictionary<string, object?>
        {
            ["ioLimitRuleAllDetails"] = test1.Apply(getIoLimitRuleResult => getIoLimitRuleResult.IoLimitRules),
            ["ioLimitRuleIDsOnly"] = test1.Apply(getIoLimitRuleResult => getIoLimitRuleResult.IoLimitRules).Select(__item => __item.Id).ToList(),
            ["ioLimitRuleIdAndMaxIops"] = .ToDictionary(item => {
                var rule = item.Value;
                return rule.Name;
            }, item => {
                var rule = item.Value;
                return 
                {
                    { "id", rule.Id },
                    { "maxIops", rule.MaxIops },
                };
            }),
        };
    });
    
    Example coming soon!
    
    Example coming soon!
    
    Example coming soon!
    

    Using getIoLimitRule

    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 getIoLimitRule(args: GetIoLimitRuleArgs, opts?: InvokeOptions): Promise<GetIoLimitRuleResult>
    function getIoLimitRuleOutput(args: GetIoLimitRuleOutputArgs, opts?: InvokeOptions): Output<GetIoLimitRuleResult>
    def get_io_limit_rule(filter_expression: Optional[str] = None,
                          id: Optional[str] = None,
                          name: Optional[str] = None,
                          type: Optional[str] = None,
                          opts: Optional[InvokeOptions] = None) -> GetIoLimitRuleResult
    def get_io_limit_rule_output(filter_expression: pulumi.Input[Optional[str]] = None,
                          id: pulumi.Input[Optional[str]] = None,
                          name: pulumi.Input[Optional[str]] = None,
                          type: pulumi.Input[Optional[str]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetIoLimitRuleResult]
    func LookupIoLimitRule(ctx *Context, args *LookupIoLimitRuleArgs, opts ...InvokeOption) (*LookupIoLimitRuleResult, error)
    func LookupIoLimitRuleOutput(ctx *Context, args *LookupIoLimitRuleOutputArgs, opts ...InvokeOption) LookupIoLimitRuleResultOutput

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

    public static class GetIoLimitRule 
    {
        public static Task<GetIoLimitRuleResult> InvokeAsync(GetIoLimitRuleArgs args, InvokeOptions? opts = null)
        public static Output<GetIoLimitRuleResult> Invoke(GetIoLimitRuleInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetIoLimitRuleResult> getIoLimitRule(GetIoLimitRuleArgs args, InvokeOptions options)
    public static Output<GetIoLimitRuleResult> getIoLimitRule(GetIoLimitRuleArgs args, InvokeOptions options)
    
    fn::invoke:
      function: powerstore:index/getIoLimitRule:getIoLimitRule
      arguments:
        # arguments dictionary
    data "powerstore_getiolimitrule" "name" {
        # arguments
    }

    The following arguments are supported:

    FilterExpression string
    Filter expression to query I/O limit rules.
    Id string
    Unique identifier of the I/O limit rule.
    Name string
    Name of the I/O limit rule.
    Type string
    Type of the I/O limit rule (Absolute or Density).
    FilterExpression string
    Filter expression to query I/O limit rules.
    Id string
    Unique identifier of the I/O limit rule.
    Name string
    Name of the I/O limit rule.
    Type string
    Type of the I/O limit rule (Absolute or Density).
    filter_expression string
    Filter expression to query I/O limit rules.
    id string
    Unique identifier of the I/O limit rule.
    name string
    Name of the I/O limit rule.
    type string
    Type of the I/O limit rule (Absolute or Density).
    filterExpression String
    Filter expression to query I/O limit rules.
    id String
    Unique identifier of the I/O limit rule.
    name String
    Name of the I/O limit rule.
    type String
    Type of the I/O limit rule (Absolute or Density).
    filterExpression string
    Filter expression to query I/O limit rules.
    id string
    Unique identifier of the I/O limit rule.
    name string
    Name of the I/O limit rule.
    type string
    Type of the I/O limit rule (Absolute or Density).
    filter_expression str
    Filter expression to query I/O limit rules.
    id str
    Unique identifier of the I/O limit rule.
    name str
    Name of the I/O limit rule.
    type str
    Type of the I/O limit rule (Absolute or Density).
    filterExpression String
    Filter expression to query I/O limit rules.
    id String
    Unique identifier of the I/O limit rule.
    name String
    Name of the I/O limit rule.
    type String
    Type of the I/O limit rule (Absolute or Density).

    getIoLimitRule Result

    The following output properties are available:

    Id string
    Unique identifier of the I/O limit rule.
    IoLimitRules List<GetIoLimitRuleIoLimitRule>
    List of I/O limit rules.
    Name string
    Name of the I/O limit rule.
    FilterExpression string
    Filter expression to query I/O limit rules.
    Type string
    Type of the I/O limit rule (Absolute or Density).
    Id string
    Unique identifier of the I/O limit rule.
    IoLimitRules []GetIoLimitRuleIoLimitRule
    List of I/O limit rules.
    Name string
    Name of the I/O limit rule.
    FilterExpression string
    Filter expression to query I/O limit rules.
    Type string
    Type of the I/O limit rule (Absolute or Density).
    id string
    Unique identifier of the I/O limit rule.
    io_limit_rules list(object)
    List of I/O limit rules.
    name string
    Name of the I/O limit rule.
    filter_expression string
    Filter expression to query I/O limit rules.
    type string
    Type of the I/O limit rule (Absolute or Density).
    id String
    Unique identifier of the I/O limit rule.
    ioLimitRules List<GetIoLimitRuleIoLimitRule>
    List of I/O limit rules.
    name String
    Name of the I/O limit rule.
    filterExpression String
    Filter expression to query I/O limit rules.
    type String
    Type of the I/O limit rule (Absolute or Density).
    id string
    Unique identifier of the I/O limit rule.
    ioLimitRules GetIoLimitRuleIoLimitRule[]
    List of I/O limit rules.
    name string
    Name of the I/O limit rule.
    filterExpression string
    Filter expression to query I/O limit rules.
    type string
    Type of the I/O limit rule (Absolute or Density).
    id str
    Unique identifier of the I/O limit rule.
    io_limit_rules Sequence[GetIoLimitRuleIoLimitRule]
    List of I/O limit rules.
    name str
    Name of the I/O limit rule.
    filter_expression str
    Filter expression to query I/O limit rules.
    type str
    Type of the I/O limit rule (Absolute or Density).
    id String
    Unique identifier of the I/O limit rule.
    ioLimitRules List<Property Map>
    List of I/O limit rules.
    name String
    Name of the I/O limit rule.
    filterExpression String
    Filter expression to query I/O limit rules.
    type String
    Type of the I/O limit rule (Absolute or Density).

    Supporting Types

    GetIoLimitRuleIoLimitRule

    BurstPercentage double
    Percentage indicating by how much the limit may be exceeded.
    Id string
    Unique identifier of the I/O limit rule.
    MaxBw double
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    MaxIops double
    Maximum I/O operations in IOPS or IOPS per GB.
    Name string
    Name of the I/O limit rule.
    Type string
    Type of bandwidth limit (Absolute or Density).
    TypeL10n string
    Localized message string corresponding to type.
    BurstPercentage float64
    Percentage indicating by how much the limit may be exceeded.
    Id string
    Unique identifier of the I/O limit rule.
    MaxBw float64
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    MaxIops float64
    Maximum I/O operations in IOPS or IOPS per GB.
    Name string
    Name of the I/O limit rule.
    Type string
    Type of bandwidth limit (Absolute or Density).
    TypeL10n string
    Localized message string corresponding to type.
    burst_percentage number
    Percentage indicating by how much the limit may be exceeded.
    id string
    Unique identifier of the I/O limit rule.
    max_bw number
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    max_iops number
    Maximum I/O operations in IOPS or IOPS per GB.
    name string
    Name of the I/O limit rule.
    type string
    Type of bandwidth limit (Absolute or Density).
    type_l10n string
    Localized message string corresponding to type.
    burstPercentage Double
    Percentage indicating by how much the limit may be exceeded.
    id String
    Unique identifier of the I/O limit rule.
    maxBw Double
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    maxIops Double
    Maximum I/O operations in IOPS or IOPS per GB.
    name String
    Name of the I/O limit rule.
    type String
    Type of bandwidth limit (Absolute or Density).
    typeL10n String
    Localized message string corresponding to type.
    burstPercentage number
    Percentage indicating by how much the limit may be exceeded.
    id string
    Unique identifier of the I/O limit rule.
    maxBw number
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    maxIops number
    Maximum I/O operations in IOPS or IOPS per GB.
    name string
    Name of the I/O limit rule.
    type string
    Type of bandwidth limit (Absolute or Density).
    typeL10n string
    Localized message string corresponding to type.
    burst_percentage float
    Percentage indicating by how much the limit may be exceeded.
    id str
    Unique identifier of the I/O limit rule.
    max_bw float
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    max_iops float
    Maximum I/O operations in IOPS or IOPS per GB.
    name str
    Name of the I/O limit rule.
    type str
    Type of bandwidth limit (Absolute or Density).
    type_l10n str
    Localized message string corresponding to type.
    burstPercentage Number
    Percentage indicating by how much the limit may be exceeded.
    id String
    Unique identifier of the I/O limit rule.
    maxBw Number
    Maximum I/O bandwidth in Kilobytes per second or Kilobytes per second / per GB.
    maxIops Number
    Maximum I/O operations in IOPS or IOPS per GB.
    name String
    Name of the I/O limit rule.
    type String
    Type of bandwidth limit (Absolute or Density).
    typeL10n String
    Localized message string corresponding to type.

    Package Details

    Repository
    powerstore dell/terraform-provider-powerstore
    License
    Notes
    This Pulumi package is based on the powerstore Terraform Provider.
    Viewing docs for powerstore 1.3.0
    published on Wednesday, Jun 24, 2026 by dell

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial