Amazon CloudHSM Cloudhsm Cluster API

The Cloudhsm Cluster API from Amazon CloudHSM — 4 operation(s) for cloudhsm cluster.

GitHub OpenAPI

Operations 4

POST /#CreateCluster Create Cluster #
POST /#DeleteCluster Delete Cluster #
POST /#DescribeClusters Describe Clusters #
POST /#ModifyCluster Modify Cluster #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-cloudhsm:amazon-cloudhsm-cluster-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-cloudhsm-cluster-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon CloudHSM Cluster API
  version: '2014-05-30'
  description: Generated from AWS's published Smithy model for Amazon CloudHSM. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://cloudhsmv2.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#CreateCluster:
    post:
      operationId: CreateCluster
      summary: Create Cluster
      description: 'Creates a new CloudHSM cluster. Cross-account use: Yes. To perform this operation with an CloudHSM backup
        in a different AWS account, specify the full backup ARN in the value of the SourceBackupId parameter.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateClusterResponse'
        '400':
          description: CloudHsmAccessDeniedException; CloudHsmInvalidRequestException; CloudHsmResourceNotFoundException;
            CloudHsmServiceException; CloudHsmTagException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmAccessDeniedException'
        '500':
          description: CloudHsmInternalFailureException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmInternalFailureException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - BaldrApiService.CreateCluster
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateClusterRequest'
      tags:
      - Cluster
  /#DeleteCluster:
    post:
      operationId: DeleteCluster
      summary: Delete Cluster
      description: 'Deletes the specified CloudHSM cluster. Before you can delete a cluster, you must delete all HSMs in the
        cluster. To see if the cluster contains any HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm. Cross-account
        use: No. You cannot perform this operation on an CloudHSM cluster in a different Amazon Web Services account.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteClusterResponse'
        '400':
          description: CloudHsmAccessDeniedException; CloudHsmInvalidRequestException; CloudHsmResourceNotFoundException;
            CloudHsmServiceException; CloudHsmTagException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmAccessDeniedException'
        '500':
          description: CloudHsmInternalFailureException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmInternalFailureException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - BaldrApiService.DeleteCluster
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteClusterRequest'
      tags:
      - Cluster
  /#DescribeClusters:
    post:
      operationId: DescribeClusters
      summary: Describe Clusters
      description: 'Gets information about CloudHSM clusters. This is a paginated operation, which means that each response
        might contain only a subset of all the clusters. When the response contains only a subset of clusters, it includes
        a NextToken value. Use this value in a subsequent DescribeClusters request to get more clusters. When you receive
        a response with no NextToken (or an empty or null value), that means there are no more clusters to get. Cross-account
        use: No. You cannot perform this operation on CloudHSM clusters in a different Amazon Web Services account.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DescribeClustersResponse'
        '400':
          description: CloudHsmAccessDeniedException; CloudHsmInvalidRequestException; CloudHsmServiceException; CloudHsmTagException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmAccessDeniedException'
        '500':
          description: CloudHsmInternalFailureException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmInternalFailureException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - BaldrApiService.DescribeClusters
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DescribeClustersRequest'
      tags:
      - Cluster
  /#ModifyCluster:
    post:
      operationId: ModifyCluster
      summary: Modify Cluster
      description: 'Modifies CloudHSM cluster. Cross-account use: No. You cannot perform this operation on an CloudHSM cluster
        in a different Amazon Web Services account.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ModifyClusterResponse'
        '400':
          description: CloudHsmAccessDeniedException; CloudHsmInvalidRequestException; CloudHsmResourceNotFoundException;
            CloudHsmServiceException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmAccessDeniedException'
        '500':
          description: CloudHsmInternalFailureException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CloudHsmInternalFailureException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - BaldrApiService.ModifyCluster
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ModifyClusterRequest'
      tags:
      - Cluster
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: cloudhsm
  schemas:
    BackupRetentionPolicy:
      type: object
      properties:
        Type:
          type: string
          enum:
          - DAYS
          description: The type of backup retention policy. For the DAYS type, the value is the number of days to retain backups.
        Value:
          type: string
          description: Use a value between 7 - 379.
    Certificates:
      type: object
      properties:
        ClusterCsr:
          type: string
          description: The cluster's certificate signing request (CSR). The CSR exists only when the cluster's state is UNINITIALIZED.
        HsmCertificate:
          type: string
          description: The HSM certificate issued (signed) by the HSM hardware.
        AwsHardwareCertificate:
          type: string
          description: The HSM hardware certificate issued (signed) by CloudHSM.
        ManufacturerHardwareCertificate:
          type: string
          description: The HSM hardware certificate issued (signed) by the hardware manufacturer.
        ClusterCertificate:
          type: string
          description: The cluster certificate issued (signed) by the issuing certificate authority (CA) of the cluster's
            owner.
    CloudHsmAccessDeniedException:
      type: object
      properties:
        Message:
          type: string
    CloudHsmInternalFailureException:
      type: object
      properties:
        Message:
          type: string
    Cluster:
      type: object
      properties:
        BackupPolicy:
          type: string
          enum:
          - DEFAULT
          description: The cluster's backup policy.
        BackupRetentionPolicy:
          $ref: '#/components/schemas/BackupRetentionPolicy'
        ClusterId:
          type: string
          description: The cluster's identifier (ID).
        CreateTimestamp:
          type: string
          format: date-time
          description: The date and time when the cluster was created.
        Hsms:
          type: array
          items:
            $ref: '#/components/schemas/Hsm'
          description: Contains information about the HSMs in the cluster.
        HsmType:
          type: string
          description: The type of HSM that the cluster contains.
        HsmTypeRollbackExpiration:
          type: string
          format: date-time
          description: The timestamp until when the cluster can be rolled back to its original HSM type.
        PreCoPassword:
          type: string
          description: The default password for the cluster's Pre-Crypto Officer (PRECO) user.
        SecurityGroup:
          type: string
          description: The identifier (ID) of the cluster's security group.
        SourceBackupId:
          type: string
          description: The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster
            was created from a backup.
        State:
          type: string
          enum:
          - CREATE_IN_PROGRESS
          - UNINITIALIZED
          - INITIALIZE_IN_PROGRESS
          - INITIALIZED
          - ACTIVE
          - UPDATE_IN_PROGRESS
          - MODIFY_IN_PROGRESS
          - ROLLBACK_IN_PROGRESS
          - DELETE_IN_PROGRESS
          - DELETED
          - DEGRADED
          description: The cluster's state.
        StateMessage:
          type: string
          description: A description of the cluster's state.
        SubnetMapping:
          type: object
          additionalProperties:
            type: string
          description: A map from availability zone to the cluster’s subnet in that availability zone.
        VpcId:
          type: string
          description: The identifier (ID) of the virtual private cloud (VPC) that contains the cluster.
        NetworkType:
          type: string
          enum:
          - IPV4
          - DUALSTACK
          description: The cluster's NetworkType can be IPv4 (the default) or DUALSTACK. The IPv4 NetworkType restricts communication
            between your application and the hardware security modules (HSMs) to the IPv4 protocol only. The DUALSTACK NetworkType
            enables communication over both IPv4 and IPv6 protocols. To use DUALSTACK, configure your virtual private cloud
            (VPC) and subnets to support both IPv4 and IPv6. This configuration involves adding IPv6 Classless Inter-Domain
            Routing (CIDR) blocks to the existing IPv4 CIDR blocks in your subnets. The NetworkType you choose affects the
            network addressing options for your
        Certificates:
          $ref: '#/components/schemas/Certificates'
        TagList:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The list of tags for the cluster.
        Mode:
          type: string
          enum:
          - FIPS
          - NON_FIPS
          description: The mode of the cluster.
    CreateClusterRequest:
      type: object
      properties:
        BackupRetentionPolicy:
          $ref: '#/components/schemas/BackupRetentionPolicy'
        HsmType:
          type: string
          description: The type of HSM to use in the cluster. The allowed values are hsm1.medium and hsm2m.medium.
        SourceBackupId:
          type: string
          description: The identifier (ID) or the Amazon Resource Name (ARN) of the cluster backup to restore. Use this value
            to restore the cluster from a backup instead of creating a new cluster. To find the backup ID or ARN, use DescribeBackups.
            If using a backup in another account, the full ARN must be supplied.
        SubnetIds:
          type: array
          items:
            type: string
          description: 'The identifiers (IDs) of the subnets where you are creating the cluster. You must specify at least
            one subnet. If you specify multiple subnets, they must meet the following criteria: All subnets must be in the
            same virtual private cloud (VPC). You can specify only one subnet per Availability Zone.'
        NetworkType:
          type: string
          enum:
          - IPV4
          - DUALSTACK
          description: The NetworkType to create a cluster with. The allowed values are IPV4 and DUALSTACK.
        TagList:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: Tags to apply to the CloudHSM cluster during creation.
        Mode:
          type: string
          enum:
          - FIPS
          - NON_FIPS
          description: The mode to use in the cluster. The allowed values are FIPS and NON_FIPS.
      required:
      - HsmType
      - SubnetIds
    CreateClusterResponse:
      type: object
      properties:
        Cluster:
          $ref: '#/components/schemas/Cluster'
    DeleteClusterRequest:
      type: object
      properties:
        ClusterId:
          type: string
          description: The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.
      required:
      - ClusterId
    DeleteClusterResponse:
      type: object
      properties:
        Cluster:
          $ref: '#/components/schemas/Cluster'
    DescribeClustersRequest:
      type: object
      properties:
        Filters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: One or more filters to limit the items returned in the response. Use the clusterIds filter to return
            only the specified clusters. Specify clusters by their cluster identifier (ID). Use the vpcIds filter to return
            only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID). Use
            the states filter to return only clusters that match the specified state.
        NextToken:
          type: string
          description: The NextToken value that you received in the previous response. Use this value to get more clusters.
        MaxResults:
          type: integer
          description: The maximum number of clusters to return in the response. When there are more clusters than the number
            you specify, the response contains a NextToken value.
    DescribeClustersResponse:
      type: object
      properties:
        Clusters:
          type: array
          items:
            $ref: '#/components/schemas/Cluster'
          description: A list of clusters.
        NextToken:
          type: string
          description: An opaque string that indicates that the response contains only a subset of clusters. Use this value
            in a subsequent DescribeClusters request to get more clusters.
    Hsm:
      type: object
      properties:
        AvailabilityZone:
          type: string
          description: The Availability Zone that contains the HSM.
        ClusterId:
          type: string
          description: The identifier (ID) of the cluster that contains the HSM.
        SubnetId:
          type: string
          description: The subnet that contains the HSM's elastic network interface (ENI).
        EniId:
          type: string
          description: The identifier (ID) of the HSM's elastic network interface (ENI).
        EniIp:
          type: string
          description: The IP address of the HSM's elastic network interface (ENI).
        EniIpV6:
          type: string
          description: The IPv6 address (if any) of the HSM's elastic network interface (ENI).
        HsmId:
          type: string
          description: The HSM's identifier (ID).
        HsmType:
          type: string
          description: The type of HSM.
        State:
          type: string
          enum:
          - CREATE_IN_PROGRESS
          - ACTIVE
          - DEGRADED
          - DELETE_IN_PROGRESS
          - DELETED
          description: The HSM's state.
        StateMessage:
          type: string
          description: A description of the HSM's state.
      required:
      - HsmId
    ModifyClusterRequest:
      type: object
      properties:
        HsmType:
          type: string
          description: The desired HSM type of the cluster.
        BackupRetentionPolicy:
          $ref: '#/components/schemas/BackupRetentionPolicy'
        ClusterId:
          type: string
          description: The identifier (ID) of the cluster that you want to modify. To find the cluster ID, use DescribeClusters.
      required:
      - ClusterId
    ModifyClusterResponse:
      type: object
      properties:
        Cluster:
          $ref: '#/components/schemas/Cluster'
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: The key of the tag.
        Value:
          type: string
          description: The value of the tag.
      required:
      - Key
      - Value
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/cloudhsm-v2/service/2017-04-28/cloudhsm-v2-2017-04-28.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)