Skip to content

Commit 04f2d9e

Browse files
committed
allow test switch in code
1 parent aa14b80 commit 04f2d9e

File tree

4 files changed

+92
-32
lines changed

4 files changed

+92
-32
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ public class AzureDiskEncryptionExtensionContext : PSVirtualMachineExtension
2525
{
2626
public const string LinuxExtensionDefaultPublisher = "Microsoft.Azure.Security";
2727
public const string LinuxExtensionDefaultName = "AzureDiskEncryptionForLinux";
28+
public const string LinuxExtensionDefaultType = "AzureDiskEncryptionForLinux";
2829
public const string LinuxExtensionDefaultVersion = "0.1";
2930

3031
public const string ExtensionDefaultPublisher = "Microsoft.Azure.Security";
3132
public const string ExtensionDefaultName = "AzureDiskEncryption";
33+
public const string ExtensionDefaultType = "AzureDiskEncryption";
3234
public const string ExtensionDefaultVersion = "1.1";
3335
public const string VolumeTypeOS = "OS";
3436
public const string VolumeTypeData = "Data";

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

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,22 @@ public class DisableAzureDiskEncryptionCommand : VirtualMachineExtensionBaseCmdl
8989
HelpMessage = "Disable auto-upgrade of minor version")]
9090
public SwitchParameter DisableAutoUpgradeMinorVersion { get; set; }
9191

92+
[Parameter(
93+
Mandatory = false,
94+
Position = 6,
95+
ValueFromPipelineByPropertyName = true,
96+
HelpMessage = "The extension type. Specify this parameter to override its default value of \"AzureDiskEncryption\" for Windows VMs and \"AzureDiskEncryptionForLinux\" for Linux VMs.")]
97+
[ValidateNotNullOrEmpty]
98+
public string ExtensionType { get; set; }
99+
100+
[Parameter(
101+
Mandatory = false,
102+
Position = 7,
103+
ValueFromPipelineByPropertyName = true,
104+
HelpMessage = "The extension publisher name. Specify this parameter only to override the default value of \"Microsoft.Azure.Security\".")]
105+
[ValidateNotNullOrEmpty]
106+
public string ExtensionPublisherName { get; set; }
107+
92108
private OperatingSystemTypes? currentOSType = null;
93109

94110
private Hashtable GetExtensionPublicSettings()
@@ -136,9 +152,9 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
136152
vmExtensionParameters = new VirtualMachineExtension
137153
{
138154
Location = vmParameters.Location,
139-
Publisher = AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
140-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.ExtensionDefaultName,
141-
TypeHandlerVersion = (this.TypeHandlerVersion) ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
155+
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
156+
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType,
157+
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
142158
Settings = SettingString,
143159
ProtectedSettings = ProtectedSettingString,
144160
AutoUpgradeMinorVersion = !DisableAutoUpgradeMinorVersion.IsPresent
@@ -151,9 +167,9 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
151167
vmExtensionParameters = new VirtualMachineExtension
152168
{
153169
Location = vmParameters.Location,
154-
Publisher = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
155-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName,
156-
TypeHandlerVersion = (this.TypeHandlerVersion) ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
170+
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
171+
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
172+
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
157173
Settings = SettingString,
158174
ProtectedSettings = ProtectedSettingString,
159175
AutoUpgradeMinorVersion = !DisableAutoUpgradeMinorVersion.IsPresent

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

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,22 @@ public class GetAzureDiskEncryptionStatusCommand : VirtualMachineExtensionBaseCm
5858
[ValidateNotNullOrEmpty]
5959
public string Name { get; set; }
6060

61+
[Parameter(
62+
Mandatory = false,
63+
Position = 3,
64+
ValueFromPipelineByPropertyName = true,
65+
HelpMessage = "The extension type. Specify this parameter to override its default value of \"AzureDiskEncryption\" for Windows VMs and \"AzureDiskEncryptionForLinux\" for Linux VMs.")]
66+
[ValidateNotNullOrEmpty]
67+
public string ExtensionType { get; set; }
68+
69+
[Parameter(
70+
Mandatory = false,
71+
Position = 4,
72+
ValueFromPipelineByPropertyName = true,
73+
HelpMessage = "The extension publisher name. Specify this parameter only to override the default value of \"Microsoft.Azure.Security\".")]
74+
[ValidateNotNullOrEmpty]
75+
public string ExtensionPublisherName { get; set; }
76+
6177
private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParameters, OSType currentOSType)
6278
{
6379
Hashtable publicSettings = new Hashtable();
@@ -79,11 +95,13 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
7995
if (OSType.Windows.Equals(currentOSType))
8096
{
8197
this.Name = this.Name ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultName;
98+
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher;
99+
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType;
82100
vmExtensionParameters = new VirtualMachineExtension
83101
{
84102
Location = vmParameters.Location,
85-
Publisher = AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
86-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.ExtensionDefaultName,
103+
Publisher = this.ExtensionPublisherName,
104+
VirtualMachineExtensionType = this.ExtensionType,
87105
TypeHandlerVersion = AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
88106
Settings = publicSettings,
89107
ProtectedSettings = protectedSettings
@@ -92,11 +110,13 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
92110
else if (OSType.Linux.Equals(currentOSType))
93111
{
94112
this.Name = this.Name ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName;
113+
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher;
114+
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType;
95115
vmExtensionParameters = new VirtualMachineExtension
96116
{
97117
Location = vmParameters.Location,
98-
Publisher = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
99-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName,
118+
Publisher = this.ExtensionPublisherName,
119+
VirtualMachineExtensionType = this.ExtensionType,
100120
TypeHandlerVersion = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
101121
Settings = publicSettings,
102122
ProtectedSettings = protectedSettings
@@ -135,16 +155,18 @@ private bool IsExtensionInstalled(OSType currentOSType)
135155
bool publisherMatch = false;
136156
if (OSType.Linux.Equals(currentOSType))
137157
{
138-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
139-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
158+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
159+
StringComparison.InvariantCultureIgnoreCase) &&
160+
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
161+
StringComparison.InvariantCultureIgnoreCase))
140162
{
141163
publisherMatch = true;
142164
}
143165
}
144166
else if (OSType.Windows.Equals(currentOSType))
145167
{
146-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
147-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
168+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
169+
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
148170
{
149171
publisherMatch = true;
150172
}
@@ -183,16 +205,16 @@ private string GetExtensionStatusMessage(OSType currentOSType, bool returnSubsta
183205
bool publisherMatch = false;
184206
if (OSType.Linux.Equals(currentOSType))
185207
{
186-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
187-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
208+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
209+
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
188210
{
189211
publisherMatch = true;
190212
}
191213
}
192214
else if (OSType.Windows.Equals(currentOSType))
193215
{
194-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
195-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
216+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
217+
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
196218
{
197219
publisherMatch = true;
198220
}
@@ -296,8 +318,8 @@ private bool IsAzureDiskEncryptionExtension(OSType osType, VirtualMachineExtensi
296318
if ((vmExtension != null) &&
297319
(vmExtension.Publisher != null) &&
298320
(vmExtension.VirtualMachineExtensionType != null) &&
299-
(vmExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
300-
(vmExtension.VirtualMachineExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase)))
321+
(vmExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
322+
(vmExtension.VirtualMachineExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
301323
{
302324
return true;
303325
}
@@ -307,8 +329,8 @@ private bool IsAzureDiskEncryptionExtension(OSType osType, VirtualMachineExtensi
307329
if ((vmExtension != null) &&
308330
(vmExtension.Publisher != null) &&
309331
(vmExtension.VirtualMachineExtensionType != null) &&
310-
(vmExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
311-
(vmExtension.VirtualMachineExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase)))
332+
(vmExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
333+
(vmExtension.VirtualMachineExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
312334
{
313335
return true;
314336
}

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

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,22 @@ public class SetAzureDiskEncryptionExtensionCommand : VirtualMachineExtensionBas
177177
HelpMessage = "Skip backup creation for Linux VMs")]
178178
public SwitchParameter SkipVmBackup { get; set; }
179179

180+
[Parameter(
181+
Mandatory = false,
182+
Position = 16,
183+
ValueFromPipelineByPropertyName = true,
184+
HelpMessage = "The extension type. Specify this parameter to override its default value of \"AzureDiskEncryption\" for Windows VMs and \"AzureDiskEncryptionForLinux\" for Linux VMs.")]
185+
[ValidateNotNullOrEmpty]
186+
public string ExtensionType { get; set; }
187+
188+
[Parameter(
189+
Mandatory = false,
190+
Position = 17,
191+
ValueFromPipelineByPropertyName = true,
192+
HelpMessage = "The extension publisher name. Specify this parameter only to override the default value of \"Microsoft.Azure.Security\".")]
193+
[ValidateNotNullOrEmpty]
194+
public string ExtensionPublisherName { get; set; }
195+
180196
private OperatingSystemTypes? currentOSType = null;
181197

182198
private void ValidateInputParameters()
@@ -226,16 +242,20 @@ private string GetExtensionStatusMessage()
226242
bool publisherMatch = false;
227243
if (OperatingSystemTypes.Linux.Equals(currentOSType))
228244
{
229-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
230-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
245+
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher;
246+
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType;
247+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName, StringComparison.InvariantCultureIgnoreCase) &&
248+
returnedExtension.ExtensionType.Equals(this.ExtensionType, StringComparison.InvariantCultureIgnoreCase))
231249
{
232250
publisherMatch = true;
233251
}
234252
}
235253
else if (OperatingSystemTypes.Windows.Equals(currentOSType))
236254
{
237-
if (returnedExtension.Publisher.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
238-
returnedExtension.ExtensionType.Equals(AzureDiskEncryptionExtensionContext.ExtensionDefaultName, StringComparison.InvariantCultureIgnoreCase))
255+
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher;
256+
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType;
257+
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName, StringComparison.InvariantCultureIgnoreCase) &&
258+
returnedExtension.ExtensionType.Equals(this.ExtensionType, StringComparison.InvariantCultureIgnoreCase))
239259
{
240260
publisherMatch = true;
241261
}
@@ -419,9 +439,9 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
419439
vmExtensionParameters = new VirtualMachineExtension
420440
{
421441
Location = vmParameters.Location,
422-
Publisher = AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
423-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.ExtensionDefaultName,
424-
TypeHandlerVersion = (this.TypeHandlerVersion) ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
442+
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
443+
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType,
444+
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
425445
Settings = SettingString,
426446
ProtectedSettings = ProtectedSettingString,
427447
AutoUpgradeMinorVersion = !DisableAutoUpgradeMinorVersion.IsPresent
@@ -433,9 +453,9 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
433453
vmExtensionParameters = new VirtualMachineExtension
434454
{
435455
Location = vmParameters.Location,
436-
Publisher = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
437-
VirtualMachineExtensionType = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName,
438-
TypeHandlerVersion = (this.TypeHandlerVersion) ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
456+
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
457+
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
458+
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
439459
Settings = SettingString,
440460
ProtectedSettings = ProtectedSettingString,
441461
AutoUpgradeMinorVersion = !DisableAutoUpgradeMinorVersion.IsPresent

0 commit comments

Comments
 (0)