Skip to content

Commit 49d5f1c

Browse files
author
Sudhakara Reddy Evuri
committed
Refactoring Linux changes to separate function and fixinf indentation
1 parent 03099e3 commit 49d5f1c

File tree

2 files changed

+39
-38
lines changed

2 files changed

+39
-38
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineExtensionTests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ function Test-AzureDiskEncryptionExtension
874874
$user2 = "Bar12";
875875
$password2 = 'FoO@123' + $rgname;
876876
$aadClientID = '97f847ef-9e1e-4c7c-9ae7-1c0f7c78f761';
877-
$aadClientSecret = 'e8335678-2063-4620-afa3-5ba815e27fd3';
877+
$aadClientSecret = '';
878878
$diskEncryptionKeyVaultUrl = 'https://sureddvaultsc2.vault.azure.net'
879879
$diskEncryptionKeyVaultId = '/subscriptions/0ee9d577-9bc4-4a32-a4e8-c29981025378/resourceGroups/sureddrgsc2/providers/Microsoft.KeyVault/vaults/sureddvaultsc2';
880880
$volumeType = 'All';

src/ResourceManager/Compute/Commands.Compute/Extension/AzureDiskEncryption/SetAzureDiskEncryptionExtension.cs

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ public class SetAzureDiskEncryptionExtensionCommand : VirtualMachineExtensionBas
151151
[ValidateNotNullOrEmpty]
152152
public SwitchParameter Force { get; set; }
153153

154+
private string currentOSType = null;
155+
154156
private void ValidateInputParameters()
155157
{
156158
if (false == Uri.IsWellFormedUriString(DiskEncryptionKeyVaultId, UriKind.Absolute))
@@ -192,24 +194,24 @@ private string GetExtensionStatusMessage()
192194
ErrorCategory.InvalidResult,
193195
null));
194196
}
195-
bool publisherMismatch = false;
197+
bool publisherMatch = false;
196198
if (string.Equals(currentOSType, "Linux", StringComparison.InvariantCultureIgnoreCase))
197199
{
198200
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
199-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
201+
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
200202
{
201-
publisherMismatch = true;
203+
publisherMatch = true;
202204
}
203205
}
204-
else if(string.Equals(currentOSType,"Windows",StringComparison.InvariantCultureIgnoreCase))
206+
else if (string.Equals(currentOSType, "Windows", StringComparison.InvariantCultureIgnoreCase))
205207
{
206208
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
207-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
209+
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
208210
{
209-
publisherMismatch = true;
211+
publisherMatch = true;
210212
}
211213
}
212-
if (publisherMismatch)
214+
if (publisherMatch)
213215
{
214216
AzureDiskEncryptionExtensionContext context = new AzureDiskEncryptionExtensionContext(returnedExtension);
215217
if ((context == null) ||
@@ -305,13 +307,11 @@ private string GetExtensionProtectedSettings()
305307
return JsonConvert.SerializeObject(protectedSettings);
306308
}
307309

308-
private VirtualMachineExtension GetVmExtensionParameters()
310+
private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParameters)
309311
{
310312
string SettingString = GetExtensionPublicSettings();
311313
string ProtectedSettingString = GetExtensionProtectedSettings();
312314

313-
314-
VirtualMachine vmParameters = (this.ComputeClient.ComputeManagementClient.VirtualMachines.Get(this.ResourceGroupName, this.VMName)).VirtualMachine;
315315
if (vmParameters == null)
316316
{
317317
ThrowTerminatingError(new ErrorRecord(new ApplicationException(string.Format(CultureInfo.CurrentUICulture, "Set-AzureDiskEncryptionExtension can enable encryption only on a VM that was already created ")),
@@ -353,7 +353,29 @@ private VirtualMachineExtension GetVmExtensionParameters()
353353
return vmExtensionParameters;
354354
}
355355

356-
private string currentOSType = null;
356+
private void CreateVMBackupForLinx()
357+
{
358+
try
359+
{
360+
AzureVMBackupExtensionUtil azureBackupExtensionUtil = new AzureVMBackupExtensionUtil();
361+
AzureVMBackupConfig vmConfig = new AzureVMBackupConfig();
362+
vmConfig.ResourceGroupName = ResourceGroupName;
363+
vmConfig.VMName = VMName;
364+
vmConfig.VirtualMachineExtensionType = VirtualMachineExtensionType;
365+
string tag = string.Format("{0}{1}", "AzureEnc", Guid.NewGuid().ToString());
366+
// this would create shapshot only for Linux box. and we should wait for the snapshot found.
367+
azureBackupExtensionUtil.CreateSnapshotForDisks(vmConfig, tag, this);
368+
369+
WriteInformation(new InformationRecord(string.Format("one snapshot for disks are created with tag,{0}", tag), string.Empty));
370+
}
371+
catch (AzureVMBackupException e)
372+
{
373+
ThrowTerminatingError(new ErrorRecord(new ApplicationException(string.Format(CultureInfo.CurrentUICulture, e.ToString())),
374+
"InvalidResult",
375+
ErrorCategory.InvalidResult,
376+
null));
377+
}
378+
}
357379

358380
protected override void ProcessRecord()
359381
{
@@ -368,37 +390,16 @@ protected override void ProcessRecord()
368390

369391
currentOSType = virtualMachineResponse.StorageProfile.OSDisk.OperatingSystemType;
370392

371-
if(string.Equals(currentOSType,"Linux",StringComparison.InvariantCultureIgnoreCase))
393+
if (string.Equals(currentOSType, "Linux", StringComparison.InvariantCultureIgnoreCase))
372394
{
373-
try
374-
{
375-
AzureVMBackupExtensionUtil azureBackupExtensionUtil = new AzureVMBackupExtensionUtil();
376-
AzureVMBackupConfig vmConfig = new AzureVMBackupConfig();
377-
vmConfig.ResourceGroupName = ResourceGroupName;
378-
vmConfig.VMName = VMName;
379-
vmConfig.VirtualMachineExtensionType = VirtualMachineExtensionType;
380-
string tag = string.Format("{0}{1}", "AzureEnc", Guid.NewGuid().ToString());
381-
// this would create shapshot only for Linux box. and we should wait for the snapshot found.
382-
azureBackupExtensionUtil.CreateSnapshotForDisks(vmConfig, tag, this);
383-
384-
WriteInformation(new InformationRecord(string.Format("one snapshot for disks are created with tag,{0}",tag), string.Empty));
385-
}
386-
catch (AzureVMBackupException e)
387-
{
388-
ThrowTerminatingError(new ErrorRecord(new ApplicationException(string.Format(CultureInfo.CurrentUICulture, e.ToString())),
389-
"InvalidResult",
390-
ErrorCategory.InvalidResult,
391-
null));
392-
}
395+
CreateVMBackupForLinx();
393396
}
394397

395-
VirtualMachineExtension parameters = GetVmExtensionParameters();
398+
VirtualMachineExtension parameters = GetVmExtensionParameters(virtualMachineResponse);
396399

397400
this.VirtualMachineExtensionClient.CreateOrUpdate(this.ResourceGroupName,
398-
this.VMName,
399-
parameters);
400-
401-
401+
this.VMName,
402+
parameters);
402403

403404
var op = UpdateVmEncryptionSettings();
404405
WriteObject(Mapper.Map<PSComputeLongRunningOperation>(op));

0 commit comments

Comments
 (0)