Beispiel #1
0
        /// <summary>
        /// Gets status object that describes the current status of the volume encryption or decryption process.
        /// </summary>
        /// <param name="virtualMachine">The virtual machine on which encryption or decryption is running.</param>
        /// <param name="isNoAAD">Whether the extension is No AAD version</param>
        /// <return>An observable that emits current encrypt or decrypt status.</return>
        ///GENMHASH:320925F5DE599EF676589095F72B25CB:2FDB3461FF786FBAE2C4F7E37E373582
        private async Task <Microsoft.Azure.Management.Compute.Fluent.IDiskVolumeEncryptionMonitor> GetDiskVolumeEncryptDecryptStatusAsync(IVirtualMachine virtualMachine, bool isNoAAD, CancellationToken cancellationToken = default(CancellationToken))
        {
            IDiskVolumeEncryptionMonitor monitor = null;

            if (osType == OperatingSystemTypes.Linux)
            {
                if (isNoAAD)
                {
                    monitor = new LinuxDiskVolumeNoAADEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
                else
                {
                    monitor = new LinuxDiskVolumeLegacyEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
            }
            else
            {
                if (isNoAAD)
                {
                    monitor = new WindowsVolumeNoAADEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
                else
                {
                    monitor = new WindowsVolumeLegacyEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
            }
            return(await monitor.RefreshAsync(cancellationToken));
        }
        ///GENMHASH:F5C4065BE678A5CA018C264CAFF7901A:1C7F0F2F318A44EF8EF32F689B1ABFB4
        public async Task <Microsoft.Azure.Management.Compute.Fluent.IDiskVolumeEncryptionMonitor> GetMonitorAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            IDiskVolumeEncryptionMonitor monitor = null;

            if (this.virtualMachine.OSType == OperatingSystemTypes.Linux)
            {
                monitor = new LinuxDiskVolumeEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
            }
            else
            {
                monitor = new WindowsVolumeEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
            }
            return(await monitor.RefreshAsync(cancellationToken));
        }
        ///GENMHASH:F5C4065BE678A5CA018C264CAFF7901A:1C7F0F2F318A44EF8EF32F689B1ABFB4
        public async Task <Microsoft.Azure.Management.Compute.Fluent.IDiskVolumeEncryptionMonitor> GetMonitorAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            var extension = await GetEncryptionExtensionAsync(cancellationToken);

            if (extension == null)
            {
                return(null);
            }

            bool isNoAAD = EncryptionExtensionIdentifier.IsNoAADVersion(this.virtualMachine.OSType, extension.VersionName);

            IDiskVolumeEncryptionMonitor monitor = null;

            if (this.virtualMachine.OSType == OperatingSystemTypes.Linux)
            {
                if (isNoAAD)
                {
                    monitor = new LinuxDiskVolumeNoAADEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
                else
                {
                    monitor = new LinuxDiskVolumeLegacyEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
            }
            else
            {
                if (isNoAAD)
                {
                    monitor = new WindowsVolumeNoAADEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
                else
                {
                    monitor = new WindowsVolumeLegacyEncryptionMonitorImpl(virtualMachine.Id, virtualMachine.Manager);
                }
            }
            return(await monitor.RefreshAsync(cancellationToken));
        }