Skip to content

Commit e503572

Browse files
committed
Update Set-AzureRMVMOsDisk cmdlet
1 parent aa314db commit e503572

File tree

2 files changed

+27
-23
lines changed

2 files changed

+27
-23
lines changed

src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ public static class HelpMessages
2828
public const string VMOSDiskCaching = "The virtual machine OS disk's caching.";
2929
public const string VMOSDiskWindowsOSType = "The virtual machine disk's OS is Windows.";
3030
public const string VMOSDiskLinuxOSType = "The virtual machine disk's OS is Linux.";
31+
public const string VMOSDiskDiskEncryptionKeyUrl = "the URL referencing a secret in a disk encryption key vault";
32+
public const string VMOSDiskDiskEncryptionKeyVaultId = "the Id of a disk encryption key vault";
33+
public const string VMOSDiskKeyEncryptionKeyUrl = "the URL referencing a key in a key encryption key vault";
34+
public const string VMOSDiskKeyEncryptionKeyVaultId = "the Id of a key encryption key Vault";
3135
public const string VMSourceImageUri = "The virtual machine OS disk's source image Uri.";
3236

3337
public const string VMDataDiskName = "The virtual machine data disk's name.";

src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOSDiskCommand.cs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public class SetAzureVMOSDiskCommand : Microsoft.Azure.Commands.ResourceManager.
3333
protected const string DefaultParamSet = "DefaultParamSet";
3434
protected const string WindowsParamSet = "WindowsParamSet";
3535
protected const string LinuxParamSet = "LinuxParamSet";
36-
protected const string WindowsDiskEncryptionParameterSet = "WindowsDiskEncryptionParameterSet";
37-
protected const string LinuxDiskEncryptionParameterSet = "LinuxDiskEncryptionParameterSet";
36+
protected const string WindowsAndDiskEncryptionParameterSet = "WindowsDiskEncryptionParameterSet";
37+
protected const string LinuxAndDiskEncryptionParameterSet = "LinuxDiskEncryptionParameterSet";
3838

3939
[Alias("VMProfile")]
4040
[Parameter(
@@ -94,7 +94,7 @@ public class SetAzureVMOSDiskCommand : Microsoft.Azure.Commands.ResourceManager.
9494
ValueFromPipelineByPropertyName = true,
9595
HelpMessage = HelpMessages.VMOSDiskWindowsOSType)]
9696
[Parameter(
97-
ParameterSetName = WindowsDiskEncryptionParameterSet,
97+
ParameterSetName = WindowsAndDiskEncryptionParameterSet,
9898
Position = 6,
9999
ValueFromPipelineByPropertyName = true,
100100
HelpMessage = HelpMessages.VMOSDiskWindowsOSType)]
@@ -106,66 +106,66 @@ public class SetAzureVMOSDiskCommand : Microsoft.Azure.Commands.ResourceManager.
106106
ValueFromPipelineByPropertyName = true,
107107
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
108108
[Parameter(
109-
ParameterSetName = LinuxDiskEncryptionParameterSet,
109+
ParameterSetName = LinuxAndDiskEncryptionParameterSet,
110110
Position = 6,
111111
ValueFromPipelineByPropertyName = true,
112112
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
113113
public SwitchParameter Linux { get; set; }
114114

115115
[Parameter(
116-
ParameterSetName = WindowsDiskEncryptionParameterSet,
116+
ParameterSetName = WindowsAndDiskEncryptionParameterSet,
117117
Mandatory = true,
118118
Position = 7,
119119
ValueFromPipelineByPropertyName = true,
120-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
120+
HelpMessage = HelpMessages.VMOSDiskDiskEncryptionKeyUrl)]
121121
[Parameter(
122-
ParameterSetName = LinuxDiskEncryptionParameterSet,
122+
ParameterSetName = LinuxAndDiskEncryptionParameterSet,
123123
Mandatory = true,
124124
Position = 7,
125125
ValueFromPipelineByPropertyName = true,
126-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
126+
HelpMessage = HelpMessages.VMOSDiskDiskEncryptionKeyUrl)]
127127
public string DiskEncryptionKeyUrl { get; set; }
128128

129129
[Parameter(
130-
ParameterSetName = WindowsDiskEncryptionParameterSet,
130+
ParameterSetName = WindowsAndDiskEncryptionParameterSet,
131131
Mandatory = true,
132132
Position = 8,
133133
ValueFromPipelineByPropertyName = true,
134-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
134+
HelpMessage = HelpMessages.VMOSDiskDiskEncryptionKeyVaultId)]
135135
[Parameter(
136-
ParameterSetName = LinuxDiskEncryptionParameterSet,
136+
ParameterSetName = LinuxAndDiskEncryptionParameterSet,
137137
Mandatory = true,
138138
Position = 8,
139139
ValueFromPipelineByPropertyName = true,
140-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
140+
HelpMessage = HelpMessages.VMOSDiskDiskEncryptionKeyVaultId)]
141141
public string DiskEncryptionKeyVaultId { get; set; }
142142

143143
[Parameter(
144-
ParameterSetName = WindowsDiskEncryptionParameterSet,
144+
ParameterSetName = WindowsAndDiskEncryptionParameterSet,
145145
Mandatory = false,
146146
Position = 9,
147147
ValueFromPipelineByPropertyName = true,
148-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
148+
HelpMessage = HelpMessages.VMOSDiskKeyEncryptionKeyUrl)]
149149
[Parameter(
150-
ParameterSetName = LinuxDiskEncryptionParameterSet,
150+
ParameterSetName = LinuxAndDiskEncryptionParameterSet,
151151
Mandatory = false,
152152
Position = 9,
153153
ValueFromPipelineByPropertyName = true,
154-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
154+
HelpMessage = HelpMessages.VMOSDiskKeyEncryptionKeyUrl)]
155155
public string KeyEncryptionKeyUrl { get; set; }
156156

157157
[Parameter(
158-
ParameterSetName = WindowsDiskEncryptionParameterSet,
158+
ParameterSetName = WindowsAndDiskEncryptionParameterSet,
159159
Mandatory = false,
160160
Position = 10,
161161
ValueFromPipelineByPropertyName = true,
162-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
162+
HelpMessage = HelpMessages.VMOSDiskKeyEncryptionKeyVaultId)]
163163
[Parameter(
164-
ParameterSetName = LinuxDiskEncryptionParameterSet,
164+
ParameterSetName = LinuxAndDiskEncryptionParameterSet,
165165
Mandatory = false,
166166
Position = 10,
167167
ValueFromPipelineByPropertyName = true,
168-
HelpMessage = HelpMessages.VMOSDiskLinuxOSType)]
168+
HelpMessage = HelpMessages.VMOSDiskKeyEncryptionKeyVaultId)]
169169
public string KeyEncryptionKeyVaultId { get; set; }
170170

171171
protected override void ProcessRecord()
@@ -175,8 +175,8 @@ protected override void ProcessRecord()
175175
this.VM.StorageProfile = new StorageProfile();
176176
}
177177

178-
if ((this.KeyEncryptionKeyVaultId == null && this.KeyEncryptionKeyUrl != null)
179-
|| (this.KeyEncryptionKeyVaultId != null && this.KeyEncryptionKeyUrl == null))
178+
if ((string.IsNullOrEmpty(this.KeyEncryptionKeyVaultId) && !string.IsNullOrEmpty(this.KeyEncryptionKeyUrl))
179+
|| (!string.IsNullOrEmpty(this.KeyEncryptionKeyVaultId) && string.IsNullOrEmpty(this.KeyEncryptionKeyUrl)))
180180
{
181181
WriteError(new ErrorRecord(
182182
new Exception(Properties.Resources.VMOSDiskDiskEncryptionBothKekVaultIdAndKekUrlRequired),
@@ -198,7 +198,7 @@ protected override void ProcessRecord()
198198
},
199199
CreateOption = this.CreateOption,
200200
EncryptionSettings =
201-
(this.ParameterSetName.Equals(WindowsDiskEncryptionParameterSet) || this.ParameterSetName.Equals(WindowsDiskEncryptionParameterSet))
201+
(this.ParameterSetName.Equals(WindowsAndDiskEncryptionParameterSet) || this.ParameterSetName.Equals(LinuxAndDiskEncryptionParameterSet))
202202
? new DiskEncryptionSettings
203203
{
204204
DiskEncryptionKey = new KeyVaultSecretReference

0 commit comments

Comments
 (0)