Skip to content

Commit 507717b

Browse files
committed
switch to env variables
1 parent a2bcb50 commit 507717b

File tree

4 files changed

+52
-84
lines changed

4 files changed

+52
-84
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,7 @@ public static class AzureDiskEncryptionExtensionConstants
4242
public const string defaultKeyEncryptionAlgorithm = "RSA-OAEP";
4343
public const string keyVaultResourceIdKey = "KeyVaultResourceId";
4444
public const string kekVaultResourceIdKey = "KekVaultResourceId";
45+
public const string extensionTypeEnvVarName = "ADE_TEST_EXTENSION_TYPE";
46+
public const string extensionPublisherEnvVarName = "ADE_TEST_EXTENSION_PUBLISHER";
4547
}
4648
}

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

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,6 @@ 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-
10892
private OperatingSystemTypes? currentOSType = null;
10993

11094
private Hashtable GetExtensionPublicSettings()
@@ -145,15 +129,17 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
145129
}
146130

147131
VirtualMachineExtension vmExtensionParameters = null;
132+
var extensionPublisherName = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionPublisherEnvVarName);
133+
var extensionType = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionTypeEnvVarName);
148134
if (OperatingSystemTypes.Windows.Equals(currentOSType))
149135
{
150136
this.Name = this.Name ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultName;
151137

152138
vmExtensionParameters = new VirtualMachineExtension
153139
{
154140
Location = vmParameters.Location,
155-
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
156-
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType,
141+
Publisher = extensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher,
142+
VirtualMachineExtensionType = extensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType,
157143
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
158144
Settings = SettingString,
159145
ProtectedSettings = ProtectedSettingString,
@@ -167,8 +153,8 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
167153
vmExtensionParameters = new VirtualMachineExtension
168154
{
169155
Location = vmParameters.Location,
170-
Publisher = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
171-
VirtualMachineExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
156+
Publisher = extensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
157+
VirtualMachineExtensionType = extensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
172158
TypeHandlerVersion = this.TypeHandlerVersion ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
173159
Settings = SettingString,
174160
ProtectedSettings = ProtectedSettingString,

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

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,6 @@ 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-
7761
private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParameters, OSType currentOSType)
7862
{
7963
Hashtable publicSettings = new Hashtable();
@@ -92,16 +76,18 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
9276

9377
VirtualMachineExtension vmExtensionParameters = null;
9478

79+
var extensionPublisherName = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionPublisherEnvVarName);
80+
var extensionType = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionTypeEnvVarName);
9581
if (OSType.Windows.Equals(currentOSType))
9682
{
9783
this.Name = this.Name ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultName;
98-
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher;
99-
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType;
84+
extensionPublisherName = extensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher;
85+
extensionType = extensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType;
10086
vmExtensionParameters = new VirtualMachineExtension
10187
{
10288
Location = vmParameters.Location,
103-
Publisher = this.ExtensionPublisherName,
104-
VirtualMachineExtensionType = this.ExtensionType,
89+
Publisher = extensionPublisherName,
90+
VirtualMachineExtensionType = extensionType,
10591
TypeHandlerVersion = AzureDiskEncryptionExtensionContext.ExtensionDefaultVersion,
10692
Settings = publicSettings,
10793
ProtectedSettings = protectedSettings
@@ -110,13 +96,13 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
11096
else if (OSType.Linux.Equals(currentOSType))
11197
{
11298
this.Name = this.Name ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultName;
113-
this.ExtensionPublisherName = this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher;
114-
this.ExtensionType = this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType;
99+
extensionPublisherName = extensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher;
100+
extensionType = extensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType;
115101
vmExtensionParameters = new VirtualMachineExtension
116102
{
117103
Location = vmParameters.Location,
118-
Publisher = this.ExtensionPublisherName,
119-
VirtualMachineExtensionType = this.ExtensionType,
104+
Publisher = extensionPublisherName,
105+
VirtualMachineExtensionType = extensionType,
120106
TypeHandlerVersion = AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultVersion,
121107
Settings = publicSettings,
122108
ProtectedSettings = protectedSettings
@@ -153,20 +139,22 @@ private bool IsExtensionInstalled(OSType currentOSType)
153139
return false;
154140
}
155141
bool publisherMatch = false;
142+
var extensionPublisherName = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionPublisherEnvVarName);
143+
var extensionType = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionTypeEnvVarName);
156144
if (OSType.Linux.Equals(currentOSType))
157145
{
158-
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
146+
if (returnedExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher,
159147
StringComparison.InvariantCultureIgnoreCase) &&
160-
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
148+
returnedExtension.ExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType,
161149
StringComparison.InvariantCultureIgnoreCase))
162150
{
163151
publisherMatch = true;
164152
}
165153
}
166154
else if (OSType.Windows.Equals(currentOSType))
167155
{
168-
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
169-
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
156+
if (returnedExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
157+
returnedExtension.ExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
170158
{
171159
publisherMatch = true;
172160
}
@@ -203,18 +191,20 @@ private string GetExtensionStatusMessage(OSType currentOSType, bool returnSubsta
203191
null));
204192
}
205193
bool publisherMatch = false;
194+
var extensionPublisherName = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionPublisherEnvVarName);
195+
var extensionType = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionTypeEnvVarName);
206196
if (OSType.Linux.Equals(currentOSType))
207197
{
208-
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
209-
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
198+
if (returnedExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
199+
returnedExtension.ExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
210200
{
211201
publisherMatch = true;
212202
}
213203
}
214204
else if (OSType.Windows.Equals(currentOSType))
215205
{
216-
if (returnedExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
217-
returnedExtension.ExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
206+
if (returnedExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase) &&
207+
returnedExtension.ExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase))
218208
{
219209
publisherMatch = true;
220210
}
@@ -312,14 +302,16 @@ private DiskEncryptionSettings GetOsVolumeEncryptionSettings(VirtualMachine vmPa
312302

313303
private bool IsAzureDiskEncryptionExtension(OSType osType, VirtualMachineExtension vmExtension)
314304
{
305+
var extensionPublisherName = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionPublisherEnvVarName);
306+
var extensionType = Environment.GetEnvironmentVariable(AzureDiskEncryptionExtensionConstants.extensionTypeEnvVarName);
315307
switch (osType)
316308
{
317309
case OSType.Windows:
318310
if ((vmExtension != null) &&
319311
(vmExtension.Publisher != null) &&
320312
(vmExtension.VirtualMachineExtensionType != null) &&
321-
(vmExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
322-
(vmExtension.VirtualMachineExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
313+
(vmExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
314+
(vmExtension.VirtualMachineExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.ExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
323315
{
324316
return true;
325317
}
@@ -329,8 +321,8 @@ private bool IsAzureDiskEncryptionExtension(OSType osType, VirtualMachineExtensi
329321
if ((vmExtension != null) &&
330322
(vmExtension.Publisher != null) &&
331323
(vmExtension.VirtualMachineExtensionType != null) &&
332-
(vmExtension.Publisher.Equals(this.ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
333-
(vmExtension.VirtualMachineExtensionType.Equals(this.ExtensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
324+
(vmExtension.Publisher.Equals(extensionPublisherName ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultPublisher, StringComparison.InvariantCultureIgnoreCase)) &&
325+
(vmExtension.VirtualMachineExtensionType.Equals(extensionType ?? AzureDiskEncryptionExtensionContext.LinuxExtensionDefaultType, StringComparison.InvariantCultureIgnoreCase)))
334326
{
335327
return true;
336328
}

0 commit comments

Comments
 (0)