@@ -58,6 +58,22 @@ public class GetAzureDiskEncryptionStatusCommand : VirtualMachineExtensionBaseCm
58
58
[ ValidateNotNullOrEmpty ]
59
59
public string Name { get ; set ; }
60
60
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
+
61
77
private VirtualMachineExtension GetVmExtensionParameters ( VirtualMachine vmParameters , OSType currentOSType )
62
78
{
63
79
Hashtable publicSettings = new Hashtable ( ) ;
@@ -76,18 +92,16 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
76
92
77
93
VirtualMachineExtension vmExtensionParameters = null ;
78
94
79
- var extensionPublisherName = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionPublisherEnvVarName ) ;
80
- var extensionType = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionTypeEnvVarName ) ;
81
95
if ( OSType . Windows . Equals ( currentOSType ) )
82
96
{
83
97
this . Name = this . Name ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultName ;
84
- extensionPublisherName = extensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher ;
85
- extensionType = extensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType ;
98
+ this . ExtensionPublisherName = this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher ;
99
+ this . ExtensionType = this . ExtensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType ;
86
100
vmExtensionParameters = new VirtualMachineExtension
87
101
{
88
102
Location = vmParameters . Location ,
89
- Publisher = extensionPublisherName ,
90
- VirtualMachineExtensionType = extensionType ,
103
+ Publisher = this . ExtensionPublisherName ,
104
+ VirtualMachineExtensionType = this . ExtensionType ,
91
105
TypeHandlerVersion = AzureDiskEncryptionExtensionContext . ExtensionDefaultVersion ,
92
106
Settings = publicSettings ,
93
107
ProtectedSettings = protectedSettings
@@ -96,13 +110,13 @@ private VirtualMachineExtension GetVmExtensionParameters(VirtualMachine vmParame
96
110
else if ( OSType . Linux . Equals ( currentOSType ) )
97
111
{
98
112
this . Name = this . Name ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultName ;
99
- extensionPublisherName = extensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher ;
100
- extensionType = extensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType ;
113
+ this . ExtensionPublisherName = this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher ;
114
+ this . ExtensionType = this . ExtensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType ;
101
115
vmExtensionParameters = new VirtualMachineExtension
102
116
{
103
117
Location = vmParameters . Location ,
104
- Publisher = extensionPublisherName ,
105
- VirtualMachineExtensionType = extensionType ,
118
+ Publisher = this . ExtensionPublisherName ,
119
+ VirtualMachineExtensionType = this . ExtensionType ,
106
120
TypeHandlerVersion = AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultVersion ,
107
121
Settings = publicSettings ,
108
122
ProtectedSettings = protectedSettings
@@ -139,22 +153,20 @@ private bool IsExtensionInstalled(OSType currentOSType)
139
153
return false ;
140
154
}
141
155
bool publisherMatch = false ;
142
- var extensionPublisherName = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionPublisherEnvVarName ) ;
143
- var extensionType = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionTypeEnvVarName ) ;
144
156
if ( OSType . Linux . Equals ( currentOSType ) )
145
157
{
146
- if ( returnedExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher ,
158
+ if ( returnedExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher ,
147
159
StringComparison . InvariantCultureIgnoreCase ) &&
148
- returnedExtension . ExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType ,
160
+ returnedExtension . ExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType ,
149
161
StringComparison . InvariantCultureIgnoreCase ) )
150
162
{
151
163
publisherMatch = true ;
152
164
}
153
165
}
154
166
else if ( OSType . Windows . Equals ( currentOSType ) )
155
167
{
156
- if ( returnedExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
157
- returnedExtension . ExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
168
+ if ( returnedExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
169
+ returnedExtension . ExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
158
170
{
159
171
publisherMatch = true ;
160
172
}
@@ -191,20 +203,18 @@ private string GetExtensionStatusMessage(OSType currentOSType, bool returnSubsta
191
203
null ) ) ;
192
204
}
193
205
bool publisherMatch = false ;
194
- var extensionPublisherName = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionPublisherEnvVarName ) ;
195
- var extensionType = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionTypeEnvVarName ) ;
196
206
if ( OSType . Linux . Equals ( currentOSType ) )
197
207
{
198
- if ( returnedExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
199
- returnedExtension . ExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
208
+ if ( returnedExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
209
+ returnedExtension . ExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
200
210
{
201
211
publisherMatch = true ;
202
212
}
203
213
}
204
214
else if ( OSType . Windows . Equals ( currentOSType ) )
205
215
{
206
- if ( returnedExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
207
- returnedExtension . ExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
216
+ if ( returnedExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) &&
217
+ returnedExtension . ExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) )
208
218
{
209
219
publisherMatch = true ;
210
220
}
@@ -302,16 +312,14 @@ private DiskEncryptionSettings GetOsVolumeEncryptionSettings(VirtualMachine vmPa
302
312
303
313
private bool IsAzureDiskEncryptionExtension ( OSType osType , VirtualMachineExtension vmExtension )
304
314
{
305
- var extensionPublisherName = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionPublisherEnvVarName ) ;
306
- var extensionType = Environment . GetEnvironmentVariable ( AzureDiskEncryptionExtensionConstants . extensionTypeEnvVarName ) ;
307
315
switch ( osType )
308
316
{
309
317
case OSType . Windows :
310
318
if ( ( vmExtension != null ) &&
311
319
( vmExtension . Publisher != null ) &&
312
320
( vmExtension . VirtualMachineExtensionType != null ) &&
313
- ( vmExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) ) &&
314
- ( vmExtension . VirtualMachineExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) ) )
321
+ ( vmExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) ) &&
322
+ ( vmExtension . VirtualMachineExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . ExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) ) )
315
323
{
316
324
return true ;
317
325
}
@@ -321,8 +329,8 @@ private bool IsAzureDiskEncryptionExtension(OSType osType, VirtualMachineExtensi
321
329
if ( ( vmExtension != null ) &&
322
330
( vmExtension . Publisher != null ) &&
323
331
( vmExtension . VirtualMachineExtensionType != null ) &&
324
- ( vmExtension . Publisher . Equals ( extensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) ) &&
325
- ( vmExtension . VirtualMachineExtensionType . Equals ( extensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) ) )
332
+ ( vmExtension . Publisher . Equals ( this . ExtensionPublisherName ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultPublisher , StringComparison . InvariantCultureIgnoreCase ) ) &&
333
+ ( vmExtension . VirtualMachineExtensionType . Equals ( this . ExtensionType ?? AzureDiskEncryptionExtensionContext . LinuxExtensionDefaultType , StringComparison . InvariantCultureIgnoreCase ) ) )
326
334
{
327
335
return true ;
328
336
}
0 commit comments