{ "swagger": "2.0", "info": { "title": "Azure Dedicated HSM Resource Provider", "description": "The Azure management API provides a RESTful set of web services that interact with Azure Dedicated HSM RP.", "version": "2018-10-31-preview" }, "host": "management.azure.com", "schemes": [ "https" ], "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/providers/Microsoft.HardwareSecurityModules/operations": { "get": { "tags": [ "DedicatedHsmOperations" ], "operationId": "Operations_List", "description": "Get a list of Dedicated HSM operations.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DedicatedHsmOperationListResult" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "Get a list of Dedicated HSM operations": { "$ref": "./examples//DedicatedHsm_OperationsList.json" } }, "x-ms-pageable": { "nextLinkName": null } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}": { "put": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_CreateOrUpdate", "x-ms-long-running-operation": true, "description": "Create or Update a dedicated HSM in the specified subscription.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the Resource Group to which the resource belongs." }, { "name": "name", "in": "path", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$", "description": "Name of the dedicated Hsm" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DedicatedHsm" }, "description": "Parameters to create or update the dedicated hsm" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Created dedicated HSM", "schema": { "$ref": "#/definitions/DedicatedHsm" } }, "200": { "description": "Created dedicated HSM", "schema": { "$ref": "#/definitions/DedicatedHsm" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "Create a new or update an existing dedicated HSM": { "$ref": "./examples//DedicatedHsm_CreateOrUpdate.json" }, "Create a new or update an existing payment HSM": { "$ref": "./examples//PaymentHsm_CreateOrUpdate.json" } } }, "patch": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_Update", "x-ms-long-running-operation": true, "description": "Update a dedicated HSM in the specified subscription.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the Resource Group to which the server belongs." }, { "name": "name", "in": "path", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$", "description": "Name of the dedicated HSM" }, { "name": "parameters", "in": "body", "required": true, "x-ms-client-flatten": true, "schema": { "$ref": "#/definitions/DedicatedHsmPatchParameters" }, "description": "Parameters to patch the dedicated HSM" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Patched dedicated HSM", "schema": { "$ref": "#/definitions/DedicatedHsm" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "Update an existing dedicated HSM": { "$ref": "./examples//DedicatedHsm_Update.json" }, "Update an existing payment HSM": { "$ref": "./examples//PaymentHsm_Update.json" } } }, "delete": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_Delete", "x-ms-long-running-operation": true, "description": "Deletes the specified Azure Dedicated HSM.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the Resource Group to which the dedicated HSM belongs." }, { "name": "name", "in": "path", "required": true, "type": "string", "description": "The name of the dedicated HSM to delete" }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK Response." }, "202": { "description": "Accepted" }, "204": { "description": "No Content" }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "Delete a dedicated HSM": { "$ref": "./examples//DedicatedHsm_Delete.json" } } }, "get": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_Get", "description": "Gets the specified Azure dedicated HSM.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the Resource Group to which the dedicated hsm belongs." }, { "name": "name", "in": "path", "required": true, "type": "string", "description": "The name of the dedicated HSM." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Retrieved dedicated HSM", "schema": { "$ref": "#/definitions/DedicatedHsm" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "Get a dedicated HSM": { "$ref": "./examples//DedicatedHsm_Get.json" }, "Get a payment HSM": { "$ref": "./examples//PaymentHsm_Get.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs": { "get": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_ListByResourceGroup", "description": "The List operation gets information about the dedicated hsms associated with the subscription and within the specified resource group.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "description": "The name of the Resource Group to which the dedicated HSM belongs." }, { "name": "$top", "in": "query", "type": "integer", "format": "int32", "description": "Maximum number of results to return." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Get information about all dedicated HSMs in the specified resource group.", "schema": { "$ref": "#/definitions/DedicatedHsmListResult" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "List dedicated HSM devices in a resource group": { "$ref": "./examples//DedicatedHsm_ListByResourceGroup.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs": { "get": { "tags": [ "DedicatedHsms" ], "operationId": "DedicatedHsm_ListBySubscription", "description": "The List operation gets information about the dedicated HSMs associated with the subscription.", "parameters": [ { "name": "$top", "in": "query", "type": "integer", "format": "int32", "description": "Maximum number of results to return." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Get information about all dedicated HSMs in the specified subscription.", "schema": { "$ref": "#/definitions/DedicatedHsmListResult" } }, "default": { "description": "The error response describing why the operation failed.", "schema": { "$ref": "#/definitions/DedicatedHsmError" } } }, "x-ms-examples": { "List dedicated HSM devices in a subscription": { "$ref": "./examples//DedicatedHsm_ListBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } } }, "definitions": { "DedicatedHsmOperation": { "description": "REST API operation", "type": "object", "properties": { "name": { "description": "The name of the Dedicated HSM Resource Provider Operation.", "type": "string" }, "isDataAction": { "description": "Gets or sets a value indicating whether it is a data plane action", "type": "string", "readOnly": true }, "display": { "properties": { "provider": { "description": "The Resource Provider of the operation", "type": "string" }, "resource": { "description": "Resource on which the operation is performed.", "type": "string" }, "operation": { "description": "Operation type: Read, write, delete, etc.", "type": "string" }, "description": { "description": "The object that represents the operation.", "type": "string" } } } } }, "DedicatedHsmOperationListResult": { "description": "Result of the request to list Dedicated HSM Provider operations. It contains a list of operations.", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/DedicatedHsmOperation" }, "description": "List of Dedicated HSM Resource Provider operations." } } }, "ApiEntityReference": { "properties": { "id": { "type": "string", "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." } }, "description": "The API entity reference." }, "NetworkInterface": { "properties": { "id": { "readOnly": true, "type": "string", "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." }, "privateIpAddress": { "type": "string", "description": "Private Ip address of the interface" } }, "description": "The network interface definition." }, "NetworkProfile": { "properties": { "subnet": { "$ref": "#/definitions/ApiEntityReference", "description": "Specifies the identifier of the subnet." }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/definitions/NetworkInterface" }, "description": "Specifies the list of resource Ids for the network interfaces associated with the dedicated HSM." } } }, "Sku": { "description": "SKU of the dedicated HSM", "properties": { "name": { "type": "string", "description": "SKU of the dedicated HSM", "enum": [ "SafeNet Luna Network HSM A790", "payShield10K_LMK1_CPS60", "payShield10K_LMK1_CPS250", "payShield10K_LMK1_CPS2500", "payShield10K_LMK2_CPS60", "payShield10K_LMK2_CPS250", "payShield10K_LMK2_CPS2500" ], "x-ms-enum": { "name": "SkuName", "modelAsString": true, "values": [ { "value": "SafeNet Luna Network HSM A790", "description": "The dedicated HSM is a Safenet Luna Network HSM A790 device." }, { "value": "payShield10K_LMK1_CPS60", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 1 local master key which supports up to 60 calls per second." }, { "value": "payShield10K_LMK1_CPS250", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 1 local master key which supports up to 250 calls per second." }, { "value": "payShield10K_LMK1_CPS2500", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 1 local master key which supports up to 2500 calls per second." }, { "value": "payShield10K_LMK2_CPS60", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 2 local master keys which supports up to 60 calls per second." }, { "value": "payShield10K_LMK2_CPS250", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 2 local master keys which supports up to 250 calls per second." }, { "value": "payShield10K_LMK2_CPS2500", "description": "The dedicated HSM is a payShield 10K, model PS10-D, 10Gb Ethernet Hardware Platform device with 2 local master keys which supports up to 2500 calls per second." } ] } } } }, "DedicatedHsmProperties": { "properties": { "networkProfile": { "$ref": "#/definitions/NetworkProfile", "description": "Specifies the network interfaces of the dedicated hsm." }, "stampId": { "type": "string", "description": "This field will be used when RP does not support Availability zones." }, "statusMessage": { "readOnly": true, "type": "string", "description": "Resource Status Message." }, "provisioningState": { "readOnly": true, "type": "string", "description": "Provisioning state.", "enum": [ "Succeeded", "Provisioning", "Allocating", "Connecting", "Failed", "CheckingQuota", "Deleting" ], "x-ms-enum": { "name": "JsonWebKeyType", "modelAsString": true, "values": [ { "value": "Succeeded", "description": "The dedicated HSM has been full provisioned." }, { "value": "Provisioning", "description": "The dedicated HSM is currently being provisioned." }, { "value": "Allocating", "description": "A device is currently being allocated for the dedicated HSM resource." }, { "value": "Connecting", "description": "The dedicated HSM is being connected to the virtual network." }, { "value": "Failed", "description": "Provisioning of the dedicated HSM has failed." }, { "value": "CheckingQuota", "description": "Validating the subscription has sufficient quota to allocate a dedicated HSM device." }, { "value": "Deleting", "description": "The dedicated HSM is currently being deleted." } ] } } }, "description": "Properties of the dedicated hsm" }, "DedicatedHsm": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/DedicatedHsmProperties", "description": "Properties of the dedicated HSM" } }, "allOf": [ { "$ref": "#/definitions/Resource" } ], "required": [ "location", "sku", "properties" ], "description": "Resource information with extended details." }, "DedicatedHsmPatchParameters": { "properties": { "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags" } }, "description": "Patchable properties of the dedicated HSM" }, "DedicatedHsmListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/DedicatedHsm" }, "description": "The list of dedicated HSMs." }, "nextLink": { "type": "string", "description": "The URL to get the next set of dedicated hsms." } }, "description": "List of dedicated HSMs" }, "ResourceListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/Resource" }, "description": "The list of dedicated HSM resources." }, "nextLink": { "type": "string", "description": "The URL to get the next set of dedicated HSM resources." } }, "description": "List of dedicated HSM resources." }, "DedicatedHsmError": { "properties": { "error": { "readOnly": true, "$ref": "#/definitions/Error" } }, "description": "The error exception." }, "Error": { "properties": { "code": { "type": "string", "readOnly": true, "description": "The error code." }, "message": { "type": "string", "readOnly": true, "description": "The error message." }, "innererror": { "x-ms-client-name": "innerError", "readOnly": true, "$ref": "#/definitions/Error" } }, "description": "The key vault server error." }, "Resource": { "properties": { "id": { "readOnly": true, "type": "string", "description": "The Azure Resource Manager resource ID for the dedicated HSM." }, "name": { "readOnly": true, "type": "string", "description": "The name of the dedicated HSM." }, "type": { "readOnly": true, "type": "string", "description": "The resource type of the dedicated HSM." }, "location": { "type": "string", "description": "The supported Azure location where the dedicated HSM should be created." }, "sku": { "$ref": "#/definitions/Sku", "description": "SKU details" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "The Dedicated Hsm zones." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags" } }, "description": "Dedicated HSM resource", "required": [ "location" ], "x-ms-azure-resource": true } }, "parameters": { "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", "required": true, "type": "string", "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "Client Api Version." } } }