import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* Provides a datasource to Lists the Storage Policies present in the system.
*
* ## Example Usage
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* const storage_policies = nutanix.getStoragePoliciesV2({});
* ```
*
*
* ## Storage Policies
*
* The `storagePolicies` contains list of Storage Policy objects. Each Storage Policy object contains the following attributes:
*
* * `extId`:- External identifier of the Storage Policy.
* * `tenantId`:- A globally unique identifier that represents the tenant that owns this entity.
* * `links`:- A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
* * `name`:- Storage Policy name.
* * `categoryExtIds`:- List of external identifiers for Categories included in the Storage Policy.
* * `compressionSpec`:- Compression parameters for entities governed by the Storage Policy.
* * `compressionState`:- Compression state value.
* * `encryptionSpec`:- Encryption parameters for entities governed by the Storage Policy.
* * `encryptionState`:- Encryption state value.
* * `qosSpec`:- Storage Quality of Service (QOS) parameters for the entities.
* * `throttledIops`:- Throttled IOPS value.
* * `faultToleranceSpec`:- Fault Tolerance parameters for the entities.
* * `replicationFactor`:- Replication factor value.
* * `policyType`:- Indicates whether the policy is user-created or system-created. Valid values: `"USER"`, `"SYSTEM"`.
*
* See detailed information in [Nutanix Get Storage Policies v4](https://developers.nutanix.com/api-reference?namespace=datapolicies&version=v4.2#tag/StoragePolicies/operation/listStoragePolicies).
*/
export declare function getStoragePoliciesV2(args?: GetStoragePoliciesV2Args, opts?: pulumi.InvokeOptions): Promise;
/**
* A collection of arguments for invoking getStoragePoliciesV2.
*/
export interface GetStoragePoliciesV2Args {
/**
* - (Optional) A URL query parameter that allows clients to filter a collection of resources.
*/
filter?: string;
/**
* - (Optional) A URL query parameter that specifies the total number of records returned in the result set. Must be a positive integer between 1 and 100. Any number out of this range will lead to a validation error. If the limit is not provided, a default value of 50 records will be returned in the result set.
*/
limit?: number;
/**
* - (Optional) A URL query parameter that allows clients to specify the sort criteria for the returned list of objects. Resources can be sorted in ascending order using asc or descending order using desc. If asc or desc are not specified, the resources will be sorted in ascending order by default.
*/
orderBy?: string;
/**
* - (Optional) A URL query parameter that specifies the page number of the result set. It must be a positive integer between 0 and the maximum number of pages that are available for that resource. Any number out of this range might lead to no results.
*/
page?: number;
/**
* - A URL query parameter that allows clients to request a specific set of properties for each entity or complex type. Expression specified with the $select must conform to the OData V4.01 URL conventions.
*/
select?: string;
}
/**
* A collection of values returned by getStoragePoliciesV2.
*/
export interface GetStoragePoliciesV2Result {
readonly filter?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly limit?: number;
readonly orderBy?: string;
readonly page?: number;
readonly select?: string;
/**
* - Lists the Storage Policies present in the system.
*/
readonly storagePolicies: outputs.GetStoragePoliciesV2StoragePolicy[];
readonly totalAvailableResults: number;
}
/**
* Provides a datasource to Lists the Storage Policies present in the system.
*
* ## Example Usage
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* const storage_policies = nutanix.getStoragePoliciesV2({});
* ```
*
*
* ## Storage Policies
*
* The `storagePolicies` contains list of Storage Policy objects. Each Storage Policy object contains the following attributes:
*
* * `extId`:- External identifier of the Storage Policy.
* * `tenantId`:- A globally unique identifier that represents the tenant that owns this entity.
* * `links`:- A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource.
* * `name`:- Storage Policy name.
* * `categoryExtIds`:- List of external identifiers for Categories included in the Storage Policy.
* * `compressionSpec`:- Compression parameters for entities governed by the Storage Policy.
* * `compressionState`:- Compression state value.
* * `encryptionSpec`:- Encryption parameters for entities governed by the Storage Policy.
* * `encryptionState`:- Encryption state value.
* * `qosSpec`:- Storage Quality of Service (QOS) parameters for the entities.
* * `throttledIops`:- Throttled IOPS value.
* * `faultToleranceSpec`:- Fault Tolerance parameters for the entities.
* * `replicationFactor`:- Replication factor value.
* * `policyType`:- Indicates whether the policy is user-created or system-created. Valid values: `"USER"`, `"SYSTEM"`.
*
* See detailed information in [Nutanix Get Storage Policies v4](https://developers.nutanix.com/api-reference?namespace=datapolicies&version=v4.2#tag/StoragePolicies/operation/listStoragePolicies).
*/
export declare function getStoragePoliciesV2Output(args?: GetStoragePoliciesV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output;
/**
* A collection of arguments for invoking getStoragePoliciesV2.
*/
export interface GetStoragePoliciesV2OutputArgs {
/**
* - (Optional) A URL query parameter that allows clients to filter a collection of resources.
*/
filter?: pulumi.Input;
/**
* - (Optional) A URL query parameter that specifies the total number of records returned in the result set. Must be a positive integer between 1 and 100. Any number out of this range will lead to a validation error. If the limit is not provided, a default value of 50 records will be returned in the result set.
*/
limit?: pulumi.Input;
/**
* - (Optional) A URL query parameter that allows clients to specify the sort criteria for the returned list of objects. Resources can be sorted in ascending order using asc or descending order using desc. If asc or desc are not specified, the resources will be sorted in ascending order by default.
*/
orderBy?: pulumi.Input;
/**
* - (Optional) A URL query parameter that specifies the page number of the result set. It must be a positive integer between 0 and the maximum number of pages that are available for that resource. Any number out of this range might lead to no results.
*/
page?: pulumi.Input;
/**
* - A URL query parameter that allows clients to request a specific set of properties for each entity or complex type. Expression specified with the $select must conform to the OData V4.01 URL conventions.
*/
select?: pulumi.Input;
}
//# sourceMappingURL=getStoragePoliciesV2.d.ts.map