Class VolumeProperties

java.lang.Object
com.azure.resourcemanager.netapp.fluent.models.VolumeProperties

public final class VolumeProperties extends Object
Volume properties.
  • Constructor Details

    • VolumeProperties

      public VolumeProperties()
  • Method Details

    • fileSystemId

      public String fileSystemId()
      Get the fileSystemId property: FileSystem ID

      Unique FileSystem Identifier.

      Returns:
      the fileSystemId value.
    • creationToken

      public String creationToken()
      Get the creationToken property: Creation Token or File Path

      A unique file path for the volume. Used when creating mount targets.

      Returns:
      the creationToken value.
    • withCreationToken

      public VolumeProperties withCreationToken(String creationToken)
      Set the creationToken property: Creation Token or File Path

      A unique file path for the volume. Used when creating mount targets.

      Parameters:
      creationToken - the creationToken value to set.
      Returns:
      the VolumeProperties object itself.
    • serviceLevel

      public ServiceLevel serviceLevel()
      Get the serviceLevel property: serviceLevel

      The service level of the file system.

      Returns:
      the serviceLevel value.
    • withServiceLevel

      public VolumeProperties withServiceLevel(ServiceLevel serviceLevel)
      Set the serviceLevel property: serviceLevel

      The service level of the file system.

      Parameters:
      serviceLevel - the serviceLevel value to set.
      Returns:
      the VolumeProperties object itself.
    • usageThreshold

      public long usageThreshold()
      Get the usageThreshold property: usageThreshold

      Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 500 GiB. Upper limit is 100TiB, 500Tib for LargeVolume. Specified in bytes.

      Returns:
      the usageThreshold value.
    • withUsageThreshold

      public VolumeProperties withUsageThreshold(long usageThreshold)
      Set the usageThreshold property: usageThreshold

      Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 500 GiB. Upper limit is 100TiB, 500Tib for LargeVolume. Specified in bytes.

      Parameters:
      usageThreshold - the usageThreshold value to set.
      Returns:
      the VolumeProperties object itself.
    • exportPolicy

      public VolumePropertiesExportPolicy exportPolicy()
      Get the exportPolicy property: exportPolicy

      Set of export policy rules.

      Returns:
      the exportPolicy value.
    • withExportPolicy

      public VolumeProperties withExportPolicy(VolumePropertiesExportPolicy exportPolicy)
      Set the exportPolicy property: exportPolicy

      Set of export policy rules.

      Parameters:
      exportPolicy - the exportPolicy value to set.
      Returns:
      the VolumeProperties object itself.
    • protocolTypes

      public List<String> protocolTypes()
      Get the protocolTypes property: protocolTypes

      Set of protocol types, default NFSv3, CIFS for SMB protocol.

      Returns:
      the protocolTypes value.
    • withProtocolTypes

      public VolumeProperties withProtocolTypes(List<String> protocolTypes)
      Set the protocolTypes property: protocolTypes

      Set of protocol types, default NFSv3, CIFS for SMB protocol.

      Parameters:
      protocolTypes - the protocolTypes value to set.
      Returns:
      the VolumeProperties object itself.
    • provisioningState

      public String provisioningState()
      Get the provisioningState property: Azure lifecycle management.
      Returns:
      the provisioningState value.
    • snapshotId

      public String snapshotId()
      Get the snapshotId property: Snapshot ID

      UUID v4 or resource identifier used to identify the Snapshot.

      Returns:
      the snapshotId value.
    • withSnapshotId

      public VolumeProperties withSnapshotId(String snapshotId)
      Set the snapshotId property: Snapshot ID

      UUID v4 or resource identifier used to identify the Snapshot.

      Parameters:
      snapshotId - the snapshotId value to set.
      Returns:
      the VolumeProperties object itself.
    • deleteBaseSnapshot

      public Boolean deleteBaseSnapshot()
      Get the deleteBaseSnapshot property: If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false.
      Returns:
      the deleteBaseSnapshot value.
    • withDeleteBaseSnapshot

      public VolumeProperties withDeleteBaseSnapshot(Boolean deleteBaseSnapshot)
      Set the deleteBaseSnapshot property: If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false.
      Parameters:
      deleteBaseSnapshot - the deleteBaseSnapshot value to set.
      Returns:
      the VolumeProperties object itself.
    • backupId

      public String backupId()
      Get the backupId property: Backup ID

      UUID v4 or resource identifier used to identify the Backup.

      Returns:
      the backupId value.
    • withBackupId

      public VolumeProperties withBackupId(String backupId)
      Set the backupId property: Backup ID

      UUID v4 or resource identifier used to identify the Backup.

      Parameters:
      backupId - the backupId value to set.
      Returns:
      the VolumeProperties object itself.
    • baremetalTenantId

      public String baremetalTenantId()
      Get the baremetalTenantId property: Baremetal Tenant ID

      Unique Baremetal Tenant Identifier.

      Returns:
      the baremetalTenantId value.
    • subnetId

      public String subnetId()
      Get the subnetId property: The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes.
      Returns:
      the subnetId value.
    • withSubnetId

      public VolumeProperties withSubnetId(String subnetId)
      Set the subnetId property: The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes.
      Parameters:
      subnetId - the subnetId value to set.
      Returns:
      the VolumeProperties object itself.
    • networkFeatures

      public NetworkFeatures networkFeatures()
      Get the networkFeatures property: Network features

      Basic network, or Standard features available to the volume.

      Returns:
      the networkFeatures value.
    • withNetworkFeatures

      public VolumeProperties withNetworkFeatures(NetworkFeatures networkFeatures)
      Set the networkFeatures property: Network features

      Basic network, or Standard features available to the volume.

      Parameters:
      networkFeatures - the networkFeatures value to set.
      Returns:
      the VolumeProperties object itself.
    • networkSiblingSetId

      public String networkSiblingSetId()
      Get the networkSiblingSetId property: Network Sibling Set ID

      Network Sibling Set ID for the the group of volumes sharing networking resources.

      Returns:
      the networkSiblingSetId value.
    • storageToNetworkProximity

      public VolumeStorageToNetworkProximity storageToNetworkProximity()
      Get the storageToNetworkProximity property: Storage to Network Proximity

      Provides storage to network proximity information for the volume.

      Returns:
      the storageToNetworkProximity value.
    • mountTargets

      public List<MountTargetProperties> mountTargets()
      Get the mountTargets property: mountTargets

      List of mount targets.

      Returns:
      the mountTargets value.
    • volumeType

      public String volumeType()
      Get the volumeType property: What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection.
      Returns:
      the volumeType value.
    • withVolumeType

      public VolumeProperties withVolumeType(String volumeType)
      Set the volumeType property: What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection.
      Parameters:
      volumeType - the volumeType value to set.
      Returns:
      the VolumeProperties object itself.
    • dataProtection

      public VolumePropertiesDataProtection dataProtection()
      Get the dataProtection property: DataProtection

      DataProtection type volumes include an object containing details of the replication.

      Returns:
      the dataProtection value.
    • withDataProtection

      public VolumeProperties withDataProtection(VolumePropertiesDataProtection dataProtection)
      Set the dataProtection property: DataProtection

      DataProtection type volumes include an object containing details of the replication.

      Parameters:
      dataProtection - the dataProtection value to set.
      Returns:
      the VolumeProperties object itself.
    • isRestoring

      public Boolean isRestoring()
      Get the isRestoring property: Restoring.
      Returns:
      the isRestoring value.
    • withIsRestoring

      public VolumeProperties withIsRestoring(Boolean isRestoring)
      Set the isRestoring property: Restoring.
      Parameters:
      isRestoring - the isRestoring value to set.
      Returns:
      the VolumeProperties object itself.
    • snapshotDirectoryVisible

      public Boolean snapshotDirectoryVisible()
      Get the snapshotDirectoryVisible property: If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (default to true).
      Returns:
      the snapshotDirectoryVisible value.
    • withSnapshotDirectoryVisible

      public VolumeProperties withSnapshotDirectoryVisible(Boolean snapshotDirectoryVisible)
      Set the snapshotDirectoryVisible property: If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (default to true).
      Parameters:
      snapshotDirectoryVisible - the snapshotDirectoryVisible value to set.
      Returns:
      the VolumeProperties object itself.
    • kerberosEnabled

      public Boolean kerberosEnabled()
      Get the kerberosEnabled property: Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later.
      Returns:
      the kerberosEnabled value.
    • withKerberosEnabled

      public VolumeProperties withKerberosEnabled(Boolean kerberosEnabled)
      Set the kerberosEnabled property: Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later.
      Parameters:
      kerberosEnabled - the kerberosEnabled value to set.
      Returns:
      the VolumeProperties object itself.
    • securityStyle

      public SecurityStyle securityStyle()
      Get the securityStyle property: The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol.
      Returns:
      the securityStyle value.
    • withSecurityStyle

      public VolumeProperties withSecurityStyle(SecurityStyle securityStyle)
      Set the securityStyle property: The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol.
      Parameters:
      securityStyle - the securityStyle value to set.
      Returns:
      the VolumeProperties object itself.
    • smbEncryption

      public Boolean smbEncryption()
      Get the smbEncryption property: Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later.
      Returns:
      the smbEncryption value.
    • withSmbEncryption

      public VolumeProperties withSmbEncryption(Boolean smbEncryption)
      Set the smbEncryption property: Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later.
      Parameters:
      smbEncryption - the smbEncryption value to set.
      Returns:
      the VolumeProperties object itself.
    • smbAccessBasedEnumeration

      public SmbAccessBasedEnumeration smbAccessBasedEnumeration()
      Get the smbAccessBasedEnumeration property: smbAccessBasedEnumeration

      Enables access based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume.

      Returns:
      the smbAccessBasedEnumeration value.
    • withSmbAccessBasedEnumeration

      public VolumeProperties withSmbAccessBasedEnumeration(SmbAccessBasedEnumeration smbAccessBasedEnumeration)
      Set the smbAccessBasedEnumeration property: smbAccessBasedEnumeration

      Enables access based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume.

      Parameters:
      smbAccessBasedEnumeration - the smbAccessBasedEnumeration value to set.
      Returns:
      the VolumeProperties object itself.
    • smbNonBrowsable

      public SmbNonBrowsable smbNonBrowsable()
      Get the smbNonBrowsable property: smbNonBrowsable

      Enables non browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume.

      Returns:
      the smbNonBrowsable value.
    • withSmbNonBrowsable

      public VolumeProperties withSmbNonBrowsable(SmbNonBrowsable smbNonBrowsable)
      Set the smbNonBrowsable property: smbNonBrowsable

      Enables non browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume.

      Parameters:
      smbNonBrowsable - the smbNonBrowsable value to set.
      Returns:
      the VolumeProperties object itself.
    • smbContinuouslyAvailable

      public Boolean smbContinuouslyAvailable()
      Get the smbContinuouslyAvailable property: Enables continuously available share property for smb volume. Only applicable for SMB volume.
      Returns:
      the smbContinuouslyAvailable value.
    • withSmbContinuouslyAvailable

      public VolumeProperties withSmbContinuouslyAvailable(Boolean smbContinuouslyAvailable)
      Set the smbContinuouslyAvailable property: Enables continuously available share property for smb volume. Only applicable for SMB volume.
      Parameters:
      smbContinuouslyAvailable - the smbContinuouslyAvailable value to set.
      Returns:
      the VolumeProperties object itself.
    • throughputMibps

      public Float throughputMibps()
      Get the throughputMibps property: Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume.
      Returns:
      the throughputMibps value.
    • withThroughputMibps

      public VolumeProperties withThroughputMibps(Float throughputMibps)
      Set the throughputMibps property: Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume.
      Parameters:
      throughputMibps - the throughputMibps value to set.
      Returns:
      the VolumeProperties object itself.
    • encryptionKeySource

      public EncryptionKeySource encryptionKeySource()
      Get the encryptionKeySource property: 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'.
      Returns:
      the encryptionKeySource value.
    • withEncryptionKeySource

      public VolumeProperties withEncryptionKeySource(EncryptionKeySource encryptionKeySource)
      Set the encryptionKeySource property: 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'.
      Parameters:
      encryptionKeySource - the encryptionKeySource value to set.
      Returns:
      the VolumeProperties object itself.
    • keyVaultPrivateEndpointResourceId

      public String keyVaultPrivateEndpointResourceId()
      Get the keyVaultPrivateEndpointResourceId property: The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'.
      Returns:
      the keyVaultPrivateEndpointResourceId value.
    • withKeyVaultPrivateEndpointResourceId

      public VolumeProperties withKeyVaultPrivateEndpointResourceId(String keyVaultPrivateEndpointResourceId)
      Set the keyVaultPrivateEndpointResourceId property: The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'.
      Parameters:
      keyVaultPrivateEndpointResourceId - the keyVaultPrivateEndpointResourceId value to set.
      Returns:
      the VolumeProperties object itself.
    • ldapEnabled

      public Boolean ldapEnabled()
      Get the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume.
      Returns:
      the ldapEnabled value.
    • withLdapEnabled

      public VolumeProperties withLdapEnabled(Boolean ldapEnabled)
      Set the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume.
      Parameters:
      ldapEnabled - the ldapEnabled value to set.
      Returns:
      the VolumeProperties object itself.
    • coolAccess

      public Boolean coolAccess()
      Get the coolAccess property: Specifies whether Cool Access(tiering) is enabled for the volume.
      Returns:
      the coolAccess value.
    • withCoolAccess

      public VolumeProperties withCoolAccess(Boolean coolAccess)
      Set the coolAccess property: Specifies whether Cool Access(tiering) is enabled for the volume.
      Parameters:
      coolAccess - the coolAccess value to set.
      Returns:
      the VolumeProperties object itself.
    • coolnessPeriod

      public Integer coolnessPeriod()
      Get the coolnessPeriod property: Specifies the number of days after which data that is not accessed by clients will be tiered.
      Returns:
      the coolnessPeriod value.
    • withCoolnessPeriod

      public VolumeProperties withCoolnessPeriod(Integer coolnessPeriod)
      Set the coolnessPeriod property: Specifies the number of days after which data that is not accessed by clients will be tiered.
      Parameters:
      coolnessPeriod - the coolnessPeriod value to set.
      Returns:
      the VolumeProperties object itself.
    • unixPermissions

      public String unixPermissions()
      Get the unixPermissions property: 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.
      Returns:
      the unixPermissions value.
    • withUnixPermissions

      public VolumeProperties withUnixPermissions(String unixPermissions)
      Set the unixPermissions property: 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.
      Parameters:
      unixPermissions - the unixPermissions value to set.
      Returns:
      the VolumeProperties object itself.
    • cloneProgress

      public Integer cloneProgress()
      Get the cloneProgress property: 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.
      Returns:
      the cloneProgress value.
    • avsDataStore

      public AvsDataStore avsDataStore()
      Get the avsDataStore property: avsDataStore

      Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose.

      Returns:
      the avsDataStore value.
    • withAvsDataStore

      public VolumeProperties withAvsDataStore(AvsDataStore avsDataStore)
      Set the avsDataStore property: avsDataStore

      Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose.

      Parameters:
      avsDataStore - the avsDataStore value to set.
      Returns:
      the VolumeProperties object itself.
    • isDefaultQuotaEnabled

      public Boolean isDefaultQuotaEnabled()
      Get the isDefaultQuotaEnabled property: Specifies if default quota is enabled for the volume.
      Returns:
      the isDefaultQuotaEnabled value.
    • withIsDefaultQuotaEnabled

      public VolumeProperties withIsDefaultQuotaEnabled(Boolean isDefaultQuotaEnabled)
      Set the isDefaultQuotaEnabled property: Specifies if default quota is enabled for the volume.
      Parameters:
      isDefaultQuotaEnabled - the isDefaultQuotaEnabled value to set.
      Returns:
      the VolumeProperties object itself.
    • defaultUserQuotaInKiBs

      public Long defaultUserQuotaInKiBs()
      Get the defaultUserQuotaInKiBs property: Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .
      Returns:
      the defaultUserQuotaInKiBs value.
    • withDefaultUserQuotaInKiBs

      public VolumeProperties withDefaultUserQuotaInKiBs(Long defaultUserQuotaInKiBs)
      Set the defaultUserQuotaInKiBs property: Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .
      Parameters:
      defaultUserQuotaInKiBs - the defaultUserQuotaInKiBs value to set.
      Returns:
      the VolumeProperties object itself.
    • defaultGroupQuotaInKiBs

      public Long defaultGroupQuotaInKiBs()
      Get the defaultGroupQuotaInKiBs property: Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.
      Returns:
      the defaultGroupQuotaInKiBs value.
    • withDefaultGroupQuotaInKiBs

      public VolumeProperties withDefaultGroupQuotaInKiBs(Long defaultGroupQuotaInKiBs)
      Set the defaultGroupQuotaInKiBs property: Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.
      Parameters:
      defaultGroupQuotaInKiBs - the defaultGroupQuotaInKiBs value to set.
      Returns:
      the VolumeProperties object itself.
    • maximumNumberOfFiles

      public Long maximumNumberOfFiles()
      Get the maximumNumberOfFiles property: 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.
      Returns:
      the maximumNumberOfFiles value.
    • volumeGroupName

      public String volumeGroupName()
      Get the volumeGroupName property: Volume Group Name.
      Returns:
      the volumeGroupName value.
    • capacityPoolResourceId

      public String capacityPoolResourceId()
      Get the capacityPoolResourceId property: Pool Resource Id used in case of creating a volume through volume group.
      Returns:
      the capacityPoolResourceId value.
    • withCapacityPoolResourceId

      public VolumeProperties withCapacityPoolResourceId(String capacityPoolResourceId)
      Set the capacityPoolResourceId property: Pool Resource Id used in case of creating a volume through volume group.
      Parameters:
      capacityPoolResourceId - the capacityPoolResourceId value to set.
      Returns:
      the VolumeProperties object itself.
    • proximityPlacementGroup

      public String proximityPlacementGroup()
      Get the proximityPlacementGroup property: Proximity placement group associated with the volume.
      Returns:
      the proximityPlacementGroup value.
    • withProximityPlacementGroup

      public VolumeProperties withProximityPlacementGroup(String proximityPlacementGroup)
      Set the proximityPlacementGroup property: Proximity placement group associated with the volume.
      Parameters:
      proximityPlacementGroup - the proximityPlacementGroup value to set.
      Returns:
      the VolumeProperties object itself.
    • t2Network

      public String t2Network()
      Get the t2Network property: T2 network information.
      Returns:
      the t2Network value.
    • volumeSpecName

      public String volumeSpecName()
      Get the volumeSpecName property: Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log.
      Returns:
      the volumeSpecName value.
    • withVolumeSpecName

      public VolumeProperties withVolumeSpecName(String volumeSpecName)
      Set the volumeSpecName property: Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log.
      Parameters:
      volumeSpecName - the volumeSpecName value to set.
      Returns:
      the VolumeProperties object itself.
    • encrypted

      public Boolean encrypted()
      Get the encrypted property: Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01.
      Returns:
      the encrypted value.
    • placementRules

      public List<PlacementKeyValuePairs> placementRules()
      Get the placementRules property: Volume placement rules

      Application specific placement rules for the particular volume.

      Returns:
      the placementRules value.
    • withPlacementRules

      public VolumeProperties withPlacementRules(List<PlacementKeyValuePairs> placementRules)
      Set the placementRules property: Volume placement rules

      Application specific placement rules for the particular volume.

      Parameters:
      placementRules - the placementRules value to set.
      Returns:
      the VolumeProperties object itself.
    • enableSubvolumes

      public EnableSubvolumes enableSubvolumes()
      Get the enableSubvolumes property: Flag indicating whether subvolume operations are enabled on the volume.
      Returns:
      the enableSubvolumes value.
    • withEnableSubvolumes

      public VolumeProperties withEnableSubvolumes(EnableSubvolumes enableSubvolumes)
      Set the enableSubvolumes property: Flag indicating whether subvolume operations are enabled on the volume.
      Parameters:
      enableSubvolumes - the enableSubvolumes value to set.
      Returns:
      the VolumeProperties object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.