{ "swagger": "2.0", "info": { "title": "KeyVaultManagementClient", "version": "2026-02-01", "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "Vaults" }, { "name": "DeletedVaults" }, { "name": "PrivateEndpointConnections" }, { "name": "ManagedHsms" }, { "name": "DeletedManagedHsms" }, { "name": "MhsmPrivateEndpointConnections" }, { "name": "Secrets" }, { "name": "Keys" }, { "name": "KeyOperationGroup" }, { "name": "ManagedHsmKeys" }, { "name": "ManagedHsmKeyOperationGroup" } ], "paths": { "/providers/Microsoft.KeyVault/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Lists available Rest API operations.": { "$ref": "./examples/listOperations.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkMhsmNameAvailability": { "post": { "operationId": "ManagedHsms_CheckMhsmNameAvailability", "description": "Checks that the managed hsm name is valid and is not already in use.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "mhsmName", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/CheckMhsmNameAvailabilityParameters" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/CheckMhsmNameAvailabilityResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Validate a managed hsm name": { "$ref": "./examples/ManagedHsm_checkMhsmNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": { "post": { "operationId": "Vaults_CheckNameAvailability", "description": "Checks that the vault name is valid and is not already in use.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "vaultName", "in": "body", "description": "The name of the vault.", "required": true, "schema": { "$ref": "#/definitions/VaultCheckNameAvailabilityParameters" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Validate a vault name": { "$ref": "./examples/checkVaultNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedManagedHSMs": { "get": { "operationId": "ManagedHsms_ListDeleted", "description": "The List operation gets information about the deleted managed HSMs associated with the subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/DeletedManagedHsmListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "List deleted managed HSMs in the specified subscription": { "$ref": "./examples/DeletedManagedHsm_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": { "get": { "operationId": "Vaults_ListDeleted", "description": "Gets information about the deleted vaults in a subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/DeletedVaultListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List deleted vaults in the specified subscription": { "$ref": "./examples/listDeletedVaults.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}": { "get": { "operationId": "ManagedHsms_GetDeleted", "tags": [ "DeletedManagedHsms" ], "description": "Gets the specified deleted managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "name", "in": "path", "description": "The name of the deleted managed HSM.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeletedManagedHsm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Retrieve a deleted managed HSM": { "$ref": "./examples/DeletedManagedHsm_Get.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}/purge": { "post": { "operationId": "ManagedHsms_PurgeDeleted", "tags": [ "DeletedManagedHsms" ], "description": "Permanently deletes the specified managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "name", "in": "path", "description": "The name of the deleted managed HSM.", "required": true, "type": "string" } ], "responses": { "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Purge a managed HSM Pool": { "$ref": "./examples/DeletedManagedHsm_Purge.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": { "get": { "operationId": "Vaults_GetDeleted", "tags": [ "DeletedVaults" ], "description": "Gets the deleted Azure key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeletedVault" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Retrieve a deleted vault": { "$ref": "./examples/getDeletedVault.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": { "post": { "operationId": "Vaults_PurgeDeleted", "tags": [ "DeletedVaults" ], "description": "Permanently deletes the specified vault. aka Purges the deleted Azure key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Purge a deleted vault": { "$ref": "./examples/purgeDeletedVault.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs": { "get": { "operationId": "ManagedHsms_ListBySubscription", "tags": [ "ManagedHsms" ], "description": "The List operation gets information about the managed HSM Pools associated with the subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "List managed HSM Pools in a subscription": { "$ref": "./examples/ManagedHsm_ListBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": { "get": { "operationId": "Vaults_ListBySubscription", "tags": [ "Vaults" ], "description": "The List operation gets information about the vaults associated with the subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/VaultListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List vaults in the specified subscription": { "$ref": "./examples/listVaultBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs": { "get": { "operationId": "ManagedHsms_ListByResourceGroup", "tags": [ "ManagedHsms" ], "description": "The List operation gets information about the managed HSM Pools associated with the subscription and within the specified resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "List managed HSM Pools in a resource group": { "$ref": "./examples/ManagedHsm_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}": { "get": { "operationId": "ManagedHsms_Get", "tags": [ "ManagedHsms" ], "description": "Gets the specified managed HSM Pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsm" } }, "204": { "description": "Operation completed successfully." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Retrieve a managed HSM Pool": { "$ref": "./examples/ManagedHsm_Get.json" } } }, "put": { "operationId": "ManagedHsms_CreateOrUpdate", "tags": [ "ManagedHsms" ], "description": "Create or update a managed HSM Pool in the specified subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to create or update the managed HSM Pool", "required": true, "schema": { "$ref": "#/definitions/ManagedHsm" } } ], "responses": { "200": { "description": "Resource 'ManagedHsm' update operation succeeded", "schema": { "$ref": "#/definitions/ManagedHsm" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/ManagedHsm" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Create a new managed HSM Pool or update an existing managed HSM Pool": { "$ref": "./examples/ManagedHsm_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/ManagedHsm" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "ManagedHsms_Update", "tags": [ "ManagedHsms" ], "description": "Update a managed HSM Pool in the specified subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to patch the managed HSM Pool", "required": true, "schema": { "$ref": "#/definitions/ManagedHsm" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsm" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/ManagedHsm" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Update an existing managed HSM Pool": { "$ref": "./examples/ManagedHsm_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/ManagedHsm" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "ManagedHsms_Delete", "tags": [ "ManagedHsms" ], "description": "Deletes the specified managed HSM Pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "Delete a managed HSM Pool": { "$ref": "./examples/ManagedHsm_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys": { "get": { "operationId": "ManagedHsmKeys_List", "tags": [ "ManagedHsmKeys" ], "description": "Lists the keys in the specified managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the Managed HSM Pool within the specified resource group.", "required": true, "type": "string", "minLength": 3, "maxLength": 24, "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmKeyListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List keys in the managed HSM": { "$ref": "./examples/managedHsmListKeys.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}": { "get": { "operationId": "ManagedHsmKeys_Get", "tags": [ "ManagedHsmKeys" ], "description": "Gets the current version of the specified key from the specified managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the Managed HSM Pool within the specified resource group.", "required": true, "type": "string", "minLength": 3, "maxLength": 24, "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmKey" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get a key": { "$ref": "./examples/managedHsmGetKey.json" } } }, "put": { "operationId": "ManagedHsmKeys_CreateIfNotExist", "tags": [ "ManagedHsmKeys" ], "description": "Creates the first version of a new key if it does not exist. If it already exists, then the existing key is returned without any write operations being performed. This API does not create subsequent versions, and does not update existing keys.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the Managed HSM Pool within the specified resource group.", "required": true, "type": "string", "minLength": 3, "maxLength": 24, "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" }, { "name": "parameters", "in": "body", "description": "The parameters used to create the specified key.", "required": true, "schema": { "$ref": "#/definitions/ManagedHsmKeyCreateParameters" } } ], "responses": { "200": { "description": "Resource 'ManagedHsmKey' update operation succeeded", "schema": { "$ref": "#/definitions/ManagedHsmKey" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create a key": { "$ref": "./examples/managedHsmCreateKey.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}/versions": { "get": { "operationId": "ManagedHsmKeys_ListVersions", "tags": [ "ManagedHsmKeyOperationGroup" ], "description": "Lists the keys in the specified managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the Managed HSM Pool within the specified resource group.", "required": true, "type": "string", "minLength": 3, "maxLength": 24, "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmKeyListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List key versions in the managed HSM": { "$ref": "./examples/managedHsmListKeyVersions.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}/versions/{keyVersion}": { "get": { "operationId": "ManagedHsmKeys_GetVersion", "tags": [ "ManagedHsmKeyOperationGroup" ], "description": "Gets the specified version of the specified key in the specified managed HSM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the Managed HSM Pool within the specified resource group.", "required": true, "type": "string", "minLength": 3, "maxLength": 24, "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" }, { "name": "keyVersion", "in": "path", "description": "The version of the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-fA-F0-9]{32}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedHsmKey" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get a key version": { "$ref": "./examples/managedHsmGetKeyVersion.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections": { "get": { "operationId": "MHSMPrivateEndpointConnections_ListByResource", "tags": [ "MhsmPrivateEndpointConnections" ], "description": "The List operation gets information about the private endpoint connections associated with the managed HSM Pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MHSMPrivateEndpointConnectionsListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "List managed HSM Pools in a subscription": { "$ref": "./examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "operationId": "MHSMPrivateEndpointConnections_Get", "tags": [ "MhsmPrivateEndpointConnections" ], "description": "Gets the specified private endpoint connection associated with the managed HSM Pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the managed hsm pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MHSMPrivateEndpointConnection" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "ManagedHsmGetPrivateEndpointConnection": { "$ref": "./examples/ManagedHsm_getPrivateEndpointConnection.json" } } }, "put": { "operationId": "MHSMPrivateEndpointConnections_Put", "tags": [ "MhsmPrivateEndpointConnections" ], "description": "Updates the specified private endpoint connection associated with the managed hsm pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the managed hsm pool.", "required": true, "type": "string" }, { "name": "properties", "in": "body", "description": "The intended state of private endpoint connection.", "required": true, "schema": { "$ref": "#/definitions/MHSMPrivateEndpointConnection" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/MHSMPrivateEndpointConnection" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "ManagedHsmPutPrivateEndpointConnection": { "$ref": "./examples/ManagedHsm_putPrivateEndpointConnection.json" } } }, "delete": { "operationId": "MHSMPrivateEndpointConnections_Delete", "tags": [ "MhsmPrivateEndpointConnections" ], "description": "Deletes the specified private endpoint connection associated with the managed hsm pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the managed hsm pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MHSMPrivateEndpointConnection" } }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "ManagedHsmDeletePrivateEndpointConnection": { "$ref": "./examples/ManagedHsm_deletePrivateEndpointConnection.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/MHSMPrivateEndpointConnection" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateLinkResources": { "get": { "operationId": "MHSMPrivateLinkResources_ListByMHSMResource", "tags": [ "ManagedHsms" ], "description": "Gets the private link resources supported for the managed hsm pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MHSMPrivateLinkResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultListPrivateLinkResources": { "$ref": "./examples/ManagedHsm_listPrivateLinkResources.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/regions": { "get": { "operationId": "MHSMRegions_ListByResource", "tags": [ "ManagedHsms" ], "description": "The List operation gets information about the regions associated with the managed HSM Pool.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "The name of the managed HSM Pool.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MHSMRegionsListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ManagedHsmError" } } }, "x-ms-examples": { "List managed HSM Pools in a subscription": { "$ref": "./examples/ManagedHsm_ListRegionsByResource.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": { "get": { "operationId": "Vaults_ListByResourceGroup", "tags": [ "Vaults" ], "description": "The List operation gets information about the vaults associated with the subscription and within the specified resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/VaultListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List vaults in the specified resource group": { "$ref": "./examples/listVaultByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": { "get": { "operationId": "Vaults_Get", "tags": [ "Vaults" ], "description": "Gets the specified Azure key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Vault" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Retrieve a vault": { "$ref": "./examples/getVault.json" } } }, "put": { "operationId": "Vaults_CreateOrUpdate", "tags": [ "Vaults" ], "description": "Create or update a key vault in the specified subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to create or update the vault", "required": true, "schema": { "$ref": "#/definitions/VaultCreateOrUpdateParameters" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/Vault" } }, "201": { "description": "Resource 'Vault' create operation succeeded", "schema": { "$ref": "#/definitions/Vault" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create a new vault or update an existing vault": { "$ref": "./examples/createVault.json" }, "Create or update a vault with network acls": { "$ref": "./examples/createVaultWithNetworkAcls.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Vault" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Vaults_Update", "tags": [ "Vaults" ], "description": "Update a key vault in the specified subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to patch the vault", "required": true, "schema": { "$ref": "#/definitions/VaultPatchParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Vault" } }, "201": { "description": "Resource 'Vault' create operation succeeded", "schema": { "$ref": "#/definitions/Vault" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Update an existing vault": { "$ref": "./examples/updateVault.json" } } }, "delete": { "operationId": "Vaults_Delete", "tags": [ "Vaults" ], "description": "Deletes the specified Azure key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Delete a vault": { "$ref": "./examples/deleteVault.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": { "put": { "operationId": "Vaults_UpdateAccessPolicy", "tags": [ "Vaults" ], "description": "Update access policies in a key vault in the specified subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "Name of the vault", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "operationKind", "in": "path", "description": "Name of the operation", "required": true, "type": "string", "enum": [ "add", "replace", "remove" ], "x-ms-enum": { "name": "AccessPolicyUpdateKind", "modelAsString": false } }, { "name": "parameters", "in": "body", "description": "Access policy to merge into the vault", "required": true, "schema": { "$ref": "#/definitions/VaultAccessPolicyParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/VaultAccessPolicyParameters" } }, "201": { "description": "Resource 'VaultAccessPolicyParameters' create operation succeeded", "schema": { "$ref": "#/definitions/VaultAccessPolicyParameters" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Add an access policy, or update an access policy with new permissions": { "$ref": "./examples/updateAccessPoliciesAdd.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys": { "get": { "operationId": "Keys_List", "tags": [ "Keys" ], "description": "Lists the keys in the specified key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault which contains the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/KeyListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List keys in the vault": { "$ref": "./examples/listKeys.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}": { "get": { "operationId": "Keys_Get", "tags": [ "Keys" ], "description": "Gets the current version of the specified key from the specified key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault which contains the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Key" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get a key": { "$ref": "./examples/getKey.json" } } }, "put": { "operationId": "Keys_CreateIfNotExist", "tags": [ "Keys" ], "description": "Creates the first version of a new key if it does not exist. If it already exists, then the existing key is returned without any write operations being performed. This API does not create subsequent versions, and does not update existing keys.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault which contains the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "keyName", "in": "path", "description": "The name of the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" }, { "name": "parameters", "in": "body", "description": "The parameters used to create the specified key.", "required": true, "schema": { "$ref": "#/definitions/KeyCreateParameters" } } ], "responses": { "200": { "description": "Resource 'Key' update operation succeeded", "schema": { "$ref": "#/definitions/Key" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create a key": { "$ref": "./examples/createKey.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions": { "get": { "operationId": "Keys_ListVersions", "tags": [ "KeyOperationGroup" ], "description": "Lists the keys in the specified key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault which contains the key version to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "keyName", "in": "path", "description": "The name of the key version to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/KeyListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List key versions in the vault": { "$ref": "./examples/listKeyVersions.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions/{keyVersion}": { "get": { "operationId": "Keys_GetVersion", "tags": [ "KeyOperationGroup" ], "description": "Gets the specified version of the specified key in the specified key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault which contains the key version to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "keyName", "in": "path", "description": "The name of the key version to be retrieved.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{1,127}$" }, { "name": "keyVersion", "in": "path", "description": "The version of the key to be retrieved.", "required": true, "type": "string", "pattern": "^[a-fA-F0-9]{32}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Key" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get a key version": { "$ref": "./examples/getKeyVersion.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections": { "get": { "operationId": "PrivateEndpointConnections_ListByResource", "tags": [ "PrivateEndpointConnections" ], "description": "The List operation gets information about the private endpoint connections associated with the vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultListPrivateEndpointConnection": { "$ref": "./examples/listPrivateEndpointConnection.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "operationId": "PrivateEndpointConnections_Get", "tags": [ "PrivateEndpointConnections" ], "description": "Gets the specified private endpoint connection associated with the key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the key vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "204": { "description": "Operation completed successfully." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultGetPrivateEndpointConnection": { "$ref": "./examples/getPrivateEndpointConnection.json" } } }, "put": { "operationId": "PrivateEndpointConnections_Put", "tags": [ "PrivateEndpointConnections" ], "description": "Updates the specified private endpoint connection associated with the key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the key vault.", "required": true, "type": "string" }, { "name": "properties", "in": "body", "description": "The intended state of private endpoint connection.", "required": true, "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultPutPrivateEndpointConnection": { "$ref": "./examples/putPrivateEndpointConnection.json" } } }, "delete": { "operationId": "PrivateEndpointConnections_Delete", "tags": [ "PrivateEndpointConnections" ], "description": "Deletes the specified private endpoint connection associated with the key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "privateEndpointConnectionName", "in": "path", "description": "Name of the private endpoint connection associated with the key vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultDeletePrivateEndpointConnection": { "$ref": "./examples/deletePrivateEndpointConnection.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/PrivateEndpointConnection" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateLinkResources": { "get": { "operationId": "PrivateLinkResources_ListByVault", "tags": [ "Vaults" ], "description": "Gets the private link resources supported for the key vault.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateLinkResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "KeyVaultListPrivateLinkResources": { "$ref": "./examples/listPrivateLinkResources.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets": { "get": { "operationId": "Secrets_List", "tags": [ "Secrets" ], "description": "The List operation gets information about the secrets in a vault. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SecretListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List secrets in the vault": { "$ref": "./examples/listSecrets.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}": { "get": { "operationId": "Secrets_Get", "tags": [ "Secrets" ], "description": "Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "secretName", "in": "path", "description": "The name of the secret.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Secret" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get a secret": { "$ref": "./examples/getSecret.json" } } }, "put": { "operationId": "Secrets_CreateOrUpdate", "tags": [ "Secrets" ], "description": "Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "secretName", "in": "path", "description": "The name of the secret.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to create or update the secret", "required": true, "schema": { "$ref": "#/definitions/SecretCreateOrUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Secret" } }, "201": { "description": "Resource 'Secret' create operation succeeded", "schema": { "$ref": "#/definitions/Secret" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Create a secret": { "$ref": "./examples/createSecret.json" } } }, "patch": { "operationId": "Secrets_Update", "tags": [ "Secrets" ], "description": "Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "vaultName", "in": "path", "description": "The name of the vault.", "required": true, "type": "string" }, { "name": "secretName", "in": "path", "description": "The name of the secret.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Parameters to patch the secret", "required": true, "schema": { "$ref": "#/definitions/SecretPatchParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Secret" } }, "201": { "description": "Resource 'Secret' create operation succeeded", "schema": { "$ref": "#/definitions/Secret" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Update a secret": { "$ref": "./examples/updateSecret.json" } } } }, "/subscriptions/{subscriptionId}/resources": { "get": { "operationId": "Vaults_List", "description": "The List operation gets information about the vaults associated with the subscription.", "parameters": [ { "name": "$filter", "in": "query", "description": "The filter to apply on the operation.", "required": true, "type": "string", "enum": [ "resourceType eq 'Microsoft.KeyVault/vaults'" ], "x-ms-enum": { "modelAsString": false } }, { "name": "$top", "in": "query", "description": "Maximum number of results to return.", "required": false, "type": "integer", "format": "int32" }, { "name": "api-version", "in": "query", "description": "Azure Resource Manager Api Version.", "required": true, "type": "string", "enum": [ "2015-11-01" ], "x-ms-enum": { "modelAsString": false }, "x-ms-api-version": false }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "List vaults in the specified subscription": { "$ref": "./examples/listVault.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } } }, "definitions": { "AccessPolicyEntry": { "type": "object", "description": "An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.", "properties": { "tenantId": { "$ref": "#/definitions/Azure.Core.uuid", "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." }, "objectId": { "type": "string", "description": "The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies." }, "applicationId": { "$ref": "#/definitions/Azure.Core.uuid", "description": "Application ID of the client making request on behalf of a principal" }, "permissions": { "$ref": "#/definitions/Permissions", "description": "Permissions the identity has for keys, secrets and certificates." } }, "required": [ "tenantId", "objectId", "permissions" ] }, "Action": { "type": "object", "properties": { "type": { "$ref": "#/definitions/KeyRotationPolicyActionType", "description": "The type of action." } } }, "ActionsRequired": { "type": "string", "description": "A message indicating if changes on the service provider require any updates on the consumer.", "enum": [ "None" ], "x-ms-enum": { "name": "ActionsRequired", "modelAsString": true, "values": [ { "name": "None", "value": "None" } ] } }, "ActivationStatus": { "type": "string", "description": "Activation Status", "enum": [ "Active", "NotActivated", "Unknown", "Failed" ], "x-ms-enum": { "name": "ActivationStatus", "modelAsString": true, "values": [ { "name": "Active", "value": "Active", "description": "The managed HSM Pool is active." }, { "name": "NotActivated", "value": "NotActivated", "description": "The managed HSM Pool is not yet activated." }, { "name": "Unknown", "value": "Unknown", "description": "An unknown error occurred while activating managed hsm." }, { "name": "Failed", "value": "Failed", "description": "Failed to activate managed hsm." } ] } }, "Attributes": { "type": "object", "description": "The object attributes managed by the KeyVault service.", "properties": { "enabled": { "type": "boolean", "description": "Determines whether the object is enabled." }, "nbf": { "type": "integer", "format": "unixtime", "description": "Not before date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "NotBefore" }, "exp": { "type": "integer", "format": "unixtime", "description": "Expiry date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "Expires" }, "created": { "type": "integer", "format": "unixtime", "description": "Creation time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "updated": { "type": "integer", "format": "unixtime", "description": "Last updated time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true } } }, "Azure.Core.azureLocation": { "type": "string", "description": "Represents an Azure geography region where supported resource providers live." }, "Azure.Core.eTag": { "type": "string", "description": "The ETag (or entity tag) HTTP response header is an identifier for a specific version of a resource.\nIt lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content was not changed.\n\nIt is a string of ASCII characters placed between double quotes, like \"675af34563dc-tr34\"." }, "Azure.Core.uuid": { "type": "string", "format": "uuid", "description": "Universally Unique Identifier" }, "CertificatePermissions": { "type": "string", "enum": [ "all", "get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover", "purge", "backup", "restore" ], "x-ms-enum": { "name": "CertificatePermissions", "modelAsString": true, "values": [ { "name": "all", "value": "all" }, { "name": "get", "value": "get" }, { "name": "list", "value": "list" }, { "name": "delete", "value": "delete" }, { "name": "create", "value": "create" }, { "name": "import", "value": "import" }, { "name": "update", "value": "update" }, { "name": "managecontacts", "value": "managecontacts" }, { "name": "getissuers", "value": "getissuers" }, { "name": "listissuers", "value": "listissuers" }, { "name": "setissuers", "value": "setissuers" }, { "name": "deleteissuers", "value": "deleteissuers" }, { "name": "manageissuers", "value": "manageissuers" }, { "name": "recover", "value": "recover" }, { "name": "purge", "value": "purge" }, { "name": "backup", "value": "backup" }, { "name": "restore", "value": "restore" } ] } }, "CheckMhsmNameAvailabilityParameters": { "type": "object", "description": "The parameters used to check the availability of the managed hsm name.", "properties": { "name": { "type": "string", "description": "The managed hsm name." } }, "required": [ "name" ] }, "CheckMhsmNameAvailabilityResult": { "type": "object", "description": "The CheckMhsmNameAvailability operation response.", "properties": { "nameAvailable": { "type": "boolean", "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used.", "readOnly": true }, "reason": { "$ref": "#/definitions/Reason", "description": "The reason that a managed hsm name could not be used. The reason element is only returned if NameAvailable is false.", "readOnly": true }, "message": { "type": "string", "description": "An error message explaining the Reason value in more detail.", "readOnly": true } } }, "CheckNameAvailabilityResult": { "type": "object", "description": "The CheckNameAvailability operation response.", "properties": { "nameAvailable": { "type": "boolean", "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used.", "readOnly": true }, "reason": { "$ref": "#/definitions/Reason", "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.", "readOnly": true }, "message": { "type": "string", "description": "An error message explaining the Reason value in more detail.", "readOnly": true } } }, "CloudError": { "type": "object", "description": "An error response from Key Vault resource provider", "properties": { "error": { "$ref": "#/definitions/CloudErrorBody", "description": "An error response from Key Vault resource provider" } }, "x-ms-external": true }, "CloudErrorBody": { "type": "object", "description": "An error response from Key Vault resource provider", "properties": { "code": { "type": "string", "description": "Error code. This is a mnemonic that can be consumed programmatically." }, "message": { "type": "string", "description": "User friendly error message. The message is typically localized and may vary with service version." } }, "x-ms-external": true }, "CreateMode": { "type": "string", "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", "enum": [ "recover", "default" ], "x-ms-enum": { "name": "CreateMode", "modelAsString": false } }, "DeletedManagedHsm": { "type": "object", "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/DeletedManagedHsmProperties", "description": "Properties of the deleted managed HSM" } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DeletedManagedHsmListResult": { "type": "object", "description": "The response of a DeletedManagedHsm list operation.", "properties": { "value": { "type": "array", "description": "The DeletedManagedHsm items on this page", "items": { "$ref": "#/definitions/DeletedManagedHsm" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DeletedManagedHsmProperties": { "type": "object", "description": "Properties of the deleted managed HSM.", "properties": { "mhsmId": { "type": "string", "description": "The resource id of the original managed HSM.", "readOnly": true }, "location": { "type": "string", "description": "The location of the original managed HSM.", "readOnly": true }, "deletionDate": { "type": "string", "format": "date-time", "description": "The deleted date.", "readOnly": true }, "scheduledPurgeDate": { "type": "string", "format": "date-time", "description": "The scheduled purged date.", "readOnly": true }, "purgeProtectionEnabled": { "type": "boolean", "description": "Purge protection status of the original managed HSM.", "readOnly": true }, "tags": { "type": "object", "description": "Tags of the original managed HSM.", "additionalProperties": { "type": "string" }, "readOnly": true } } }, "DeletedVault": { "type": "object", "description": "Deleted vault information with extended details.", "properties": { "properties": { "$ref": "#/definitions/DeletedVaultProperties", "description": "Properties of the vault" } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DeletedVaultListResult": { "type": "object", "description": "The response of a DeletedVault list operation.", "properties": { "value": { "type": "array", "description": "The DeletedVault items on this page", "items": { "$ref": "#/definitions/DeletedVault" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DeletedVaultProperties": { "type": "object", "description": "Properties of the deleted vault.", "properties": { "vaultId": { "type": "string", "description": "The resource id of the original vault.", "readOnly": true }, "location": { "type": "string", "description": "The location of the original vault.", "readOnly": true }, "deletionDate": { "type": "string", "format": "date-time", "description": "The deleted date.", "readOnly": true }, "scheduledPurgeDate": { "type": "string", "format": "date-time", "description": "The scheduled purged date.", "readOnly": true }, "tags": { "type": "object", "description": "Tags of the original vault.", "additionalProperties": { "type": "string" }, "readOnly": true }, "purgeProtectionEnabled": { "type": "boolean", "description": "Purge protection status of the original vault.", "readOnly": true } } }, "DeletionRecoveryLevel": { "type": "string", "description": "The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval.", "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", "modelAsString": true, "values": [ { "name": "Purgeable", "value": "Purgeable" }, { "name": "Recoverable+Purgeable", "value": "Recoverable+Purgeable" }, { "name": "Recoverable", "value": "Recoverable" }, { "name": "Recoverable+ProtectedSubscription", "value": "Recoverable+ProtectedSubscription" } ] } }, "DimensionProperties": { "type": "object", "description": "Type of operation: get, read, delete, etc.", "properties": { "name": { "type": "string", "description": "Name of dimension." }, "displayName": { "type": "string", "description": "Display name of dimension." }, "toBeExportedForShoebox": { "type": "boolean", "description": "Property to specify whether the dimension should be exported for Shoebox." } } }, "Error": { "type": "object", "description": "The server error.", "properties": { "code": { "type": "string", "description": "The error code.", "readOnly": true }, "message": { "type": "string", "description": "The error message.", "readOnly": true }, "innererror": { "$ref": "#/definitions/Error", "description": "The inner error, contains a more specific error code.", "readOnly": true, "x-ms-client-name": "innerError" } } }, "GeoReplicationRegionProvisioningState": { "type": "string", "description": "The current provisioning state.", "enum": [ "Preprovisioning", "Provisioning", "Succeeded", "Failed", "Deleting", "Cleanup" ], "x-ms-enum": { "name": "GeoReplicationRegionProvisioningState", "modelAsString": true, "values": [ { "name": "Preprovisioning", "value": "Preprovisioning" }, { "name": "Provisioning", "value": "Provisioning" }, { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Cleanup", "value": "Cleanup" } ] }, "readOnly": true }, "IPRule": { "type": "object", "description": "A rule governing the accessibility of a vault from a specific ip address or ip range.", "properties": { "value": { "type": "string", "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." } }, "required": [ "value" ] }, "JsonWebKeyCurveName": { "type": "string", "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName. Default for EC and EC-HSM keys is P-256", "enum": [ "P-256", "P-384", "P-521", "P-256K" ], "x-ms-enum": { "name": "JsonWebKeyCurveName", "modelAsString": true, "values": [ { "name": "P-256", "value": "P-256" }, { "name": "P-384", "value": "P-384" }, { "name": "P-521", "value": "P-521" }, { "name": "P-256K", "value": "P-256K" } ] } }, "JsonWebKeyOperation": { "type": "string", "description": "The permitted JSON web key operations of the key. For more information, see JsonWebKeyOperation.", "enum": [ "encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey", "import", "release" ], "x-ms-enum": { "name": "JsonWebKeyOperation", "modelAsString": true, "values": [ { "name": "encrypt", "value": "encrypt" }, { "name": "decrypt", "value": "decrypt" }, { "name": "sign", "value": "sign" }, { "name": "verify", "value": "verify" }, { "name": "wrapKey", "value": "wrapKey" }, { "name": "unwrapKey", "value": "unwrapKey" }, { "name": "import", "value": "import" }, { "name": "release", "value": "release" } ] } }, "JsonWebKeyType": { "type": "string", "description": "The type of the key. For valid values, see JsonWebKeyType.", "enum": [ "EC", "EC-HSM", "RSA", "RSA-HSM" ], "x-ms-enum": { "name": "JsonWebKeyType", "modelAsString": true, "values": [ { "name": "EC", "value": "EC" }, { "name": "EC-HSM", "value": "EC-HSM" }, { "name": "RSA", "value": "RSA" }, { "name": "RSA-HSM", "value": "RSA-HSM" } ] } }, "Key": { "type": "object", "description": "The key resource.", "properties": { "properties": { "$ref": "#/definitions/KeyProperties", "description": "The properties of the key.", "x-ms-client-flatten": true }, "location": { "type": "string", "description": "The supported Azure location where the managed HSM Pool should be created.", "readOnly": true }, "tags": { "type": "object", "description": "Resource tags", "additionalProperties": { "type": "string" }, "readOnly": true } }, "required": [ "properties" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "KeyAttributes": { "type": "object", "description": "The object attributes managed by the Azure Key Vault service.", "properties": { "enabled": { "type": "boolean", "description": "Determines whether or not the object is enabled." }, "nbf": { "type": "integer", "format": "int64", "description": "Not before date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "NotBefore" }, "exp": { "type": "integer", "format": "int64", "description": "Expiry date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "Expires" }, "created": { "type": "integer", "format": "int64", "description": "Creation time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "updated": { "type": "integer", "format": "int64", "description": "Last updated time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "recoveryLevel": { "$ref": "#/definitions/DeletionRecoveryLevel", "description": "The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval.", "readOnly": true }, "exportable": { "type": "boolean", "description": "Indicates if the private key can be exported.", "default": false } } }, "KeyCreateParameters": { "type": "object", "description": "The parameters used to create a key.", "properties": { "tags": { "type": "object", "description": "The tags that will be assigned to the key.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/KeyProperties", "description": "The properties of the key to be created." } }, "required": [ "properties" ] }, "KeyListResult": { "type": "object", "description": "The response of a Key list operation.", "properties": { "value": { "type": "array", "description": "The Key items on this page", "items": { "$ref": "#/definitions/Key" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "KeyPermissions": { "type": "string", "enum": [ "all", "encrypt", "decrypt", "wrapKey", "unwrapKey", "sign", "verify", "get", "list", "create", "update", "import", "delete", "backup", "restore", "recover", "purge", "release", "rotate", "getrotationpolicy", "setrotationpolicy" ], "x-ms-enum": { "name": "KeyPermissions", "modelAsString": true, "values": [ { "name": "all", "value": "all" }, { "name": "encrypt", "value": "encrypt" }, { "name": "decrypt", "value": "decrypt" }, { "name": "wrapKey", "value": "wrapKey" }, { "name": "unwrapKey", "value": "unwrapKey" }, { "name": "sign", "value": "sign" }, { "name": "verify", "value": "verify" }, { "name": "get", "value": "get" }, { "name": "list", "value": "list" }, { "name": "create", "value": "create" }, { "name": "update", "value": "update" }, { "name": "import", "value": "import" }, { "name": "delete", "value": "delete" }, { "name": "backup", "value": "backup" }, { "name": "restore", "value": "restore" }, { "name": "recover", "value": "recover" }, { "name": "purge", "value": "purge" }, { "name": "release", "value": "release" }, { "name": "rotate", "value": "rotate" }, { "name": "getrotationpolicy", "value": "getrotationpolicy" }, { "name": "setrotationpolicy", "value": "setrotationpolicy" } ] } }, "KeyProperties": { "type": "object", "description": "The properties of the key.", "properties": { "attributes": { "$ref": "#/definitions/KeyAttributes", "description": "The attributes of the key." }, "kty": { "$ref": "#/definitions/JsonWebKeyType", "description": "The type of the key. For valid values, see JsonWebKeyType.", "minLength": 1 }, "keyOps": { "type": "array", "items": { "$ref": "#/definitions/JsonWebKeyOperation" } }, "keySize": { "type": "integer", "format": "int32", "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA. Default for RSA and RSA-HSM keys is 2048. Exception made for bring your own key (BYOK), key exchange keys default to 4096." }, "curveName": { "$ref": "#/definitions/JsonWebKeyCurveName", "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName. Default for EC and EC-HSM keys is P-256" }, "keyUri": { "type": "string", "description": "The URI to retrieve the current version of the key.", "readOnly": true }, "keyUriWithVersion": { "type": "string", "description": "The URI to retrieve the specific version of the key.", "readOnly": true }, "rotationPolicy": { "$ref": "#/definitions/RotationPolicy", "description": "Key rotation policy in response. It will be used for both output and input. Omitted if empty" }, "release_policy": { "$ref": "#/definitions/KeyReleasePolicy", "description": "Key release policy in response. It will be used for both output and input. Omitted if empty" } } }, "KeyReleasePolicy": { "type": "object", "properties": { "contentType": { "type": "string", "description": "Content type and version of key release policy", "default": "application/json; charset=utf-8" }, "data": { "type": "string", "format": "base64url", "description": "Blob encoding the policy rules under which the key can be released." } } }, "KeyRotationPolicyActionType": { "type": "string", "description": "The type of action.", "enum": [ "rotate", "notify" ], "x-ms-enum": { "name": "KeyRotationPolicyActionType", "modelAsString": false } }, "KeyRotationPolicyAttributes": { "type": "object", "properties": { "created": { "type": "integer", "format": "int64", "description": "Creation time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "updated": { "type": "integer", "format": "int64", "description": "Last updated time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "expiryTime": { "type": "string", "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." } } }, "LifetimeAction": { "type": "object", "properties": { "trigger": { "$ref": "#/definitions/Trigger", "description": "The trigger of key rotation policy lifetimeAction." }, "action": { "$ref": "#/definitions/Action", "description": "The action of key rotation policy lifetimeAction." } } }, "LogSpecification": { "type": "object", "description": "Log specification of operation.", "properties": { "name": { "type": "string", "description": "Name of log specification." }, "displayName": { "type": "string", "description": "Display name of log specification." }, "blobDuration": { "type": "string", "description": "Blob duration of specification." } } }, "MHSMGeoReplicatedRegion": { "type": "object", "description": "A region that this managed HSM Pool has been extended to.", "properties": { "name": { "type": "string", "description": "Name of the geo replicated region." }, "provisioningState": { "$ref": "#/definitions/GeoReplicationRegionProvisioningState", "description": "Provisioning state of the geo replicated region.", "readOnly": true }, "isPrimary": { "type": "boolean", "description": "A boolean value that indicates whether the region is the primary region or a secondary region." } } }, "MHSMIPRule": { "type": "object", "description": "A rule governing the accessibility of a managed HSM pool from a specific IP address or IP range.", "properties": { "value": { "type": "string", "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." } }, "required": [ "value" ] }, "MHSMNetworkRuleSet": { "type": "object", "description": "A set of rules governing the network accessibility of a managed hsm pool.", "properties": { "bypass": { "$ref": "#/definitions/NetworkRuleBypassOptions", "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'." }, "defaultAction": { "$ref": "#/definitions/NetworkRuleAction", "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated." }, "ipRules": { "type": "array", "description": "The list of IP address rules.", "items": { "$ref": "#/definitions/MHSMIPRule" }, "x-ms-identifiers": [ "value" ] }, "serviceTags": { "type": "array", "description": "The list of service tags.", "items": { "$ref": "#/definitions/MHSMServiceTagRule" }, "x-ms-identifiers": [ "tag" ] }, "virtualNetworkRules": { "type": "array", "description": "The list of virtual network rules.", "items": { "$ref": "#/definitions/MHSMVirtualNetworkRule" } } } }, "MHSMPrivateEndpoint": { "type": "object", "description": "Private endpoint object properties.", "properties": { "id": { "type": "string", "description": "Full identifier of the private endpoint resource.", "readOnly": true } } }, "MHSMPrivateEndpointConnection": { "type": "object", "description": "Private endpoint connection resource.", "properties": { "properties": { "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, "sku": { "$ref": "#/definitions/ManagedHsmSku", "description": "SKU details" }, "identity": { "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "Managed service identity" }, "etag": { "$ref": "#/definitions/Azure.Core.eTag", "description": "Modified whenever there is a change in the state of private endpoint connection." }, "location": { "$ref": "#/definitions/Azure.Core.azureLocation", "description": "The geo-location where the resource lives" }, "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "MHSMPrivateEndpointConnectionItem": { "type": "object", "description": "Private endpoint connection item.", "properties": { "id": { "type": "string", "description": "Id of private endpoint connection." }, "etag": { "$ref": "#/definitions/Azure.Core.eTag", "description": "Modified whenever there is a change in the state of private endpoint connection." }, "properties": { "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties", "description": "Private endpoint connection properties.", "x-ms-client-flatten": true } } }, "MHSMPrivateEndpointConnectionProperties": { "type": "object", "description": "Properties of the private endpoint connection resource.", "properties": { "privateEndpoint": { "$ref": "#/definitions/MHSMPrivateEndpoint", "description": "Properties of the private endpoint object." }, "privateLinkServiceConnectionState": { "$ref": "#/definitions/MHSMPrivateLinkServiceConnectionState", "description": "Approval state of the private link connection." }, "provisioningState": { "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", "description": "Provisioning state of the private endpoint connection.", "readOnly": true } } }, "MHSMPrivateEndpointConnectionsListResult": { "type": "object", "description": "List of private endpoint connections associated with a managed HSM Pools", "properties": { "value": { "type": "array", "description": "The MhsmPrivateEndpointConnection items on this page", "items": { "$ref": "#/definitions/MHSMPrivateEndpointConnection" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "MHSMPrivateLinkResource": { "type": "object", "description": "A private link resource", "properties": { "properties": { "$ref": "#/definitions/MHSMPrivateLinkResourceProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, "sku": { "$ref": "#/definitions/ManagedHsmSku", "description": "SKU details" }, "identity": { "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "Managed service identity (system assigned and/or user assigned identities)" } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ] }, "MHSMPrivateLinkResourceListResult": { "type": "object", "description": "A list of private link resources", "properties": { "value": { "type": "array", "description": "Array of private link resources", "items": { "$ref": "#/definitions/MHSMPrivateLinkResource" } } } }, "MHSMPrivateLinkResourceProperties": { "type": "object", "description": "Properties of a private link resource.", "properties": { "groupId": { "type": "string", "description": "Group identifier of private link resource.", "readOnly": true }, "requiredMembers": { "type": "array", "description": "Required member names of private link resource.", "items": { "type": "string" }, "readOnly": true }, "requiredZoneNames": { "type": "array", "description": "Required DNS zone names of the the private link resource.", "items": { "type": "string" } } } }, "MHSMPrivateLinkServiceConnectionState": { "type": "object", "description": "An object that represents the approval state of the private link connection.", "properties": { "status": { "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." }, "description": { "type": "string", "description": "The reason for approval or rejection." }, "actionsRequired": { "$ref": "#/definitions/ActionsRequired", "description": "A message indicating if changes on the service provider require any updates on the consumer." } } }, "MHSMRegionsListResult": { "type": "object", "description": "List of regions associated with a managed HSM Pools", "properties": { "value": { "type": "array", "description": "The MhsmGeoReplicatedRegion items on this page", "items": { "$ref": "#/definitions/MHSMGeoReplicatedRegion" }, "x-ms-identifiers": [ "name" ] }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "MHSMServiceTagRule": { "type": "object", "description": "A rule governing the accessibility of a managed hsm pool from a specific service tags.", "properties": { "tag": { "type": "string", "description": "Name of the service tag." } }, "required": [ "tag" ] }, "MHSMVirtualNetworkRule": { "type": "object", "description": "A rule governing the accessibility of a managed hsm pool from a specific virtual network.", "properties": { "id": { "type": "string", "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." } }, "required": [ "id" ] }, "ManagedHSMSecurityDomainProperties": { "type": "object", "description": "The security domain properties of the managed hsm.", "properties": { "activationStatus": { "$ref": "#/definitions/ActivationStatus", "description": "Activation Status", "readOnly": true }, "activationStatusMessage": { "type": "string", "description": "Activation Status Message.", "readOnly": true } } }, "ManagedHsm": { "type": "object", "description": "Resource information with extended details.", "properties": { "properties": { "$ref": "#/definitions/ManagedHsmProperties", "description": "Properties of the managed HSM" }, "sku": { "$ref": "#/definitions/ManagedHsmSku", "description": "SKU details" }, "identity": { "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "Managed service identity" }, "location": { "$ref": "#/definitions/Azure.Core.azureLocation", "description": "The geo-location where the resource lives" }, "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "ManagedHsmAction": { "type": "object", "properties": { "type": { "$ref": "#/definitions/KeyRotationPolicyActionType", "description": "The type of action." } } }, "ManagedHsmError": { "type": "object", "description": "The error exception.", "properties": { "error": { "$ref": "#/definitions/Error", "description": "The server error.", "readOnly": true } } }, "ManagedHsmKey": { "type": "object", "description": "The key resource.", "properties": { "properties": { "$ref": "#/definitions/ManagedHsmKeyProperties", "description": "The properties of the key.", "x-ms-client-flatten": true }, "tags": { "type": "object", "description": "Resource tags", "additionalProperties": { "type": "string" }, "x-ms-mutability": [ "read", "update", "create" ] } }, "required": [ "properties" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "ManagedHsmKeyAttributes": { "type": "object", "description": "The object attributes managed by the Azure Key Vault service.", "properties": { "enabled": { "type": "boolean", "description": "Determines whether or not the object is enabled." }, "nbf": { "type": "integer", "format": "int64", "description": "Not before date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "NotBefore" }, "exp": { "type": "integer", "format": "int64", "description": "Expiry date in seconds since 1970-01-01T00:00:00Z.", "x-ms-client-name": "Expires" }, "created": { "type": "integer", "format": "int64", "description": "Creation time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "updated": { "type": "integer", "format": "int64", "description": "Last updated time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "recoveryLevel": { "$ref": "#/definitions/DeletionRecoveryLevel", "description": "The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval.", "readOnly": true }, "exportable": { "type": "boolean", "description": "Indicates if the private key can be exported." } } }, "ManagedHsmKeyCreateParameters": { "type": "object", "description": "The parameters used to create a key.", "properties": { "tags": { "type": "object", "description": "The tags that will be assigned to the key.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/ManagedHsmKeyProperties", "description": "The properties of the key to be created." } }, "required": [ "properties" ] }, "ManagedHsmKeyListResult": { "type": "object", "description": "The response of a ManagedHsmKey list operation.", "properties": { "value": { "type": "array", "description": "The ManagedHsmKey items on this page", "items": { "$ref": "#/definitions/ManagedHsmKey" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ManagedHsmKeyProperties": { "type": "object", "description": "The properties of the key.", "properties": { "attributes": { "$ref": "#/definitions/ManagedHsmKeyAttributes", "description": "The attributes of the key." }, "kty": { "$ref": "#/definitions/JsonWebKeyType", "description": "The type of the key. For valid values, see JsonWebKeyType.", "minLength": 1 }, "keyOps": { "type": "array", "items": { "$ref": "#/definitions/JsonWebKeyOperation" } }, "keySize": { "type": "integer", "format": "int32", "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA. Default for RSA and RSA-HSM keys is 2048. Exception made for bring your own key (BYOK), key exchange keys default to 4096." }, "curveName": { "$ref": "#/definitions/JsonWebKeyCurveName", "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName. Default for EC and EC-HSM keys is P-256" }, "keyUri": { "type": "string", "description": "The URI to retrieve the current version of the key.", "readOnly": true }, "keyUriWithVersion": { "type": "string", "description": "The URI to retrieve the specific version of the key.", "readOnly": true }, "rotationPolicy": { "$ref": "#/definitions/ManagedHsmRotationPolicy", "description": "Key rotation policy in response. It will be used for both output and input. Omitted if empty" }, "release_policy": { "$ref": "#/definitions/ManagedHsmKeyReleasePolicy", "description": "Key release policy in response. It will be used for both output and input. Omitted if empty" } } }, "ManagedHsmKeyReleasePolicy": { "type": "object", "properties": { "contentType": { "type": "string", "description": "Content type and version of key release policy", "default": "application/json; charset=utf-8" }, "data": { "type": "string", "format": "base64url", "description": "Blob encoding the policy rules under which the key can be released." } } }, "ManagedHsmKeyRotationPolicyAttributes": { "type": "object", "properties": { "created": { "type": "integer", "format": "int64", "description": "Creation time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "updated": { "type": "integer", "format": "int64", "description": "Last updated time in seconds since 1970-01-01T00:00:00Z.", "readOnly": true }, "expiryTime": { "type": "string", "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." } } }, "ManagedHsmLifetimeAction": { "type": "object", "properties": { "trigger": { "$ref": "#/definitions/ManagedHsmTrigger", "description": "The trigger of key rotation policy lifetimeAction." }, "action": { "$ref": "#/definitions/ManagedHsmAction", "description": "The action of key rotation policy lifetimeAction." } } }, "ManagedHsmListResult": { "type": "object", "description": "The response of a ManagedHsm list operation.", "properties": { "value": { "type": "array", "description": "The ManagedHsm items on this page", "items": { "$ref": "#/definitions/ManagedHsm" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ManagedHsmProperties": { "type": "object", "description": "Properties of the managed HSM Pool", "properties": { "tenantId": { "$ref": "#/definitions/Azure.Core.uuid", "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool." }, "initialAdminObjectIds": { "type": "array", "description": "Array of initial administrators object ids for this managed hsm pool.", "items": { "type": "string" } }, "hsmUri": { "type": "string", "description": "The URI of the managed hsm pool for performing operations on keys.", "readOnly": true }, "enableSoftDelete": { "type": "boolean", "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable.", "default": true }, "softDeleteRetentionInDays": { "type": "integer", "format": "int32", "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90.", "default": 90 }, "enablePurgeProtection": { "type": "boolean", "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible.", "default": true }, "createMode": { "$ref": "#/definitions/CreateMode", "description": "The create mode to indicate whether the resource is being created or is being recovered from a deleted resource.", "x-ms-mutability": [ "update", "create" ] }, "statusMessage": { "type": "string", "description": "Resource Status Message.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state.", "readOnly": true }, "networkAcls": { "$ref": "#/definitions/MHSMNetworkRuleSet", "description": "Rules governing the accessibility of the key vault from specific network locations." }, "regions": { "type": "array", "description": "List of all regions associated with the managed hsm pool.", "items": { "$ref": "#/definitions/MHSMGeoReplicatedRegion" }, "x-ms-identifiers": [ "name" ] }, "privateEndpointConnections": { "type": "array", "description": "List of private endpoint connections associated with the managed hsm pool.", "items": { "$ref": "#/definitions/MHSMPrivateEndpointConnectionItem" }, "readOnly": true }, "publicNetworkAccess": { "type": "string", "description": "Control permission to the managed HSM from public networks.", "default": "Enabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "PublicNetworkAccess", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "scheduledPurgeDate": { "type": "string", "format": "date-time", "description": "The scheduled purge date in UTC.", "readOnly": true }, "securityDomainProperties": { "$ref": "#/definitions/ManagedHSMSecurityDomainProperties", "description": "Managed HSM security domain properties.", "readOnly": true } } }, "ManagedHsmRotationPolicy": { "type": "object", "properties": { "attributes": { "$ref": "#/definitions/ManagedHsmKeyRotationPolicyAttributes", "description": "The attributes of key rotation policy." }, "lifetimeActions": { "type": "array", "description": "The lifetimeActions for key rotation action.", "items": { "$ref": "#/definitions/ManagedHsmLifetimeAction" }, "x-ms-identifiers": [] } } }, "ManagedHsmSku": { "type": "object", "description": "SKU details", "properties": { "family": { "$ref": "#/definitions/ManagedHsmSkuFamily", "description": "SKU Family of the managed HSM Pool" }, "name": { "$ref": "#/definitions/ManagedHsmSkuName", "description": "SKU of the managed HSM Pool" } }, "required": [ "family", "name" ] }, "ManagedHsmSkuFamily": { "type": "string", "description": "SKU Family of the managed HSM Pool", "enum": [ "B", "C" ], "x-ms-enum": { "name": "ManagedHsmSkuFamily", "modelAsString": true, "values": [ { "name": "B", "value": "B" }, { "name": "C", "value": "C" } ] } }, "ManagedHsmSkuName": { "type": "string", "description": "SKU of the managed HSM Pool", "enum": [ "Standard_B1", "Custom_B32", "Custom_B6", "Custom_C42", "Custom_C10" ], "x-ms-enum": { "name": "ManagedHsmSkuName", "modelAsString": false } }, "ManagedHsmTrigger": { "type": "object", "properties": { "timeAfterCreate": { "type": "string", "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." }, "timeBeforeExpiry": { "type": "string", "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." } } }, "MetricSpecification": { "type": "object", "description": "Metric specification of operation.", "properties": { "name": { "type": "string", "description": "Name of metric specification." }, "displayName": { "type": "string", "description": "Display name of metric specification." }, "displayDescription": { "type": "string", "description": "Display description of metric specification." }, "unit": { "type": "string", "description": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'." }, "aggregationType": { "type": "string", "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'." }, "supportedAggregationTypes": { "type": "array", "description": "The supported aggregation types for the metrics.", "items": { "type": "string" } }, "supportedTimeGrainTypes": { "type": "array", "description": "The supported time grain types for the metrics.", "items": { "type": "string" } }, "lockAggregationType": { "type": "string", "description": "The metric lock aggregation type." }, "dimensions": { "type": "array", "description": "The dimensions of metric", "items": { "$ref": "#/definitions/DimensionProperties" }, "x-ms-identifiers": [ "name" ] }, "fillGapWithZero": { "type": "boolean", "description": "Property to specify whether to fill gap with zero." }, "internalMetricName": { "type": "string", "description": "The internal metric name." } } }, "NetworkRuleAction": { "type": "string", "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", "enum": [ "Allow", "Deny" ], "x-ms-enum": { "name": "NetworkRuleAction", "modelAsString": true, "values": [ { "name": "Allow", "value": "Allow" }, { "name": "Deny", "value": "Deny" } ] } }, "NetworkRuleBypassOptions": { "type": "string", "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.", "enum": [ "AzureServices", "None" ], "x-ms-enum": { "name": "NetworkRuleBypassOptions", "modelAsString": true, "values": [ { "name": "AzureServices", "value": "AzureServices" }, { "name": "None", "value": "None" } ] } }, "NetworkRuleSet": { "type": "object", "description": "A set of rules governing the network accessibility of a vault.", "properties": { "bypass": { "$ref": "#/definitions/NetworkRuleBypassOptions", "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'." }, "defaultAction": { "$ref": "#/definitions/NetworkRuleAction", "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated." }, "ipRules": { "type": "array", "description": "The list of IP address rules.", "items": { "$ref": "#/definitions/IPRule" }, "x-ms-identifiers": [] }, "virtualNetworkRules": { "type": "array", "description": "The list of virtual network rules.", "items": { "$ref": "#/definitions/VirtualNetworkRule" }, "x-ms-identifiers": [ "id" ] } } }, "Operation": { "type": "object", "description": "Key Vault REST API operation definition.", "properties": { "name": { "type": "string", "description": "Operation name: {provider}/{resource}/{operation}" }, "display": { "$ref": "#/definitions/OperationDisplay", "description": "Display metadata associated with the operation." }, "origin": { "type": "string", "description": "The origin of operations." }, "properties": { "$ref": "#/definitions/OperationProperties", "description": "Properties of operation, include metric specifications.", "x-ms-client-flatten": true, "x-ms-client-name": "OperationProperties" }, "isDataAction": { "type": "boolean", "description": "Property to specify whether the action is a data action." } } }, "OperationDisplay": { "type": "object", "description": "Display metadata associated with the operation.", "properties": { "provider": { "type": "string", "description": "Service provider: Microsoft Key Vault." }, "resource": { "type": "string", "description": "Resource on which the operation is performed etc." }, "operation": { "type": "string", "description": "Type of operation: get, read, delete, etc." }, "description": { "type": "string", "description": "Description of operation." } } }, "OperationListResult": { "type": "object", "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { "type": "array", "description": "List of Storage operations supported by the Storage resource provider.", "items": { "$ref": "#/definitions/Operation" }, "x-ms-identifiers": [] }, "nextLink": { "type": "string", "description": "The URL to get the next set of operations." } }, "required": [ "value" ] }, "OperationProperties": { "type": "object", "description": "Properties of operation, include metric specifications.", "properties": { "serviceSpecification": { "$ref": "#/definitions/ServiceSpecification", "description": "One property of operation, include metric specifications." } } }, "Permissions": { "type": "object", "description": "Permissions the identity has for keys, secrets, certificates and storage.", "properties": { "keys": { "type": "array", "description": "Permissions to keys", "items": { "$ref": "#/definitions/KeyPermissions" } }, "secrets": { "type": "array", "description": "Permissions to secrets", "items": { "$ref": "#/definitions/SecretPermissions" } }, "certificates": { "type": "array", "description": "Permissions to certificates", "items": { "$ref": "#/definitions/CertificatePermissions" } }, "storage": { "type": "array", "description": "Permissions to storage accounts", "items": { "$ref": "#/definitions/StoragePermissions" } } } }, "PrivateEndpoint": { "type": "object", "description": "Private endpoint object properties.", "properties": { "id": { "type": "string", "description": "Full identifier of the private endpoint resource.", "readOnly": true } } }, "PrivateEndpointConnection": { "type": "object", "description": "Private endpoint connection resource.", "properties": { "properties": { "$ref": "#/definitions/PrivateEndpointConnectionProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, "location": { "type": "string", "description": "Azure location of the key vault resource.", "readOnly": true }, "tags": { "type": "object", "description": "Tags assigned to the key vault resource.", "additionalProperties": { "type": "string" }, "readOnly": true }, "etag": { "$ref": "#/definitions/Azure.Core.eTag", "description": "Modified whenever there is a change in the state of private endpoint connection." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "PrivateEndpointConnectionItem": { "type": "object", "description": "Private endpoint connection item.", "properties": { "id": { "type": "string", "description": "Id of private endpoint connection." }, "etag": { "$ref": "#/definitions/Azure.Core.eTag", "description": "Modified whenever there is a change in the state of private endpoint connection." }, "properties": { "$ref": "#/definitions/PrivateEndpointConnectionProperties", "description": "Private endpoint connection properties.", "x-ms-client-flatten": true } } }, "PrivateEndpointConnectionListResult": { "type": "object", "description": "The response of a PrivateEndpointConnection list operation.", "properties": { "value": { "type": "array", "description": "The PrivateEndpointConnection items on this page", "items": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "PrivateEndpointConnectionProperties": { "type": "object", "description": "Properties of the private endpoint connection resource.", "properties": { "privateEndpoint": { "$ref": "#/definitions/PrivateEndpoint", "description": "Properties of the private endpoint object." }, "privateLinkServiceConnectionState": { "$ref": "#/definitions/PrivateLinkServiceConnectionState", "description": "Approval state of the private link connection." }, "provisioningState": { "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", "description": "Provisioning state of the private endpoint connection.", "readOnly": true } } }, "PrivateEndpointConnectionProvisioningState": { "type": "string", "description": "The current provisioning state.", "enum": [ "Succeeded", "Creating", "Updating", "Deleting", "Failed", "Disconnected" ], "x-ms-enum": { "name": "PrivateEndpointConnectionProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Creating", "value": "Creating" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Failed", "value": "Failed" }, { "name": "Disconnected", "value": "Disconnected" } ] }, "readOnly": true }, "PrivateEndpointServiceConnectionStatus": { "type": "string", "description": "The private endpoint connection status.", "enum": [ "Pending", "Approved", "Rejected", "Disconnected" ], "x-ms-enum": { "name": "PrivateEndpointServiceConnectionStatus", "modelAsString": true, "values": [ { "name": "Pending", "value": "Pending" }, { "name": "Approved", "value": "Approved" }, { "name": "Rejected", "value": "Rejected" }, { "name": "Disconnected", "value": "Disconnected" } ] } }, "PrivateLinkResource": { "type": "object", "description": "A private link resource", "properties": { "properties": { "$ref": "#/definitions/PrivateLinkResourceProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, "location": { "type": "string", "description": "Azure location of the key vault resource.", "readOnly": true }, "tags": { "type": "object", "description": "Tags assigned to the key vault resource.", "additionalProperties": { "type": "string" }, "readOnly": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "PrivateLinkResourceListResult": { "type": "object", "description": "A list of private link resources", "properties": { "value": { "type": "array", "description": "Array of private link resources", "items": { "$ref": "#/definitions/PrivateLinkResource" } } } }, "PrivateLinkResourceProperties": { "type": "object", "description": "Properties of a private link resource.", "properties": { "groupId": { "type": "string", "description": "Group identifier of private link resource.", "readOnly": true }, "requiredMembers": { "type": "array", "description": "Required member names of private link resource.", "items": { "type": "string" }, "readOnly": true }, "requiredZoneNames": { "type": "array", "description": "Required DNS zone names of the the private link resource.", "items": { "type": "string" } } } }, "PrivateLinkServiceConnectionState": { "type": "object", "description": "An object that represents the approval state of the private link connection.", "properties": { "status": { "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." }, "description": { "type": "string", "description": "The reason for approval or rejection." }, "actionsRequired": { "$ref": "#/definitions/ActionsRequired", "description": "A message indicating if changes on the service provider require any updates on the consumer." } } }, "ProvisioningState": { "type": "string", "description": "Provisioning state.", "enum": [ "Succeeded", "Provisioning", "Failed", "Updating", "Deleting", "Activated", "SecurityDomainRestore", "Restoring" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded", "description": "The managed HSM Pool has been full provisioned." }, { "name": "Provisioning", "value": "Provisioning", "description": "The managed HSM Pool is currently being provisioned." }, { "name": "Failed", "value": "Failed", "description": "Provisioning of the managed HSM Pool has failed." }, { "name": "Updating", "value": "Updating", "description": "The managed HSM Pool is currently being updated." }, { "name": "Deleting", "value": "Deleting", "description": "The managed HSM Pool is currently being deleted." }, { "name": "Activated", "value": "Activated", "description": "The managed HSM pool is ready for normal use." }, { "name": "SecurityDomainRestore", "value": "SecurityDomainRestore", "description": "The managed HSM pool is waiting for a security domain restore action." }, { "name": "Restoring", "value": "Restoring", "description": "The managed HSM pool is being restored from full HSM backup." } ] }, "readOnly": true }, "Reason": { "type": "string", "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.", "enum": [ "AccountNameInvalid", "AlreadyExists" ], "x-ms-enum": { "name": "Reason", "modelAsString": true, "values": [ { "name": "AccountNameInvalid", "value": "AccountNameInvalid" }, { "name": "AlreadyExists", "value": "AlreadyExists" } ] } }, "ResourceListResult": { "type": "object", "description": "The list of vault resources.", "properties": { "value": { "type": "array", "description": "The list of vault resources.", "items": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } }, "nextLink": { "type": "string", "format": "uri", "description": "The URL to get the next set of vault resources." } }, "required": [ "value" ] }, "RotationPolicy": { "type": "object", "properties": { "attributes": { "$ref": "#/definitions/KeyRotationPolicyAttributes", "description": "The attributes of key rotation policy." }, "lifetimeActions": { "type": "array", "description": "The lifetimeActions for key rotation action.", "items": { "$ref": "#/definitions/LifetimeAction" }, "x-ms-identifiers": [] } } }, "Secret": { "type": "object", "description": "Resource information with extended details.", "properties": { "properties": { "$ref": "#/definitions/SecretProperties", "description": "Properties of the secret" }, "location": { "type": "string", "description": "Azure location of the key vault resource.", "readOnly": true }, "tags": { "type": "object", "description": "Tags assigned to the key vault resource.", "additionalProperties": { "type": "string" }, "readOnly": true } }, "required": [ "properties" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "SecretAttributes": { "type": "object", "description": "The secret management attributes.", "allOf": [ { "$ref": "#/definitions/Attributes" } ] }, "SecretCreateOrUpdateParameters": { "type": "object", "description": "Parameters for creating or updating a secret", "properties": { "tags": { "type": "object", "description": "The tags that will be assigned to the secret.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/SecretProperties", "description": "Properties of the secret" } }, "required": [ "properties" ] }, "SecretListResult": { "type": "object", "description": "The response of a Secret list operation.", "properties": { "value": { "type": "array", "description": "The Secret items on this page", "items": { "$ref": "#/definitions/Secret" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "SecretPatchParameters": { "type": "object", "description": "Parameters for patching a secret", "properties": { "tags": { "type": "object", "description": "The tags that will be assigned to the secret.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/SecretPatchProperties", "description": "Properties of the secret" } } }, "SecretPatchProperties": { "type": "object", "description": "Properties of the secret", "properties": { "value": { "type": "string", "description": "The value of the secret." }, "contentType": { "type": "string", "description": "The content type of the secret." }, "attributes": { "$ref": "#/definitions/SecretAttributes", "description": "The attributes of the secret." } } }, "SecretPermissions": { "type": "string", "enum": [ "all", "get", "list", "set", "delete", "backup", "restore", "recover", "purge" ], "x-ms-enum": { "name": "SecretPermissions", "modelAsString": true, "values": [ { "name": "all", "value": "all" }, { "name": "get", "value": "get" }, { "name": "list", "value": "list" }, { "name": "set", "value": "set" }, { "name": "delete", "value": "delete" }, { "name": "backup", "value": "backup" }, { "name": "restore", "value": "restore" }, { "name": "recover", "value": "recover" }, { "name": "purge", "value": "purge" } ] } }, "SecretProperties": { "type": "object", "description": "Properties of the secret", "properties": { "value": { "type": "string", "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets." }, "contentType": { "type": "string", "description": "The content type of the secret." }, "attributes": { "$ref": "#/definitions/SecretAttributes", "description": "The attributes of the secret." }, "secretUri": { "type": "string", "description": "The URI to retrieve the current version of the secret.", "readOnly": true }, "secretUriWithVersion": { "type": "string", "description": "The URI to retrieve the specific version of the secret.", "readOnly": true } } }, "ServiceSpecification": { "type": "object", "description": "One property of operation, include log specifications.", "properties": { "logSpecifications": { "type": "array", "description": "Log specifications of operation.", "items": { "$ref": "#/definitions/LogSpecification" }, "x-ms-identifiers": [ "name" ] }, "metricSpecifications": { "type": "array", "description": "Metric specifications of operation.", "items": { "$ref": "#/definitions/MetricSpecification" }, "x-ms-identifiers": [ "name" ] } } }, "Sku": { "type": "object", "description": "SKU details", "properties": { "family": { "$ref": "#/definitions/SkuFamily", "description": "SKU family name" }, "name": { "$ref": "#/definitions/SkuName", "description": "SKU name to specify whether the key vault is a standard vault or a premium vault." } }, "required": [ "family", "name" ] }, "SkuFamily": { "type": "string", "description": "SKU family name", "enum": [ "A" ], "x-ms-enum": { "name": "SkuFamily", "modelAsString": true, "values": [ { "name": "A", "value": "A" } ] } }, "SkuName": { "type": "string", "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.", "enum": [ "standard", "premium" ], "x-ms-enum": { "name": "SkuName", "modelAsString": false } }, "StoragePermissions": { "type": "string", "enum": [ "all", "get", "list", "delete", "set", "update", "regeneratekey", "recover", "purge", "backup", "restore", "setsas", "listsas", "getsas", "deletesas" ], "x-ms-enum": { "name": "StoragePermissions", "modelAsString": true, "values": [ { "name": "all", "value": "all" }, { "name": "get", "value": "get" }, { "name": "list", "value": "list" }, { "name": "delete", "value": "delete" }, { "name": "set", "value": "set" }, { "name": "update", "value": "update" }, { "name": "regeneratekey", "value": "regeneratekey" }, { "name": "recover", "value": "recover" }, { "name": "purge", "value": "purge" }, { "name": "backup", "value": "backup" }, { "name": "restore", "value": "restore" }, { "name": "setsas", "value": "setsas" }, { "name": "listsas", "value": "listsas" }, { "name": "getsas", "value": "getsas" }, { "name": "deletesas", "value": "deletesas" } ] } }, "Trigger": { "type": "object", "properties": { "timeAfterCreate": { "type": "string", "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." }, "timeBeforeExpiry": { "type": "string", "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." } } }, "Vault": { "type": "object", "description": "Resource information with extended details.", "properties": { "properties": { "$ref": "#/definitions/VaultProperties", "description": "Properties of the vault" }, "location": { "$ref": "#/definitions/Azure.Core.azureLocation", "description": "Azure location of the key vault resource." }, "tags": { "type": "object", "description": "Tags assigned to the key vault resource.", "additionalProperties": { "type": "string" } } }, "required": [ "properties" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "VaultAccessPolicyParameters": { "type": "object", "description": "Parameters for updating the access policy in a vault", "properties": { "id": { "type": "string", "description": "The resource id of the access policy.", "readOnly": true }, "name": { "type": "string", "description": "The resource name of the access policy.", "readOnly": true }, "type": { "type": "string", "description": "The resource name of the access policy.", "readOnly": true }, "location": { "type": "string", "description": "The resource type of the access policy.", "readOnly": true }, "properties": { "$ref": "#/definitions/VaultAccessPolicyProperties", "description": "Properties of the access policy" } }, "required": [ "properties" ] }, "VaultAccessPolicyProperties": { "type": "object", "description": "Properties of the vault access policy", "properties": { "accessPolicies": { "type": "array", "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.", "items": { "$ref": "#/definitions/AccessPolicyEntry" }, "x-ms-identifiers": [ "tenantId", "objectId", "permissions" ] } }, "required": [ "accessPolicies" ] }, "VaultCheckNameAvailabilityParameters": { "type": "object", "description": "The parameters used to check the availability of the vault name.", "properties": { "name": { "type": "string", "description": "The vault name." }, "type": { "type": "string", "description": "The type of resource, Microsoft.KeyVault/vaults", "enum": [ "Microsoft.KeyVault/vaults" ], "x-ms-enum": { "modelAsString": false } } }, "required": [ "name", "type" ] }, "VaultCreateOrUpdateParameters": { "type": "object", "description": "Parameters for creating or updating a vault", "properties": { "location": { "type": "string", "description": "The supported Azure location where the key vault should be created." }, "tags": { "type": "object", "description": "The tags that will be assigned to the key vault.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/VaultProperties", "description": "Properties of the vault" } }, "required": [ "location", "properties" ] }, "VaultListResult": { "type": "object", "description": "The response of a Vault list operation.", "properties": { "value": { "type": "array", "description": "The Vault items on this page", "items": { "$ref": "#/definitions/Vault" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "VaultPatchParameters": { "type": "object", "description": "Parameters for creating or updating a vault", "properties": { "tags": { "type": "object", "description": "The tags that will be assigned to the key vault.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/VaultPatchProperties", "description": "Properties of the vault" } } }, "VaultPatchProperties": { "type": "object", "description": "Properties of the vault", "properties": { "tenantId": { "$ref": "#/definitions/Azure.Core.uuid", "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." }, "sku": { "$ref": "#/definitions/Sku", "description": "SKU details" }, "accessPolicies": { "type": "array", "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.", "items": { "$ref": "#/definitions/AccessPolicyEntry" }, "x-ms-identifiers": [ "tenantId", "objectId", "permissions" ] }, "enabledForDeployment": { "type": "boolean", "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." }, "enabledForDiskEncryption": { "type": "boolean", "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." }, "enableSoftDelete": { "type": "boolean", "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false." }, "enableRbacAuthorization": { "type": "boolean", "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change." }, "softDeleteRetentionInDays": { "type": "integer", "format": "int32", "description": "softDelete data retention days. It accepts >=7 and <=90." }, "createMode": { "$ref": "#/definitions/CreateMode", "description": "The vault's create mode to indicate whether the vault need to be recovered or not." }, "enablePurgeProtection": { "type": "boolean", "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." }, "networkAcls": { "$ref": "#/definitions/NetworkRuleSet", "description": "A collection of rules governing the accessibility of the vault from specific network locations." }, "publicNetworkAccess": { "type": "string", "description": "Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules." } } }, "VaultProperties": { "type": "object", "description": "Properties of the vault", "properties": { "tenantId": { "$ref": "#/definitions/Azure.Core.uuid", "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." }, "sku": { "$ref": "#/definitions/Sku", "description": "SKU details" }, "accessPolicies": { "type": "array", "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required.", "items": { "$ref": "#/definitions/AccessPolicyEntry" }, "x-ms-identifiers": [ "tenantId", "objectId", "permissions" ] }, "vaultUri": { "type": "string", "description": "The URI of the vault for performing operations on keys and secrets." }, "hsmPoolResourceId": { "type": "string", "description": "The resource id of HSM Pool.", "readOnly": true }, "enabledForDeployment": { "type": "boolean", "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.", "default": false }, "enabledForDiskEncryption": { "type": "boolean", "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.", "default": false }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault.", "default": false }, "enableSoftDelete": { "type": "boolean", "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false.", "default": true }, "softDeleteRetentionInDays": { "type": "integer", "format": "int32", "description": "softDelete data retention days. It accepts >=7 and <=90.", "default": 90 }, "enableRbacAuthorization": { "type": "boolean", "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC.", "default": true }, "createMode": { "$ref": "#/definitions/CreateMode", "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", "x-ms-mutability": [ "update", "create" ] }, "enablePurgeProtection": { "type": "boolean", "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." }, "networkAcls": { "$ref": "#/definitions/NetworkRuleSet", "description": "Rules governing the accessibility of the key vault from specific network locations." }, "provisioningState": { "$ref": "#/definitions/VaultProvisioningState", "description": "Provisioning state of the vault." }, "privateEndpointConnections": { "type": "array", "description": "List of private endpoint connections associated with the key vault.", "items": { "$ref": "#/definitions/PrivateEndpointConnectionItem" }, "readOnly": true }, "publicNetworkAccess": { "type": "string", "description": "Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules.", "default": "enabled" } }, "required": [ "tenantId", "sku" ] }, "VaultProvisioningState": { "type": "string", "description": "Provisioning state of the vault.", "enum": [ "Succeeded", "RegisteringDns" ], "x-ms-enum": { "name": "VaultProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "RegisteringDns", "value": "RegisteringDns" } ] } }, "VirtualNetworkRule": { "type": "object", "description": "A rule governing the accessibility of a vault from a specific virtual network.", "properties": { "id": { "type": "string", "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." }, "ignoreMissingVnetServiceEndpoint": { "type": "boolean", "description": "Property to specify whether NRP will ignore the check if parent subnet has serviceEndpoints configured." } }, "required": [ "id" ] } }, "parameters": {} }