Class VirtualMachineEncryptionConfiguration<T extends VirtualMachineEncryptionConfiguration<T>>

java.lang.Object
com.microsoft.azure.management.compute.VirtualMachineEncryptionConfiguration<T>
Type Parameters:
T - type presenting Windows or Linux specific settings
Direct Known Subclasses:
LinuxVMDiskEncryptionConfiguration, WindowsVMDiskEncryptionConfiguration

public abstract class VirtualMachineEncryptionConfiguration<T extends VirtualMachineEncryptionConfiguration<T>> extends Object
Type representing encryption configuration to be applied to a virtual machine.
  • Field Details

    • keyVaultId

      protected final String keyVaultId
    • aadClientId

      protected final String aadClientId
    • aadSecret

      protected final String aadSecret
    • volumeType

      protected DiskVolumeType volumeType
    • keyEncryptionKeyURL

      protected String keyEncryptionKeyURL
    • keyEncryptionKeyVaultId

      protected String keyEncryptionKeyVaultId
    • encryptionAlgorithm

      protected String encryptionAlgorithm
    • passPhrase

      protected String passPhrase
    • azureEnvironment

      protected final com.microsoft.azure.AzureEnvironment azureEnvironment
    • vaultUri

      protected final String vaultUri
  • Constructor Details

    • VirtualMachineEncryptionConfiguration

      protected VirtualMachineEncryptionConfiguration(String keyVaultId, String vaultUri, String aadClientId, String aadSecret, com.microsoft.azure.AzureEnvironment azureEnvironment)
      Creates VirtualMachineEncryptionConfiguration.
      Parameters:
      keyVaultId - resource ID of the KeyVault to store the disk encryption key
      vaultUri - URI of the key vault data-plane endpoint
      aadClientId - AAD application client ID to access the KeyVault
      aadSecret - AAD application client secret to access the KeyVault
      azureEnvironment - Azure environment
    • VirtualMachineEncryptionConfiguration

      protected VirtualMachineEncryptionConfiguration(String keyVaultId, String vaultUri, com.microsoft.azure.AzureEnvironment azureEnvironment)
      Creates VirtualMachineEncryptionConfiguration.
      Parameters:
      keyVaultId - resource ID of the KeyVault to store the disk encryption key
      vaultUri - URI of the key vault data-plane endpoint
      azureEnvironment - Azure environment
  • Method Details

    • osType

      public abstract OperatingSystemTypes osType()
      Returns:
      the operating system type
    • aadClientId

      public String aadClientId()
      Returns:
      the AAD application client ID to access the key vault
    • aadSecret

      public String aadSecret()
      Returns:
      the AAD application client secret to access the key vault
    • volumeType

      public DiskVolumeType volumeType()
      Returns:
      type of the volume to perform encryption operation
    • keyVaultId

      public String keyVaultId()
      Returns:
      resource ID of the key vault to store the disk encryption key
    • keyVaultUrl

      public String keyVaultUrl()
      Returns:
      URL to the key vault to store the disk encryption key
    • keyEncryptionKeyVaultId

      public String keyEncryptionKeyVaultId()
      Returns:
      resource ID of the Key Vault holding key encryption key (KEK)
    • keyEncryptionKeyURL

      public String keyEncryptionKeyURL()
      Returns:
      key vault URL to the key (KEK) to protect (encrypt) the disk-encryption key
    • volumeEncryptionKeyEncryptAlgorithm

      public String volumeEncryptionKeyEncryptAlgorithm()
      Returns:
      the algorithm used to encrypt the disk-encryption key
    • linuxPassPhrase

      public String linuxPassPhrase()
      Returns:
      the pass phrase to encrypt Linux OS and data disks
    • withVolumeType

      public T withVolumeType(DiskVolumeType volumeType)
      Specifies the volume to encrypt.
      Parameters:
      volumeType - the volume type
      Returns:
      VirtualMachineEncryptionConfiguration
    • withVolumeEncryptionKeyEncrypted

      public T withVolumeEncryptionKeyEncrypted(String keyEncryptionKeyURL)
      Specifies the Key Vault URL to the key for protecting or wrapping the disk-encryption key.
      Parameters:
      keyEncryptionKeyURL - the key (KEK) URL
      Returns:
      VirtualMachineEncryptionConfiguration
    • withVolumeEncryptionKeyEncrypted

      public T withVolumeEncryptionKeyEncrypted(String keyEncryptionKeyURL, String keyEncryptionKeyKevVaultId)
      Specifies the and key vault Id and a vault URL to the key for protecting or wrapping the disk-encryption key.
      Parameters:
      keyEncryptionKeyURL - the key (KEK) URL
      keyEncryptionKeyKevVaultId - resource ID of the keyVault storing KEK
      Returns:
      VirtualMachineEncryptionConfiguration
    • withVolumeEncryptionKeyEncryptAlgorithm

      public T withVolumeEncryptionKeyEncryptAlgorithm(String encryptionAlgorithm)
      Specifies the algorithm used to encrypt the disk-encryption key.
      Parameters:
      encryptionAlgorithm - the algorithm
      Returns:
      VirtualMachineEncryptionConfiguration