Skip to content

Commit 261ca01

Browse files
[Key Vault] Make ManagedHsmSkuName an extensible enum (modelAsString: true) (#44008)
* update managed hsm sku enum to string * update * Fix tsp formatting: wrap @typeChangedFrom decorator to satisfy TypeSpec Validation Format rule --------- Co-authored-by: Neerja Gangwar <ngangwar@microsoft.com>
1 parent 4d2c14d commit 261ca01

2 files changed

Lines changed: 60 additions & 6 deletions

File tree

  • specification/keyvault/resource-manager/Microsoft.KeyVault/KeyVault

specification/keyvault/resource-manager/Microsoft.KeyVault/KeyVault/models.tsp

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ enum KeyVaultNameUnavailableReason {
588588
/**
589589
* SKU of the managed HSM Pool
590590
*/
591-
#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
591+
#suppress "@azure-tools/typespec-azure-core/no-enum" "Closed enum retained unchanged for already-released GA API versions 2025-05-01 and 2026-02-01 per Azure Breaking Changes Board guidance; superseded by the extensible union ManagedHsmSkuNameV2 starting in 2026-03-01-preview."
592592
enum ManagedHsmSkuName {
593593
Standard_B1,
594594
Custom_B32,
@@ -597,6 +597,29 @@ enum ManagedHsmSkuName {
597597
Custom_C10,
598598
}
599599

600+
/**
601+
* SKU of the managed HSM Pool
602+
*/
603+
@Versioning.added(KeyVault.Versions.v2026_03_01_preview)
604+
union ManagedHsmSkuNameV2 {
605+
string,
606+
607+
/** Standard_B1 SKU */
608+
Standard_B1: "Standard_B1",
609+
610+
/** Custom_B32 SKU */
611+
Custom_B32: "Custom_B32",
612+
613+
/** Custom_B6 SKU */
614+
Custom_B6: "Custom_B6",
615+
616+
/** Custom_C42 SKU */
617+
Custom_C42: "Custom_C42",
618+
619+
/** Custom_C10 SKU */
620+
Custom_C10: "Custom_C10",
621+
}
622+
600623
/**
601624
* The parameters used to create a key.
602625
*/
@@ -1906,7 +1929,11 @@ model ManagedHsmSku {
19061929
/**
19071930
* SKU of the managed HSM Pool
19081931
*/
1909-
name: ManagedHsmSkuName;
1932+
@Versioning.typeChangedFrom(
1933+
KeyVault.Versions.v2026_03_01_preview,
1934+
ManagedHsmSkuName
1935+
)
1936+
name: ManagedHsmSkuNameV2;
19101937
}
19111938

19121939
/**

specification/keyvault/resource-manager/Microsoft.KeyVault/KeyVault/preview/2026-03-01-preview/openapi.json

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4611,7 +4611,7 @@
46114611
"description": "SKU Family of the managed HSM Pool"
46124612
},
46134613
"name": {
4614-
"$ref": "#/definitions/ManagedHsmSkuName",
4614+
"$ref": "#/definitions/ManagedHsmSkuNameV2",
46154615
"description": "SKU of the managed HSM Pool"
46164616
}
46174617
},
@@ -4642,7 +4642,7 @@
46424642
]
46434643
}
46444644
},
4645-
"ManagedHsmSkuName": {
4645+
"ManagedHsmSkuNameV2": {
46464646
"type": "string",
46474647
"description": "SKU of the managed HSM Pool",
46484648
"enum": [
@@ -4653,8 +4653,35 @@
46534653
"Custom_C10"
46544654
],
46554655
"x-ms-enum": {
4656-
"name": "ManagedHsmSkuName",
4657-
"modelAsString": false
4656+
"name": "ManagedHsmSkuNameV2",
4657+
"modelAsString": true,
4658+
"values": [
4659+
{
4660+
"name": "Standard_B1",
4661+
"value": "Standard_B1",
4662+
"description": "Standard_B1 SKU"
4663+
},
4664+
{
4665+
"name": "Custom_B32",
4666+
"value": "Custom_B32",
4667+
"description": "Custom_B32 SKU"
4668+
},
4669+
{
4670+
"name": "Custom_B6",
4671+
"value": "Custom_B6",
4672+
"description": "Custom_B6 SKU"
4673+
},
4674+
{
4675+
"name": "Custom_C42",
4676+
"value": "Custom_C42",
4677+
"description": "Custom_C42 SKU"
4678+
},
4679+
{
4680+
"name": "Custom_C10",
4681+
"value": "Custom_C10",
4682+
"description": "Custom_C10 SKU"
4683+
}
4684+
]
46584685
}
46594686
},
46604687
"ManagedHsmTrigger": {

0 commit comments

Comments
 (0)