import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* Provides a datasource to Lists the Storage Containers present in the system.
*
* ## Example Usage
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* const storage_containers = nutanix.getStorageContainersV2({});
* ```
*
*
* ## Storage Container
*
* The `storageContainers` contains list of Storage Container objects. Each Storage Container object contains the following attributes:
*
* * `extId`: - the storage container uuid
* * `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.
*
* * `containerExtId`: - the storage container ext id
* * `ownerExtId`: - owner ext id
* * `name`: Name of the storage container. Note that the name of Storage Container should be unique per cluster.
* * `clusterExtId`: - ext id for the cluster owning the storage container.
* * `storagePoolExtId`: - extId of the Storage Pool owning the Storage Container instance.
* * `isMarkedForRemoval`: - Indicates if the Storage Container is marked for removal. This field is set when the Storage Container is about to be destroyed.
* * `maxCapacityBytes`: - Maximum physical capacity of the Storage Container in bytes.
* * `logicalExplicitReservedCapacityBytes`: - Total reserved size (in bytes) of the container (set by Admin). This also accounts for the container's replication factor. The actual reserved capacity of the container will be the maximum of explicitReservedCapacity and implicitReservedCapacity.
* * `logicalImplicitReservedCapacityBytes`: - This is the summation of reservations provisioned on all VDisks in the container. The actual reserved capacity of the container will be the maximum of explicitReservedCapacity and implicitReservedCapacity
* * `logicalAdvertisedCapacityBytes`: - Max capacity of the Container as defined by the user.
* * `replicationFactor`: - Replication factor of the Storage Container.
* * `nfsWhitelistAddresses`: - List of NFS addresses which need to be whitelisted.
* * `isNfsWhitelistInherited`: - Indicates whether the NFS whitelist is inherited from global config.
* * `erasureCode`: - Indicates the current status value for Erasure Coding for the Container. available values: `NONE`, `OFF`, `ON`
*
* * `isInlineEcEnabled`: - Indicates whether data written to this container should be inline erasure coded or not. This field is only considered when ErasureCoding is enabled.
* * `hasHigherEcFaultDomainPreference`: - Indicates whether to prefer a higher Erasure Code fault domain.
* * `erasureCodeDelaySecs`: - Delay in performing ErasureCode for the current Container instance.
* * `cacheDeduplication`: - Indicates the current status of Cache Deduplication for the Container. available values: `NONE`, `OFF`, `ON`
* * `onDiskDedup`: - Indicates the current status of Disk Deduplication for the Container. available values: `NONE`, `OFF`, `POST_PROCESS`
* * `isCompressionEnabled`: - Indicates whether the compression is enabled for the Container.
* * `compressionDelaySecs`: - The compression delay in seconds.
* * `isInternal`: - Indicates whether the Container is internal and is managed by Nutanix.
* * `isSoftwareEncryptionEnabled`: - Indicates whether the Container instance has software encryption enabled.
* * `isEncrypted`: - Indicates whether the Container is encrypted or not.
* * `affinityHostExtId`: - Affinity host extId for RF 1 Storage Container.
* * `clusterName`: - Corresponding name of the Cluster owning the Storage Container instance.
*
* ### nfsWhitelistAddresses
*
* * `ipv4`: Reference to address configuration
* * `ipv6`: Reference to address configuration
* * `fqdn`: Reference to address configuration
*
* ### ipv4, ipv6 (Reference to address configuration)
*
* * `value`: value of address
* * `prefixLength`: The prefix length of the network to which this host IPv4/IPv6 address belongs.
*
* ### fqdn (Reference to address configuration)
*
* * `value`: value of fqdn address
*
* See detailed information in [Nutanix List Storage Containers v4](https://developers.nutanix.com/api-reference?namespace=clustermgmt&version=v4.2#tag/StorageContainers/operation/listStorageContainers).
*/
export declare function getStorageContainersV2(args?: GetStorageContainersV2Args, opts?: pulumi.InvokeOptions): Promise;
/**
* A collection of arguments for invoking getStorageContainersV2.
*/
export interface GetStorageContainersV2Args {
apply?: string;
/**
* A URL query parameter that allows clients to filter a collection of resources.
*/
filter?: string;
/**
* 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;
/**
* 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;
/**
* 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 getStorageContainersV2.
*/
export interface GetStorageContainersV2Result {
readonly apply?: string;
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 Containers present in the system.
*/
readonly storageContainers: outputs.GetStorageContainersV2StorageContainer[];
}
/**
* Provides a datasource to Lists the Storage Containers present in the system.
*
* ## Example Usage
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* const storage_containers = nutanix.getStorageContainersV2({});
* ```
*
*
* ## Storage Container
*
* The `storageContainers` contains list of Storage Container objects. Each Storage Container object contains the following attributes:
*
* * `extId`: - the storage container uuid
* * `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.
*
* * `containerExtId`: - the storage container ext id
* * `ownerExtId`: - owner ext id
* * `name`: Name of the storage container. Note that the name of Storage Container should be unique per cluster.
* * `clusterExtId`: - ext id for the cluster owning the storage container.
* * `storagePoolExtId`: - extId of the Storage Pool owning the Storage Container instance.
* * `isMarkedForRemoval`: - Indicates if the Storage Container is marked for removal. This field is set when the Storage Container is about to be destroyed.
* * `maxCapacityBytes`: - Maximum physical capacity of the Storage Container in bytes.
* * `logicalExplicitReservedCapacityBytes`: - Total reserved size (in bytes) of the container (set by Admin). This also accounts for the container's replication factor. The actual reserved capacity of the container will be the maximum of explicitReservedCapacity and implicitReservedCapacity.
* * `logicalImplicitReservedCapacityBytes`: - This is the summation of reservations provisioned on all VDisks in the container. The actual reserved capacity of the container will be the maximum of explicitReservedCapacity and implicitReservedCapacity
* * `logicalAdvertisedCapacityBytes`: - Max capacity of the Container as defined by the user.
* * `replicationFactor`: - Replication factor of the Storage Container.
* * `nfsWhitelistAddresses`: - List of NFS addresses which need to be whitelisted.
* * `isNfsWhitelistInherited`: - Indicates whether the NFS whitelist is inherited from global config.
* * `erasureCode`: - Indicates the current status value for Erasure Coding for the Container. available values: `NONE`, `OFF`, `ON`
*
* * `isInlineEcEnabled`: - Indicates whether data written to this container should be inline erasure coded or not. This field is only considered when ErasureCoding is enabled.
* * `hasHigherEcFaultDomainPreference`: - Indicates whether to prefer a higher Erasure Code fault domain.
* * `erasureCodeDelaySecs`: - Delay in performing ErasureCode for the current Container instance.
* * `cacheDeduplication`: - Indicates the current status of Cache Deduplication for the Container. available values: `NONE`, `OFF`, `ON`
* * `onDiskDedup`: - Indicates the current status of Disk Deduplication for the Container. available values: `NONE`, `OFF`, `POST_PROCESS`
* * `isCompressionEnabled`: - Indicates whether the compression is enabled for the Container.
* * `compressionDelaySecs`: - The compression delay in seconds.
* * `isInternal`: - Indicates whether the Container is internal and is managed by Nutanix.
* * `isSoftwareEncryptionEnabled`: - Indicates whether the Container instance has software encryption enabled.
* * `isEncrypted`: - Indicates whether the Container is encrypted or not.
* * `affinityHostExtId`: - Affinity host extId for RF 1 Storage Container.
* * `clusterName`: - Corresponding name of the Cluster owning the Storage Container instance.
*
* ### nfsWhitelistAddresses
*
* * `ipv4`: Reference to address configuration
* * `ipv6`: Reference to address configuration
* * `fqdn`: Reference to address configuration
*
* ### ipv4, ipv6 (Reference to address configuration)
*
* * `value`: value of address
* * `prefixLength`: The prefix length of the network to which this host IPv4/IPv6 address belongs.
*
* ### fqdn (Reference to address configuration)
*
* * `value`: value of fqdn address
*
* See detailed information in [Nutanix List Storage Containers v4](https://developers.nutanix.com/api-reference?namespace=clustermgmt&version=v4.2#tag/StorageContainers/operation/listStorageContainers).
*/
export declare function getStorageContainersV2Output(args?: GetStorageContainersV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output;
/**
* A collection of arguments for invoking getStorageContainersV2.
*/
export interface GetStorageContainersV2OutputArgs {
apply?: pulumi.Input;
/**
* A URL query parameter that allows clients to filter a collection of resources.
*/
filter?: pulumi.Input;
/**
* 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;
/**
* 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;
/**
* 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=getStorageContainersV2.d.ts.map