Skip to content

Commit e087a54

Browse files
authored
Remove parameter Value from Invoke-AzKeyVaultKeyOperation and property Result from the output type PSKeyOperationResult (#24651)
* Remove parameter Value from Invoke-AzKeyVaultKeyOperation and property Result from the output type PSKeyOperationResult * add change log * add BreakingChangeIssues.csv
1 parent effe0b2 commit e087a54

File tree

6 files changed

+46
-95
lines changed

6 files changed

+46
-95
lines changed

src/KeyVault/KeyVault.Test/PesterTests/Key.Tests.ps1

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,18 @@ Describe "Import key" {
6161

6262
Describe "Invoke key operation" {
6363
It "Encrypt and Decrypt a sequence using key" {
64-
$encryptedResult = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
65-
$decryptedResult = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -Value (ConvertTo-SecureString -String $$encryptedResult.result -AsPlainText -Force)
66-
$decryptedResult.result | Should -Be "test"
64+
$plainText = "test"
65+
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($plainText)
66+
$encryptedResult = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -ByteArrayValue $byteArray
67+
$decryptedResult = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -ByteArrayValue $encryptedData.RawResult
68+
[system.Text.Encoding]::UTF8.GetString($decryptedData.RawResult) | Should -Be "test"
6769
}
6870

6971
It "Wrap and Unwrap a sequence using key" {
70-
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
71-
$unwrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -Value (ConvertTo-SecureString -String $wrappedResult.result -AsPlainText -Force)
72-
$unwrappedResult.result | Should -Be "test"
72+
$key = "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo"
73+
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($key)
74+
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -ByteArrayValue $byteArray
75+
$unwrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -HsmName bez-hsm -Name bez-k -ByteArrayValue $wrappedResult.RawResult
76+
[system.Text.Encoding]::UTF8.GetString($unwrappedResult.RawResult) | Should -Be $key
7377
}
7478
}

src/KeyVault/KeyVault/ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* [Breaking change] Removed parameter `Value` from `Invoke-AzKeyVaultKeyOperation`.
22+
* [Breaking change] Removed property `Result` from the output type `PSKeyOperationResult` of `Invoke-AzKeyVaultKeyOperation`.
2123
* [Breaking Change] Replaced parameter `EnableRbacAuthorization` by `DisableRbacAuthorization` in `New-AzKeyVault` and `Update-AzKeyVault`.
2224
- RBAC will be enabled by default during the process of key vault creation.
2325
* Introduced secrets detection feature to safeguard sensitive data.

src/KeyVault/KeyVault/Commands/Key/InvokeAzureKeyVaultKeyOperation.cs

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ namespace Microsoft.Azure.Commands.KeyVault.Commands.Key
1818
/// 3. Wraps a symmetric key using a specified key.
1919
/// 4. Unwraps a symmetric key using the specified key that was initially used for wrapping that key.
2020
/// </summary>
21-
[CmdletOutputBreakingChangeWithVersion(typeof(PSKeyOperationResult), "12.0.0", "6.0.0", DeprecatedOutputProperties = new string[] { "Result" }, NewOutputProperties = new string[] { "RawResult" })]
2221
[Cmdlet(VerbsLifecycle.Invoke, ResourceManager.Common.AzureRMConstants.AzurePrefix + "KeyVaultKeyOperation", SupportsShouldProcess = true, DefaultParameterSetName = ByVaultNameParameterSet)]
2322
[OutputType(typeof(PSKeyOperationResult))]
2423
public class InvokeAzureKeyVaultKeyOperation : KeyVaultKeyCmdletBase
@@ -57,62 +56,25 @@ enum Operations
5756
[Alias("EncryptionAlgorithm", "WrapAlgorithm")]
5857
public string Algorithm { get; set; }
5958

60-
[Parameter(Mandatory = false, HelpMessage = "The value to be operated. This parameter will be converted to byte array in UTF-8 encoding way. If your value can't be encoded by UTF-8, please use parameter ByteArrayValue as its alternative.")]
61-
[ValidateNotNullOrEmpty]
62-
[CmdletParameterBreakingChangeWithVersion(nameof(Value), "12.0.0", "6.0.0", ReplaceMentCmdletParameterName = nameof(ByteArrayValue))]
63-
public SecureString Value { get; set; }
64-
65-
[Parameter(Mandatory = false, HelpMessage = "The value to be operated in byte array format.")]
59+
[Parameter(Mandatory = true, HelpMessage = "The value to be operated in byte array format.")]
6660
[ValidateNotNullOrEmpty]
6761
public byte[] ByteArrayValue { get; set; }
6862

6963
#endregion Input Parameter Definitions
7064

7165
private Operations opt = Operations.Unknown;
7266

73-
internal void ValidateParameters()
74-
{
75-
if (this.IsParameterBound(c => c.Value) && this.IsParameterBound(c => c.ByteArrayValue))
76-
{
77-
throw new AzPSArgumentException(string.Format("Please provide only one of parameter Value and ByteArrayValue"), nameof(ByteArrayValue));
78-
}
79-
else if (!this.IsParameterBound(c => c.Value) && !this.IsParameterBound(c => c.ByteArrayValue))
80-
{
81-
throw new AzPSArgumentException(string.Format("Must provide one of parameter Value and ByteArrayValue"), nameof(ByteArrayValue));
82-
}
83-
}
67+
internal void ValidateParameters() { }
8468

8569
internal override void NormalizeParameterSets()
8670
{
87-
8871
if (InputObject != null)
8972
{
9073
Version = Version ?? InputObject.Version;
9174
}
9275

9376
Enum.TryParse(Operation, out opt);
9477

95-
if (this.IsParameterBound(c => c.Value))
96-
{
97-
switch (opt)
98-
{
99-
case Operations.Encrypt:
100-
ByteArrayValue = Encoding.UTF8.GetBytes(Value.ConvertToString());
101-
break;
102-
case Operations.Decrypt:
103-
ByteArrayValue = Convert.FromBase64String(Value.ConvertToString());
104-
break;
105-
case Operations.Wrap:
106-
ByteArrayValue = Encoding.UTF8.GetBytes(Value.ConvertToString());
107-
break;
108-
case Operations.Unwrap:
109-
ByteArrayValue = Convert.FromBase64String(Value.ConvertToString());
110-
break;
111-
default:
112-
throw new NotSupportedException("Not supported ${Operation} yet");
113-
}
114-
}
115-
11678
base.NormalizeParameterSets();
11779
}
11880

@@ -142,7 +104,7 @@ public override void ExecuteCmdlet()
142104
this.Track2DataClient.UnwrapKey(VaultName, Name, Version, ByteArrayValue, Algorithm));
143105
break;
144106
case Operations.Unknown:
145-
throw new NotSupportedException("Not supported ${Operation} yet");
107+
throw new NotSupportedException($"Not supported operation '{Operation}' yet");
146108
}
147109
}
148110
else
@@ -166,7 +128,7 @@ public override void ExecuteCmdlet()
166128
this.Track2DataClient.ManagedHsmUnwrapKey(HsmName, Name, Version, ByteArrayValue, Algorithm));
167129
break;
168130
case Operations.Unknown:
169-
throw new NotSupportedException("Not supported ${Operation} yet");
131+
throw new NotSupportedException($"Not supported operation '{Operation}' yet");
170132
}
171133

172134
}

src/KeyVault/KeyVault/Models/Key/PSKeyOperationResult.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ public class PSKeyOperationResult
2323
[Ps1Xml(Target = ViewControl.List, Label = nameof(RawResult), Position = 1)]
2424
public byte[] RawResult { get; }
2525

26-
// Summary: encryted result or wraped result is base64 format. decryted result or unwraped result is plain text
27-
public string Result { get; }
28-
2926
// Summary: Algorithm used.
3027
[Ps1Xml(Target = ViewControl.List, Label = nameof(Algorithm), Position = 2)]
3128
public string Algorithm { get; }
@@ -34,31 +31,27 @@ public PSKeyOperationResult(WrapResult wrapResult)
3431
{
3532
this.KeyId = wrapResult.KeyId;
3633
this.RawResult = wrapResult.EncryptedKey;
37-
this.Result = System.Convert.ToBase64String(wrapResult.EncryptedKey);
3834
this.Algorithm = wrapResult.Algorithm.ToString();
3935
}
4036

4137
public PSKeyOperationResult(UnwrapResult unwrapResult)
4238
{
4339
this.KeyId = unwrapResult.KeyId;
4440
this.RawResult = unwrapResult.Key;
45-
this.Result = System.Text.Encoding.UTF8.GetString(unwrapResult.Key);
4641
this.Algorithm = unwrapResult.Algorithm.ToString();
4742
}
4843

4944
public PSKeyOperationResult(EncryptResult encryptResult)
5045
{
5146
this.KeyId = encryptResult.KeyId;
5247
this.RawResult = encryptResult.Ciphertext;
53-
this.Result = System.Convert.ToBase64String(encryptResult.Ciphertext);
5448
this.Algorithm = encryptResult.Algorithm.ToString();
5549
}
5650

5751
public PSKeyOperationResult(DecryptResult decryptResult)
5852
{
5953
this.KeyId = decryptResult.KeyId;
6054
this.RawResult = decryptResult.Plaintext;
61-
this.Result = System.Text.Encoding.UTF8.GetString(decryptResult.Plaintext);
6255
this.Algorithm = decryptResult.Algorithm.ToString();
6356
}
6457
}

src/KeyVault/KeyVault/help/Invoke-AzKeyVaultKeyOperation.md

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,22 @@ Performs operation like "Encrypt", "Decrypt", "Wrap" or "Unwrap" using a specifi
1515
### ByVaultName (Default)
1616
```
1717
Invoke-AzKeyVaultKeyOperation [-Version <String>] -Operation <String> -Algorithm <String>
18-
[-Value <SecureString>] [-ByteArrayValue <Byte[]>] [-Name] <String> [-VaultName] <String>
19-
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
20-
[<CommonParameters>]
18+
[-ByteArrayValue <Byte[]>] [-Name] <String> [-VaultName] <String> [-DefaultProfile <IAzureContextContainer>]
19+
[-WhatIf] [-Confirm] [<CommonParameters>]
2120
```
2221

2322
### ByHsmName
2423
```
2524
Invoke-AzKeyVaultKeyOperation [-Version <String>] -Operation <String> -Algorithm <String>
26-
[-Value <SecureString>] [-ByteArrayValue <Byte[]>] [-HsmName] <String> [-Name] <String>
27-
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
28-
[<CommonParameters>]
25+
[-ByteArrayValue <Byte[]>] [-HsmName] <String> [-Name] <String> [-DefaultProfile <IAzureContextContainer>]
26+
[-WhatIf] [-Confirm] [<CommonParameters>]
2927
```
3028

3129
### ByKeyInputObject
3230
```
3331
Invoke-AzKeyVaultKeyOperation [-Version <String>] -Operation <String> -Algorithm <String>
34-
[-Value <SecureString>] [-ByteArrayValue <Byte[]>] [-InputObject] <PSKeyVaultKeyIdentityItem>
35-
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
36-
[<CommonParameters>]
32+
[-ByteArrayValue <Byte[]>] [-InputObject] <PSKeyVaultKeyIdentityItem>
33+
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
3734
```
3835

3936
## DESCRIPTION
@@ -76,7 +73,9 @@ Decrypts `$encryptedData.RawResult` using test-key stored in test-kv. The `$decr
7673

7774
### Example 3: Encrypts plain text using an encryption key
7875
```powershell
79-
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
76+
$plainText = "test"
77+
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($plainText)
78+
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
8079
$encryptedData
8180
```
8281

@@ -86,26 +85,26 @@ RawResult : {58, 219, 6, 236…}
8685
Algorithm : RSA1_5
8786
```
8887

89-
Encrypts string "test" using test-key stored in test-kv. The `RawResult` is the encrypted result in byte array format, where [System.Convert]::ToBase64String($encryptedData.RawResult) equals $encryptedData.Result.
88+
Encrypts string "test" using test-key stored in test-kv. The `RawResult` is the encrypted result in byte array format.
9089

9190
### Example 4: Decrypt encrypted data to plain text
9291
```powershell
9392
$decryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $encryptedData.RawResult
94-
$decryptedData
93+
$plainText = [system.Text.Encoding]::UTF8.GetString($decryptedData.RawResult)
94+
$plainText
9595
```
9696

9797
```output
98-
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
99-
RawResult : $byteArray
100-
Algorithm : RSA1_5
98+
test
10199
```
102100

103-
Decrypts encrypted data that is encrypted using test-key stored in test-kv. The `$decryptedData.Result` is `test`. The `RawResult` is the decrypted result in byte array format, where [System.Text.UTF8Encoding]::UTF8.GetString($decryptedData.RawResult) equals $decryptedData.Result.
101+
Decrypts encrypted data that is encrypted using test-key stored in test-kv. The `RawResult` is the decrypted result in byte array format.
104102

105103
### Example 5: Wraps a symmetric key using a specified key
106104
```powershell
107-
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" -AsPlainText -Force)
108-
105+
$key = "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo"
106+
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($key)
107+
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
109108
$wrappedResult | Format-List
110109
```
111110

@@ -115,20 +114,20 @@ RawResult : {58, 219, 6, 236…}
115114
Algorithm : RSA1_5
116115
```
117116

118-
Wraps a symmetric key using key named test-key stored in test-kv. The `Result` is wrapped result in Base64 string format.
117+
Wraps a symmetric key using key named test-key stored in test-kv. The `RawResult` is wrapped result in byte array format.
119118

120119
### Example 6: Unwraps a symmetric key using a specified key
121120
```powershell
122-
Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String $result.Result -AsPlainText -Force)
121+
$unwrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $wrappedResult.RawResult
122+
$key = [system.Text.Encoding]::UTF8.GetString($unwrappedResult.RawResult)
123+
$key
123124
```
124125

125126
```output
126-
KeyId : https://test-kv.vault.azure.net/keys/test-key/375cdf20252043b79c8ca0c57b6c7679
127-
RawResult : {58, 219, 6, 236…}
128-
Algorithm : RSA1_5
127+
ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo
129128
```
130129

131-
Unwraps a symmetric key using a specified key test-key stored in test-kv. The `Result` is a plain string.
130+
Unwraps a symmetric key using a specified key test-key stored in test-kv. The `RawResult` is unwrapped result in byte array format.
132131

133132
## PARAMETERS
134133

@@ -237,21 +236,6 @@ Accept pipeline input: False
237236
Accept wildcard characters: False
238237
```
239238
240-
### -Value
241-
The value to be operated. This parameter will be converted to byte array in UTF-8 encoding way. If your value can't be encoded by UTF-8, please use parameter ByteArrayValue as its alternative.
242-
243-
```yaml
244-
Type: System.Security.SecureString
245-
Parameter Sets: (All)
246-
Aliases:
247-
248-
Required: False
249-
Position: Named
250-
Default value: None
251-
Accept pipeline input: False
252-
Accept wildcard characters: False
253-
```
254-
255239
### -VaultName
256240
Vault name.
257241
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
"Module","ClassName","Target","Severity","ProblemId","Description","Remediation"
2+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","3010","The property 'Result' of type 'Microsoft.Azure.Commands.KeyVault.Models.PSKeyOperationResult' has been removed.","Add the property 'Result' back to type 'Microsoft.Azure.Commands.KeyVault.Models.PSKeyOperationResult'."
3+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","2000","The cmdlet 'Invoke-AzKeyVaultKeyOperation' no longer supports the parameter 'Value' and no alias was found for the original parameter name.","Add the parameter 'Value' back to the cmdlet 'Invoke-AzKeyVaultKeyOperation', or add an alias to the original parameter name."
4+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","1050","The parameter set '__AllParameterSets' for cmdlet 'Invoke-AzKeyVaultKeyOperation' has been removed.","Add parameter set '__AllParameterSets' back to cmdlet 'Invoke-AzKeyVaultKeyOperation'."
5+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","1050","The parameter set 'ByHsmName' for cmdlet 'Invoke-AzKeyVaultKeyOperation' has been removed.","Add parameter set 'ByHsmName' back to cmdlet 'Invoke-AzKeyVaultKeyOperation'."
6+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","1050","The parameter set 'ByVaultName' for cmdlet 'Invoke-AzKeyVaultKeyOperation' has been removed.","Add parameter set 'ByVaultName' back to cmdlet 'Invoke-AzKeyVaultKeyOperation'."
7+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.Commands.Key.InvokeAzureKeyVaultKeyOperation","Invoke-AzKeyVaultKeyOperation","0","1050","The parameter set 'ByKeyInputObject' for cmdlet 'Invoke-AzKeyVaultKeyOperation' has been removed.","Add parameter set 'ByKeyInputObject' back to cmdlet 'Invoke-AzKeyVaultKeyOperation'."
28
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.NewAzureKeyVault","New-AzKeyVault","0","2000","The cmdlet 'New-AzKeyVault' no longer supports the parameter 'EnableRbacAuthorization' and no alias was found for the original parameter name.","Add the parameter 'EnableRbacAuthorization' back to the cmdlet 'New-AzKeyVault', or add an alias to the original parameter name."
39
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.NewAzureKeyVault","New-AzKeyVault","0","1050","The parameter set '__AllParameterSets' for cmdlet 'New-AzKeyVault' has been removed.","Add parameter set '__AllParameterSets' back to cmdlet 'New-AzKeyVault'."
410
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","2000","The cmdlet 'Update-AzKeyVault' no longer supports the parameter 'EnableRbacAuthorization' and no alias was found for the original parameter name.","Add the parameter 'EnableRbacAuthorization' back to the cmdlet 'Update-AzKeyVault', or add an alias to the original parameter name."
511
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","1050","The parameter set 'UpdateByNameParameterSet' for cmdlet 'Update-AzKeyVault' has been removed.","Add parameter set 'UpdateByNameParameterSet' back to cmdlet 'Update-AzKeyVault'."
612
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","1050","The parameter set 'UpdateByInputObjectParameterSet' for cmdlet 'Update-AzKeyVault' has been removed.","Add parameter set 'UpdateByInputObjectParameterSet' back to cmdlet 'Update-AzKeyVault'."
713
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","1050","The parameter set 'UpdateByResourceIdParameterSet' for cmdlet 'Update-AzKeyVault' has been removed.","Add parameter set 'UpdateByResourceIdParameterSet' back to cmdlet 'Update-AzKeyVault'."
8-
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","1050","The parameter set '__AllParameterSets' for cmdlet 'Update-AzKeyVault' has been removed.","Add parameter set '__AllParameterSets' back to cmdlet 'Update-AzKeyVault'."
14+
"Az.KeyVault","Microsoft.Azure.Commands.KeyVault.UpdateTopLevelResourceCommand","Update-AzKeyVault","0","1050","The parameter set '__AllParameterSets' for cmdlet 'Update-AzKeyVault' has been removed.","Add parameter set '__AllParameterSets' back to cmdlet 'Update-AzKeyVault'."

0 commit comments

Comments
 (0)