Class DiskProperties

java.lang.Object
com.azure.resourcemanager.compute.fluent.models.DiskProperties

public final class DiskProperties extends Object
Disk resource properties.
  • Constructor Details

    • DiskProperties

      public DiskProperties()
      Creates an instance of DiskProperties class.
  • Method Details

    • timeCreated

      public OffsetDateTime timeCreated()
      Get the timeCreated property: The time when the disk was created.
      Returns:
      the timeCreated value.
    • osType

      public OperatingSystemTypes osType()
      Get the osType property: The Operating System type.
      Returns:
      the osType value.
    • withOsType

      public DiskProperties withOsType(OperatingSystemTypes osType)
      Set the osType property: The Operating System type.
      Parameters:
      osType - the osType value to set.
      Returns:
      the DiskProperties object itself.
    • hyperVGeneration

      public HyperVGeneration hyperVGeneration()
      Get the hyperVGeneration property: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
      Returns:
      the hyperVGeneration value.
    • withHyperVGeneration

      public DiskProperties withHyperVGeneration(HyperVGeneration hyperVGeneration)
      Set the hyperVGeneration property: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
      Parameters:
      hyperVGeneration - the hyperVGeneration value to set.
      Returns:
      the DiskProperties object itself.
    • purchasePlan

      public PurchasePlanAutoGenerated purchasePlan()
      Get the purchasePlan property: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}.
      Returns:
      the purchasePlan value.
    • withPurchasePlan

      public DiskProperties withPurchasePlan(PurchasePlanAutoGenerated purchasePlan)
      Set the purchasePlan property: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}.
      Parameters:
      purchasePlan - the purchasePlan value to set.
      Returns:
      the DiskProperties object itself.
    • supportedCapabilities

      public SupportedCapabilities supportedCapabilities()
      Get the supportedCapabilities property: List of supported capabilities for the image from which the OS disk was created.
      Returns:
      the supportedCapabilities value.
    • withSupportedCapabilities

      public DiskProperties withSupportedCapabilities(SupportedCapabilities supportedCapabilities)
      Set the supportedCapabilities property: List of supported capabilities for the image from which the OS disk was created.
      Parameters:
      supportedCapabilities - the supportedCapabilities value to set.
      Returns:
      the DiskProperties object itself.
    • creationData

      public CreationData creationData()
      Get the creationData property: Disk source information. CreationData information cannot be changed after the disk has been created.
      Returns:
      the creationData value.
    • withCreationData

      public DiskProperties withCreationData(CreationData creationData)
      Set the creationData property: Disk source information. CreationData information cannot be changed after the disk has been created.
      Parameters:
      creationData - the creationData value to set.
      Returns:
      the DiskProperties object itself.
    • diskSizeGB

      public Integer diskSizeGB()
      Get the diskSizeGB property: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
      Returns:
      the diskSizeGB value.
    • withDiskSizeGB

      public DiskProperties withDiskSizeGB(Integer diskSizeGB)
      Set the diskSizeGB property: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
      Parameters:
      diskSizeGB - the diskSizeGB value to set.
      Returns:
      the DiskProperties object itself.
    • diskSizeBytes

      public Long diskSizeBytes()
      Get the diskSizeBytes property: The size of the disk in bytes. This field is read only.
      Returns:
      the diskSizeBytes value.
    • uniqueId

      public String uniqueId()
      Get the uniqueId property: Unique Guid identifying the resource.
      Returns:
      the uniqueId value.
    • encryptionSettingsCollection

      public EncryptionSettingsCollection encryptionSettingsCollection()
      Get the encryptionSettingsCollection property: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
      Returns:
      the encryptionSettingsCollection value.
    • withEncryptionSettingsCollection

      public DiskProperties withEncryptionSettingsCollection(EncryptionSettingsCollection encryptionSettingsCollection)
      Set the encryptionSettingsCollection property: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
      Parameters:
      encryptionSettingsCollection - the encryptionSettingsCollection value to set.
      Returns:
      the DiskProperties object itself.
    • provisioningState

      public String provisioningState()
      Get the provisioningState property: The disk provisioning state.
      Returns:
      the provisioningState value.
    • diskIopsReadWrite

      public Long diskIopsReadWrite()
      Get the diskIopsReadWrite property: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
      Returns:
      the diskIopsReadWrite value.
    • withDiskIopsReadWrite

      public DiskProperties withDiskIopsReadWrite(Long diskIopsReadWrite)
      Set the diskIopsReadWrite property: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
      Parameters:
      diskIopsReadWrite - the diskIopsReadWrite value to set.
      Returns:
      the DiskProperties object itself.
    • diskMBpsReadWrite

      public Long diskMBpsReadWrite()
      Get the diskMBpsReadWrite property: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
      Returns:
      the diskMBpsReadWrite value.
    • withDiskMBpsReadWrite

      public DiskProperties withDiskMBpsReadWrite(Long diskMBpsReadWrite)
      Set the diskMBpsReadWrite property: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
      Parameters:
      diskMBpsReadWrite - the diskMBpsReadWrite value to set.
      Returns:
      the DiskProperties object itself.
    • diskIopsReadOnly

      public Long diskIopsReadOnly()
      Get the diskIopsReadOnly property: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
      Returns:
      the diskIopsReadOnly value.
    • withDiskIopsReadOnly

      public DiskProperties withDiskIopsReadOnly(Long diskIopsReadOnly)
      Set the diskIopsReadOnly property: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
      Parameters:
      diskIopsReadOnly - the diskIopsReadOnly value to set.
      Returns:
      the DiskProperties object itself.
    • diskMBpsReadOnly

      public Long diskMBpsReadOnly()
      Get the diskMBpsReadOnly property: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
      Returns:
      the diskMBpsReadOnly value.
    • withDiskMBpsReadOnly

      public DiskProperties withDiskMBpsReadOnly(Long diskMBpsReadOnly)
      Set the diskMBpsReadOnly property: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
      Parameters:
      diskMBpsReadOnly - the diskMBpsReadOnly value to set.
      Returns:
      the DiskProperties object itself.
    • diskState

      public DiskState diskState()
      Get the diskState property: The state of the disk.
      Returns:
      the diskState value.
    • encryption

      public Encryption encryption()
      Get the encryption property: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
      Returns:
      the encryption value.
    • withEncryption

      public DiskProperties withEncryption(Encryption encryption)
      Set the encryption property: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
      Parameters:
      encryption - the encryption value to set.
      Returns:
      the DiskProperties object itself.
    • maxShares

      public Integer maxShares()
      Get the maxShares property: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
      Returns:
      the maxShares value.
    • withMaxShares

      public DiskProperties withMaxShares(Integer maxShares)
      Set the maxShares property: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
      Parameters:
      maxShares - the maxShares value to set.
      Returns:
      the DiskProperties object itself.
    • shareInfo

      public List<ShareInfoElement> shareInfo()
      Get the shareInfo property: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
      Returns:
      the shareInfo value.
    • networkAccessPolicy

      public NetworkAccessPolicy networkAccessPolicy()
      Get the networkAccessPolicy property: Policy for accessing the disk via network.
      Returns:
      the networkAccessPolicy value.
    • withNetworkAccessPolicy

      public DiskProperties withNetworkAccessPolicy(NetworkAccessPolicy networkAccessPolicy)
      Set the networkAccessPolicy property: Policy for accessing the disk via network.
      Parameters:
      networkAccessPolicy - the networkAccessPolicy value to set.
      Returns:
      the DiskProperties object itself.
    • diskAccessId

      public String diskAccessId()
      Get the diskAccessId property: ARM id of the DiskAccess resource for using private endpoints on disks.
      Returns:
      the diskAccessId value.
    • withDiskAccessId

      public DiskProperties withDiskAccessId(String diskAccessId)
      Set the diskAccessId property: ARM id of the DiskAccess resource for using private endpoints on disks.
      Parameters:
      diskAccessId - the diskAccessId value to set.
      Returns:
      the DiskProperties object itself.
    • burstingEnabledTime

      public OffsetDateTime burstingEnabledTime()
      Get the burstingEnabledTime property: Latest time when bursting was last enabled on a disk.
      Returns:
      the burstingEnabledTime value.
    • tier

      public String tier()
      Get the tier property: Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
      Returns:
      the tier value.
    • withTier

      public DiskProperties withTier(String tier)
      Set the tier property: Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
      Parameters:
      tier - the tier value to set.
      Returns:
      the DiskProperties object itself.
    • burstingEnabled

      public Boolean burstingEnabled()
      Get the burstingEnabled property: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
      Returns:
      the burstingEnabled value.
    • withBurstingEnabled

      public DiskProperties withBurstingEnabled(Boolean burstingEnabled)
      Set the burstingEnabled property: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
      Parameters:
      burstingEnabled - the burstingEnabled value to set.
      Returns:
      the DiskProperties object itself.
    • propertyUpdatesInProgress

      public PropertyUpdatesInProgress propertyUpdatesInProgress()
      Get the propertyUpdatesInProgress property: Properties of the disk for which update is pending.
      Returns:
      the propertyUpdatesInProgress value.
    • supportsHibernation

      public Boolean supportsHibernation()
      Get the supportsHibernation property: Indicates the OS on a disk supports hibernation.
      Returns:
      the supportsHibernation value.
    • withSupportsHibernation

      public DiskProperties withSupportsHibernation(Boolean supportsHibernation)
      Set the supportsHibernation property: Indicates the OS on a disk supports hibernation.
      Parameters:
      supportsHibernation - the supportsHibernation value to set.
      Returns:
      the DiskProperties object itself.
    • securityProfile

      public DiskSecurityProfile securityProfile()
      Get the securityProfile property: Contains the security related information for the resource.
      Returns:
      the securityProfile value.
    • withSecurityProfile

      public DiskProperties withSecurityProfile(DiskSecurityProfile securityProfile)
      Set the securityProfile property: Contains the security related information for the resource.
      Parameters:
      securityProfile - the securityProfile value to set.
      Returns:
      the DiskProperties object itself.
    • completionPercent

      public Float completionPercent()
      Get the completionPercent property: Percentage complete for the background copy when a resource is created via the CopyStart operation.
      Returns:
      the completionPercent value.
    • withCompletionPercent

      public DiskProperties withCompletionPercent(Float completionPercent)
      Set the completionPercent property: Percentage complete for the background copy when a resource is created via the CopyStart operation.
      Parameters:
      completionPercent - the completionPercent value to set.
      Returns:
      the DiskProperties object itself.
    • publicNetworkAccess

      public PublicNetworkAccess publicNetworkAccess()
      Get the publicNetworkAccess property: Policy for controlling export on the disk.
      Returns:
      the publicNetworkAccess value.
    • withPublicNetworkAccess

      public DiskProperties withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess)
      Set the publicNetworkAccess property: Policy for controlling export on the disk.
      Parameters:
      publicNetworkAccess - the publicNetworkAccess value to set.
      Returns:
      the DiskProperties object itself.
    • dataAccessAuthMode

      public DataAccessAuthMode dataAccessAuthMode()
      Get the dataAccessAuthMode property: Additional authentication requirements when exporting or uploading to a disk or snapshot.
      Returns:
      the dataAccessAuthMode value.
    • withDataAccessAuthMode

      public DiskProperties withDataAccessAuthMode(DataAccessAuthMode dataAccessAuthMode)
      Set the dataAccessAuthMode property: Additional authentication requirements when exporting or uploading to a disk or snapshot.
      Parameters:
      dataAccessAuthMode - the dataAccessAuthMode value to set.
      Returns:
      the DiskProperties object itself.
    • optimizedForFrequentAttach

      public Boolean optimizedForFrequentAttach()
      Get the optimizedForFrequentAttach property: Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
      Returns:
      the optimizedForFrequentAttach value.
    • withOptimizedForFrequentAttach

      public DiskProperties withOptimizedForFrequentAttach(Boolean optimizedForFrequentAttach)
      Set the optimizedForFrequentAttach property: Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
      Parameters:
      optimizedForFrequentAttach - the optimizedForFrequentAttach value to set.
      Returns:
      the DiskProperties object itself.
    • lastOwnershipUpdateTime

      public OffsetDateTime lastOwnershipUpdateTime()
      Get the lastOwnershipUpdateTime property: The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started.
      Returns:
      the lastOwnershipUpdateTime value.
    • validate

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