diff --git a/schemas/2020-04-01-preview/Microsoft.KeyVault.json b/schemas/2020-04-01-preview/Microsoft.KeyVault.json index 6f7ba25cc2..ab5b9fb9fb 100644 --- a/schemas/2020-04-01-preview/Microsoft.KeyVault.json +++ b/schemas/2020-04-01-preview/Microsoft.KeyVault.json @@ -113,6 +113,9 @@ "type": "array", "items": { "oneOf": [ + { + "$ref": "#/definitions/vaults_keys_childResource" + }, { "$ref": "#/definitions/vaults_accessPolicies_childResource" }, @@ -207,6 +210,68 @@ ], "description": "Microsoft.KeyVault/vaults/accessPolicies" }, + "vaults_keys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults/keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/keys" + }, "vaults_privateEndpointConnections": { "type": "object", "properties": { @@ -377,6 +442,129 @@ ], "description": "A rule governing the accessibility of a vault from a specific ip address or ip range." }, + "KeyAttributes": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether or not the object is enabled." + }, + "exp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "nbf": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The attributes of the key." + }, + "KeyProperties": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/KeyAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The attributes of the key." + }, + "curveName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName." + }, + "keyOps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keySize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "kty": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the key. For valid values, see JsonWebKeyType." + } + }, + "description": "The properties of the key." + }, "ManagedHsmProperties": { "type": "object", "properties": { @@ -1129,6 +1317,68 @@ ], "description": "Microsoft.KeyVault/vaults/accessPolicies" }, + "vaults_keys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/keys" + }, "vaults_privateEndpointConnections_childResource": { "type": "object", "properties": { diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index cfd5c05202..f4906a312c 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -5731,6 +5731,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.KeyVault.json#/resourceDefinitions/vaults_accessPolicies" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.KeyVault.json#/resourceDefinitions/vaults_keys" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.KeyVault.json#/resourceDefinitions/vaults_privateEndpointConnections" },