import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Volume resource
 *
 * Uses Azure REST API version 2024-09-01.
 *
 * Other available API versions: 2022-11-01, 2022-11-01-preview, 2023-05-01, 2023-05-01-preview, 2023-07-01, 2023-07-01-preview, 2023-11-01, 2023-11-01-preview, 2024-01-01, 2024-03-01, 2024-03-01-preview, 2024-05-01, 2024-05-01-preview, 2024-07-01, 2024-07-01-preview, 2024-09-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native netapp [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class CapacityPoolVolume extends pulumi.CustomResource {
    /**
     * Get an existing CapacityPoolVolume resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): CapacityPoolVolume;
    /**
     * Returns true if the given object is an instance of CapacityPoolVolume.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is CapacityPoolVolume;
    /**
     * Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel
     */
    readonly actualThroughputMibps: pulumi.Output<number>;
    /**
     * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose
     */
    readonly avsDataStore: pulumi.Output<string | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Resource identifier used to identify the Backup.
     */
    readonly backupId: pulumi.Output<string | undefined>;
    /**
     * Unique Baremetal Tenant Identifier.
     */
    readonly baremetalTenantId: pulumi.Output<string>;
    /**
     * Pool Resource Id used in case of creating a volume through volume group
     */
    readonly capacityPoolResourceId: pulumi.Output<string | undefined>;
    /**
     * When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning.
     */
    readonly cloneProgress: pulumi.Output<number>;
    /**
     * Specifies whether Cool Access(tiering) is enabled for the volume.
     */
    readonly coolAccess: pulumi.Output<boolean | undefined>;
    /**
     * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:
     *  Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.
     *  OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.
     *  Never - No client-driven data is pulled from cool tier to standard storage.
     */
    readonly coolAccessRetrievalPolicy: pulumi.Output<string | undefined>;
    /**
     * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier.
     */
    readonly coolAccessTieringPolicy: pulumi.Output<string | undefined>;
    /**
     * Specifies the number of days after which data that is not accessed by clients will be tiered.
     */
    readonly coolnessPeriod: pulumi.Output<number | undefined>;
    /**
     * A unique file path for the volume. Used when creating mount targets
     */
    readonly creationToken: pulumi.Output<string>;
    /**
     * DataProtection type volumes include an object containing details of the replication
     */
    readonly dataProtection: pulumi.Output<outputs.netapp.VolumePropertiesResponseDataProtection | undefined>;
    /**
     * Data store resource unique identifier
     */
    readonly dataStoreResourceId: pulumi.Output<string[]>;
    /**
     * Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.
     */
    readonly defaultGroupQuotaInKiBs: pulumi.Output<number | undefined>;
    /**
     * Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .
     */
    readonly defaultUserQuotaInKiBs: pulumi.Output<number | undefined>;
    /**
     * If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished.  Defaults to false
     */
    readonly deleteBaseSnapshot: pulumi.Output<boolean | undefined>;
    /**
     * The effective value of the network features type available to the volume, or current effective state of update.
     */
    readonly effectiveNetworkFeatures: pulumi.Output<string>;
    /**
     * Flag indicating whether subvolume operations are enabled on the volume
     */
    readonly enableSubvolumes: pulumi.Output<string | undefined>;
    /**
     * Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01.
     */
    readonly encrypted: pulumi.Output<boolean>;
    /**
     * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault'
     */
    readonly encryptionKeySource: pulumi.Output<string | undefined>;
    /**
     * A unique read-only string that changes whenever the resource is updated.
     */
    readonly etag: pulumi.Output<string>;
    /**
     * Set of export policy rules
     */
    readonly exportPolicy: pulumi.Output<outputs.netapp.VolumePropertiesResponseExportPolicy | undefined>;
    /**
     * Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume.
     */
    readonly fileAccessLogs: pulumi.Output<string>;
    /**
     * Unique FileSystem Identifier.
     */
    readonly fileSystemId: pulumi.Output<string>;
    /**
     * Specifies if default quota is enabled for the volume.
     */
    readonly isDefaultQuotaEnabled: pulumi.Output<boolean | undefined>;
    /**
     * Specifies whether volume is a Large Volume or Regular Volume.
     */
    readonly isLargeVolume: pulumi.Output<boolean | undefined>;
    /**
     * Restoring
     */
    readonly isRestoring: pulumi.Output<boolean | undefined>;
    /**
     * Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later
     */
    readonly kerberosEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'.
     */
    readonly keyVaultPrivateEndpointResourceId: pulumi.Output<string | undefined>;
    /**
     * Specifies whether LDAP is enabled or not for a given NFS volume.
     */
    readonly ldapEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB.
     */
    readonly maximumNumberOfFiles: pulumi.Output<number>;
    /**
     * List of mount targets
     */
    readonly mountTargets: pulumi.Output<outputs.netapp.MountTargetPropertiesResponse[]>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * The original value of the network features type available to the volume at the time it was created.
     */
    readonly networkFeatures: pulumi.Output<string | undefined>;
    /**
     * Network Sibling Set ID for the the group of volumes sharing networking resources.
     */
    readonly networkSiblingSetId: pulumi.Output<string>;
    /**
     * Id of the snapshot or backup that the volume is restored from.
     */
    readonly originatingResourceId: pulumi.Output<string>;
    /**
     * Application specific placement rules for the particular volume
     */
    readonly placementRules: pulumi.Output<outputs.netapp.PlacementKeyValuePairsResponse[] | undefined>;
    /**
     * Set of protocol types, default NFSv3, CIFS for SMB protocol
     */
    readonly protocolTypes: pulumi.Output<string[] | undefined>;
    /**
     * The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides.
     */
    readonly provisionedAvailabilityZone: pulumi.Output<string>;
    /**
     * Azure lifecycle management
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Proximity placement group associated with the volume
     */
    readonly proximityPlacementGroup: pulumi.Output<string | undefined>;
    /**
     * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol
     */
    readonly securityStyle: pulumi.Output<string | undefined>;
    /**
     * The service level of the file system
     */
    readonly serviceLevel: pulumi.Output<string | undefined>;
    /**
     * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume
     */
    readonly smbAccessBasedEnumeration: pulumi.Output<string | undefined>;
    /**
     * Enables continuously available share property for smb volume. Only applicable for SMB volume
     */
    readonly smbContinuouslyAvailable: pulumi.Output<boolean | undefined>;
    /**
     * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later
     */
    readonly smbEncryption: pulumi.Output<boolean | undefined>;
    /**
     * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume
     */
    readonly smbNonBrowsable: pulumi.Output<string | undefined>;
    /**
     * If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true).
     */
    readonly snapshotDirectoryVisible: pulumi.Output<boolean | undefined>;
    /**
     * Resource identifier used to identify the Snapshot.
     */
    readonly snapshotId: pulumi.Output<string | undefined>;
    /**
     * Provides storage to network proximity information for the volume.
     */
    readonly storageToNetworkProximity: pulumi.Output<string>;
    /**
     * The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.netapp.SystemDataResponse>;
    /**
     * T2 network information
     */
    readonly t2Network: pulumi.Output<string>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    readonly throughputMibps: pulumi.Output<number | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.
     */
    readonly unixPermissions: pulumi.Output<string | undefined>;
    /**
     * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB.
     */
    readonly usageThreshold: pulumi.Output<number>;
    /**
     * Volume Group Name
     */
    readonly volumeGroupName: pulumi.Output<string>;
    /**
     * Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log
     */
    readonly volumeSpecName: pulumi.Output<string | undefined>;
    /**
     * What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection
     */
    readonly volumeType: pulumi.Output<string | undefined>;
    /**
     * Availability Zone
     */
    readonly zones: pulumi.Output<string[] | undefined>;
    /**
     * Create a CapacityPoolVolume resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: CapacityPoolVolumeArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a CapacityPoolVolume resource.
 */
export interface CapacityPoolVolumeArgs {
    /**
     * The name of the NetApp account
     */
    accountName: pulumi.Input<string>;
    /**
     * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose
     */
    avsDataStore?: pulumi.Input<string | enums.netapp.AvsDataStore>;
    /**
     * Resource identifier used to identify the Backup.
     */
    backupId?: pulumi.Input<string>;
    /**
     * Pool Resource Id used in case of creating a volume through volume group
     */
    capacityPoolResourceId?: pulumi.Input<string>;
    /**
     * Specifies whether Cool Access(tiering) is enabled for the volume.
     */
    coolAccess?: pulumi.Input<boolean>;
    /**
     * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:
     *  Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.
     *  OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.
     *  Never - No client-driven data is pulled from cool tier to standard storage.
     */
    coolAccessRetrievalPolicy?: pulumi.Input<string | enums.netapp.CoolAccessRetrievalPolicy>;
    /**
     * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier.
     */
    coolAccessTieringPolicy?: pulumi.Input<string | enums.netapp.CoolAccessTieringPolicy>;
    /**
     * Specifies the number of days after which data that is not accessed by clients will be tiered.
     */
    coolnessPeriod?: pulumi.Input<number>;
    /**
     * A unique file path for the volume. Used when creating mount targets
     */
    creationToken: pulumi.Input<string>;
    /**
     * DataProtection type volumes include an object containing details of the replication
     */
    dataProtection?: pulumi.Input<inputs.netapp.VolumePropertiesDataProtectionArgs>;
    /**
     * Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.
     */
    defaultGroupQuotaInKiBs?: pulumi.Input<number>;
    /**
     * Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .
     */
    defaultUserQuotaInKiBs?: pulumi.Input<number>;
    /**
     * If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished.  Defaults to false
     */
    deleteBaseSnapshot?: pulumi.Input<boolean>;
    /**
     * Flag indicating whether subvolume operations are enabled on the volume
     */
    enableSubvolumes?: pulumi.Input<string | enums.netapp.EnableSubvolumes>;
    /**
     * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault'
     */
    encryptionKeySource?: pulumi.Input<string | enums.netapp.EncryptionKeySource>;
    /**
     * Set of export policy rules
     */
    exportPolicy?: pulumi.Input<inputs.netapp.VolumePropertiesExportPolicyArgs>;
    /**
     * Specifies if default quota is enabled for the volume.
     */
    isDefaultQuotaEnabled?: pulumi.Input<boolean>;
    /**
     * Specifies whether volume is a Large Volume or Regular Volume.
     */
    isLargeVolume?: pulumi.Input<boolean>;
    /**
     * Restoring
     */
    isRestoring?: pulumi.Input<boolean>;
    /**
     * Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later
     */
    kerberosEnabled?: pulumi.Input<boolean>;
    /**
     * The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'.
     */
    keyVaultPrivateEndpointResourceId?: pulumi.Input<string>;
    /**
     * Specifies whether LDAP is enabled or not for a given NFS volume.
     */
    ldapEnabled?: pulumi.Input<boolean>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * The original value of the network features type available to the volume at the time it was created.
     */
    networkFeatures?: pulumi.Input<string | enums.netapp.NetworkFeatures>;
    /**
     * Application specific placement rules for the particular volume
     */
    placementRules?: pulumi.Input<pulumi.Input<inputs.netapp.PlacementKeyValuePairsArgs>[]>;
    /**
     * The name of the capacity pool
     */
    poolName: pulumi.Input<string>;
    /**
     * Set of protocol types, default NFSv3, CIFS for SMB protocol
     */
    protocolTypes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Proximity placement group associated with the volume
     */
    proximityPlacementGroup?: pulumi.Input<string>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol
     */
    securityStyle?: pulumi.Input<string | enums.netapp.SecurityStyle>;
    /**
     * The service level of the file system
     */
    serviceLevel?: pulumi.Input<string | enums.netapp.ServiceLevel>;
    /**
     * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume
     */
    smbAccessBasedEnumeration?: pulumi.Input<string | enums.netapp.SmbAccessBasedEnumeration>;
    /**
     * Enables continuously available share property for smb volume. Only applicable for SMB volume
     */
    smbContinuouslyAvailable?: pulumi.Input<boolean>;
    /**
     * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later
     */
    smbEncryption?: pulumi.Input<boolean>;
    /**
     * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume
     */
    smbNonBrowsable?: pulumi.Input<string | enums.netapp.SmbNonBrowsable>;
    /**
     * If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true).
     */
    snapshotDirectoryVisible?: pulumi.Input<boolean>;
    /**
     * Resource identifier used to identify the Snapshot.
     */
    snapshotId?: pulumi.Input<string>;
    /**
     * The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes
     */
    subnetId: pulumi.Input<string>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    throughputMibps?: pulumi.Input<number>;
    /**
     * UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.
     */
    unixPermissions?: pulumi.Input<string>;
    /**
     * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB. For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB. Values expressed in bytes as multiples of 1 GiB.
     */
    usageThreshold: pulumi.Input<number>;
    /**
     * The name of the volume
     */
    volumeName?: pulumi.Input<string>;
    /**
     * Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log
     */
    volumeSpecName?: pulumi.Input<string>;
    /**
     * What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection
     */
    volumeType?: pulumi.Input<string>;
    /**
     * Availability Zone
     */
    zones?: pulumi.Input<pulumi.Input<string>[]>;
}
