{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.cloudhsm#AZ": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9\\-]*"
            }
        },
        "com.amazonaws.cloudhsm#AZList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#AZ"
            }
        },
        "com.amazonaws.cloudhsm#AddTagsToResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#AddTagsToResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#AddTagsToResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Adds or overwrites one or more tags for the specified AWS CloudHSM resource.</p>\n         <p>Each tag consists of a key and a value. Tag keys must be unique to each\n      resource.</p>"
            }
        },
        "com.amazonaws.cloudhsm#AddTagsToResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.</p>",
                        "smithy.api#required": {}
                    }
                },
                "TagList": {
                    "target": "com.amazonaws.cloudhsm#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more tags.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#AddTagsToResourceResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the operation.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#Boolean": {
            "type": "boolean"
        },
        "com.amazonaws.cloudhsm#Certificate": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 600,
                    "max": 2400
                },
                "smithy.api#pattern": "[\\w :+=./\\n-]*"
            }
        },
        "com.amazonaws.cloudhsm#CertificateFingerprint": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "([0-9a-fA-F][0-9a-fA-F]:){15}[0-9a-fA-F][0-9a-fA-F]"
            }
        },
        "com.amazonaws.cloudhsm#ClientArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:client-[0-9a-f]{8}"
            }
        },
        "com.amazonaws.cloudhsm#ClientLabel": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9_.-]{2,64}"
            }
        },
        "com.amazonaws.cloudhsm#ClientList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#ClientArn"
            }
        },
        "com.amazonaws.cloudhsm#ClientToken": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9]{1,64}"
            }
        },
        "com.amazonaws.cloudhsm#ClientVersion": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "5.1",
                        "name": "FIVE_ONE"
                    },
                    {
                        "value": "5.3",
                        "name": "FIVE_THREE"
                    }
                ]
            }
        },
        "com.amazonaws.cloudhsm#CloudHsmFrontendService": {
            "type": "service",
            "version": "2014-05-30",
            "operations": [
                {
                    "target": "com.amazonaws.cloudhsm#AddTagsToResource"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CreateHapg"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CreateHsm"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CreateLunaClient"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DeleteHapg"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DeleteHsm"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DeleteLunaClient"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DescribeHapg"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DescribeHsm"
                },
                {
                    "target": "com.amazonaws.cloudhsm#DescribeLunaClient"
                },
                {
                    "target": "com.amazonaws.cloudhsm#GetConfig"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ListAvailableZones"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ListHapgs"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ListHsms"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ListLunaClients"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ModifyHapg"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ModifyHsm"
                },
                {
                    "target": "com.amazonaws.cloudhsm#ModifyLunaClient"
                },
                {
                    "target": "com.amazonaws.cloudhsm#RemoveTagsFromResource"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "CloudHSM",
                    "arnNamespace": "cloudhsm",
                    "cloudFormationName": "CloudHSM",
                    "cloudTrailEventSource": "cloudhsm.amazonaws.com",
                    "endpointPrefix": "cloudhsm"
                },
                "aws.auth#sigv4": {
                    "name": "cloudhsm"
                },
                "aws.protocols#awsJson1_1": {},
                "smithy.api#documentation": "<fullname>AWS CloudHSM Service</fullname>\n         <p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>",
                "smithy.api#title": "Amazon CloudHSM"
            }
        },
        "com.amazonaws.cloudhsm#CloudHsmInternalException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional information about the error.</p>"
                    }
                },
                "retryable": {
                    "target": "com.amazonaws.cloudhsm#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates if the action can be retried.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that an internal error occurred.</p>",
                "smithy.api#error": "server"
            }
        },
        "com.amazonaws.cloudhsm#CloudHsmObjectState": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "READY",
                        "name": "READY"
                    },
                    {
                        "value": "UPDATING",
                        "name": "UPDATING"
                    },
                    {
                        "value": "DEGRADED",
                        "name": "DEGRADED"
                    }
                ]
            }
        },
        "com.amazonaws.cloudhsm#CloudHsmServiceException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional information about the error.</p>"
                    }
                },
                "retryable": {
                    "target": "com.amazonaws.cloudhsm#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates if the action can be retried.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that an exception occurred in the AWS CloudHSM service.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.cloudhsm#CreateHapg": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#CreateHapgRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#CreateHapgResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Creates a high-availability partition group. A high-availability partition group is a\n      group of partitions that spans multiple physical HSMs.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateHapgRequest": {
            "type": "structure",
            "members": {
                "Label": {
                    "target": "com.amazonaws.cloudhsm#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the new high-availability partition group.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>CreateHapgRequest</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateHapgResponse": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>CreateHAPartitionGroup</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateHsm": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#CreateHsmRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#CreateHsmResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Creates an uninitialized HSM instance.</p>\n         <p>There is an upfront fee charged for each HSM instance that you create with the\n        <code>CreateHsm</code> operation. If you accidentally provision an HSM and want to request a\n      refund, delete the instance using the <a>DeleteHsm</a> operation, go to the <a href=\"https://console.aws.amazon.com/support/home\">AWS Support Center</a>, create a new case, and select\n        <b>Account and Billing Support</b>.</p>\n         <important>\n            <p>It can take up to 20 minutes to create and provision an HSM. You can monitor the\n        status of the HSM with the <a>DescribeHsm</a> operation. The HSM is ready to be\n        initialized when the status changes to <code>RUNNING</code>.</p>\n         </important>"
            }
        },
        "com.amazonaws.cloudhsm#CreateHsmRequest": {
            "type": "structure",
            "members": {
                "SubnetId": {
                    "target": "com.amazonaws.cloudhsm#SubnetId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the subnet in your VPC in which to place the HSM.</p>",
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "SubnetId"
                    }
                },
                "SshKey": {
                    "target": "com.amazonaws.cloudhsm#SshKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The SSH public key to install on the HSM.</p>",
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "SshKey"
                    }
                },
                "EniIp": {
                    "target": "com.amazonaws.cloudhsm#IpAddress",
                    "traits": {
                        "smithy.api#documentation": "<p>The IP address to assign to the HSM's ENI.</p>\n         <p>If an IP address is not specified, an IP address will be randomly chosen from the CIDR\n      range of the subnet.</p>",
                        "smithy.api#xmlName": "EniIp"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.cloudhsm#IamRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your\n      behalf.</p>",
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "IamRoleArn"
                    }
                },
                "ExternalId": {
                    "target": "com.amazonaws.cloudhsm#ExternalId",
                    "traits": {
                        "smithy.api#documentation": "<p>The external ID from <code>IamRoleArn</code>, if present.</p>",
                        "smithy.api#xmlName": "ExternalId"
                    }
                },
                "SubscriptionType": {
                    "target": "com.amazonaws.cloudhsm#SubscriptionType",
                    "traits": {
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "SubscriptionType"
                    }
                },
                "ClientToken": {
                    "target": "com.amazonaws.cloudhsm#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A user-defined token to ensure idempotence. Subsequent calls to this operation with the\n      same token will be ignored.</p>",
                        "smithy.api#xmlName": "ClientToken"
                    }
                },
                "SyslogIp": {
                    "target": "com.amazonaws.cloudhsm#IpAddress",
                    "traits": {
                        "smithy.api#documentation": "<p>The IP address for the syslog monitoring server. The AWS CloudHSM service only supports one\n      syslog monitoring server.</p>",
                        "smithy.api#xmlName": "SyslogIp"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <code>CreateHsm</code> operation.</p>",
                "smithy.api#xmlName": "CreateHsmRequest"
            }
        },
        "com.amazonaws.cloudhsm#CreateHsmResponse": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <code>CreateHsm</code> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateLunaClient": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#CreateLunaClientRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#CreateLunaClientResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Creates an HSM client.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateLunaClientRequest": {
            "type": "structure",
            "members": {
                "Label": {
                    "target": "com.amazonaws.cloudhsm#ClientLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label for the client.</p>"
                    }
                },
                "Certificate": {
                    "target": "com.amazonaws.cloudhsm#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used\n      by this client.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>CreateLunaClient</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#CreateLunaClientResponse": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>CreateLunaClient</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHapg": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DeleteHapgRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DeleteHapgResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Deletes a high-availability partition group.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHapgRequest": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group to delete.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>DeleteHapg</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHapgResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the action.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>DeleteHapg</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHsm": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DeleteHsmRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DeleteHsmResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Deletes an HSM. After completion, this operation cannot be undone and your key material\n      cannot be recovered.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHsmRequest": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM to delete.</p>",
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "HsmArn"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>DeleteHsm</a> operation.</p>",
                "smithy.api#xmlName": "DeleteHsmRequest"
            }
        },
        "com.amazonaws.cloudhsm#DeleteHsmResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the operation.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>DeleteHsm</a> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteLunaClient": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DeleteLunaClientRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DeleteLunaClientResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Deletes a client.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DeleteLunaClientRequest": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client to delete.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#DeleteLunaClientResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the action.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#DescribeHapg": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DescribeHapgRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DescribeHapgResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Retrieves information about a high-availability partition group.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeHapgRequest": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group to describe.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>DescribeHapg</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeHapgResponse": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group.</p>"
                    }
                },
                "HapgSerial": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The serial number of the high-availability partition group.</p>"
                    }
                },
                "HsmsLastActionFailed": {
                    "target": "com.amazonaws.cloudhsm#HsmList",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "HsmsPendingDeletion": {
                    "target": "com.amazonaws.cloudhsm#HsmList",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "HsmsPendingRegistration": {
                    "target": "com.amazonaws.cloudhsm#HsmList",
                    "traits": {
                        "smithy.api#documentation": "<p></p>"
                    }
                },
                "Label": {
                    "target": "com.amazonaws.cloudhsm#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>The label for the high-availability partition group.</p>"
                    }
                },
                "LastModifiedTimestamp": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time the high-availability partition group was last modified.</p>"
                    }
                },
                "PartitionSerialList": {
                    "target": "com.amazonaws.cloudhsm#PartitionSerialList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of partition serial numbers that belong to the high-availability partition\n      group.</p>"
                    }
                },
                "State": {
                    "target": "com.amazonaws.cloudhsm#CloudHsmObjectState",
                    "traits": {
                        "smithy.api#documentation": "<p>The state of the high-availability partition group.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>DescribeHapg</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeHsm": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DescribeHsmRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DescribeHsmResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Retrieves information about an HSM. You can identify the HSM by its ARN or its serial\n      number.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeHsmRequest": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM. Either the <code>HsmArn</code> or the <code>SerialNumber</code>\n      parameter must be specified.</p>"
                    }
                },
                "HsmSerialNumber": {
                    "target": "com.amazonaws.cloudhsm#HsmSerialNumber",
                    "traits": {
                        "smithy.api#documentation": "<p>The serial number of the HSM. Either the <code>HsmArn</code> or the\n        <code>HsmSerialNumber</code> parameter must be specified.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>DescribeHsm</a> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeHsmResponse": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM.</p>"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.cloudhsm#HsmStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the HSM.</p>"
                    }
                },
                "StatusDetails": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains additional information about the status of the HSM.</p>"
                    }
                },
                "AvailabilityZone": {
                    "target": "com.amazonaws.cloudhsm#AZ",
                    "traits": {
                        "smithy.api#documentation": "<p>The Availability Zone that the HSM is in.</p>"
                    }
                },
                "EniId": {
                    "target": "com.amazonaws.cloudhsm#EniId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>"
                    }
                },
                "EniIp": {
                    "target": "com.amazonaws.cloudhsm#IpAddress",
                    "traits": {
                        "smithy.api#documentation": "<p>The IP address assigned to the HSM's ENI.</p>"
                    }
                },
                "SubscriptionType": {
                    "target": "com.amazonaws.cloudhsm#SubscriptionType"
                },
                "SubscriptionStartDate": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The subscription start date.</p>"
                    }
                },
                "SubscriptionEndDate": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The subscription end date.</p>"
                    }
                },
                "VpcId": {
                    "target": "com.amazonaws.cloudhsm#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the VPC that the HSM is in.</p>"
                    }
                },
                "SubnetId": {
                    "target": "com.amazonaws.cloudhsm#SubnetId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier of the subnet that the HSM is in.</p>"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.cloudhsm#IamRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the IAM role assigned to the HSM.</p>"
                    }
                },
                "SerialNumber": {
                    "target": "com.amazonaws.cloudhsm#HsmSerialNumber",
                    "traits": {
                        "smithy.api#documentation": "<p>The serial number of the HSM.</p>"
                    }
                },
                "VendorName": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the HSM vendor.</p>"
                    }
                },
                "HsmType": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The HSM model type.</p>"
                    }
                },
                "SoftwareVersion": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The HSM software version.</p>"
                    }
                },
                "SshPublicKey": {
                    "target": "com.amazonaws.cloudhsm#SshKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The public SSH key.</p>"
                    }
                },
                "SshKeyLastUpdated": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that the SSH key was last updated.</p>"
                    }
                },
                "ServerCertUri": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The URI of the certificate server.</p>"
                    }
                },
                "ServerCertLastUpdated": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time that the server certificate was last updated.</p>"
                    }
                },
                "Partitions": {
                    "target": "com.amazonaws.cloudhsm#PartitionList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of partitions on the HSM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>DescribeHsm</a> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeLunaClient": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#DescribeLunaClientRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#DescribeLunaClientResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Retrieves information about an HSM client.</p>"
            }
        },
        "com.amazonaws.cloudhsm#DescribeLunaClientRequest": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>"
                    }
                },
                "CertificateFingerprint": {
                    "target": "com.amazonaws.cloudhsm#CertificateFingerprint",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate fingerprint.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#DescribeLunaClientResponse": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>"
                    }
                },
                "Certificate": {
                    "target": "com.amazonaws.cloudhsm#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate installed on the HSMs used by this client.</p>"
                    }
                },
                "CertificateFingerprint": {
                    "target": "com.amazonaws.cloudhsm#CertificateFingerprint",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate fingerprint.</p>"
                    }
                },
                "LastModifiedTimestamp": {
                    "target": "com.amazonaws.cloudhsm#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time the client was last modified.</p>"
                    }
                },
                "Label": {
                    "target": "com.amazonaws.cloudhsm#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the client.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#EniId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "eni-[0-9a-f]{8}"
            }
        },
        "com.amazonaws.cloudhsm#ExternalId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[\\w :+=./-]*"
            }
        },
        "com.amazonaws.cloudhsm#GetConfig": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#GetConfigRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#GetConfigResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Gets the configuration files necessary to connect to all high availability partition\n      groups the client is associated with.</p>"
            }
        },
        "com.amazonaws.cloudhsm#GetConfigRequest": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>",
                        "smithy.api#required": {}
                    }
                },
                "ClientVersion": {
                    "target": "com.amazonaws.cloudhsm#ClientVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The client version.</p>",
                        "smithy.api#required": {}
                    }
                },
                "HapgList": {
                    "target": "com.amazonaws.cloudhsm#HapgList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of ARNs that identify the high-availability partition groups that are associated\n      with the client.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#GetConfigResponse": {
            "type": "structure",
            "members": {
                "ConfigType": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of credentials.</p>"
                    }
                },
                "ConfigFile": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The chrystoki.conf configuration file.</p>"
                    }
                },
                "ConfigCred": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate file containing the server.pem files of the HSMs.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#HapgArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hapg-[0-9a-f]{8}"
            }
        },
        "com.amazonaws.cloudhsm#HapgList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#HapgArn"
            }
        },
        "com.amazonaws.cloudhsm#HsmArn": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>An ARN that identifies an HSM.</p>",
                "smithy.api#pattern": "arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}"
            }
        },
        "com.amazonaws.cloudhsm#HsmList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#HsmArn"
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains a list of ARNs that identify the HSMs.</p>"
            }
        },
        "com.amazonaws.cloudhsm#HsmSerialNumber": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "\\d{1,16}"
            }
        },
        "com.amazonaws.cloudhsm#HsmStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PENDING",
                        "name": "PENDING"
                    },
                    {
                        "value": "RUNNING",
                        "name": "RUNNING"
                    },
                    {
                        "value": "UPDATING",
                        "name": "UPDATING"
                    },
                    {
                        "value": "SUSPENDED",
                        "name": "SUSPENDED"
                    },
                    {
                        "value": "TERMINATING",
                        "name": "TERMINATING"
                    },
                    {
                        "value": "TERMINATED",
                        "name": "TERMINATED"
                    },
                    {
                        "value": "DEGRADED",
                        "name": "DEGRADED"
                    }
                ]
            }
        },
        "com.amazonaws.cloudhsm#IamRoleArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "arn:aws(-iso)?:iam::[0-9]{12}:role/[a-zA-Z0-9_\\+=,\\.\\-@]{1,64}"
            }
        },
        "com.amazonaws.cloudhsm#InvalidRequestException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional information about the error.</p>"
                    }
                },
                "retryable": {
                    "target": "com.amazonaws.cloudhsm#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates if the action can be retried.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Indicates that one or more of the request parameters are not valid.</p>",
                "smithy.api#error": "client"
            }
        },
        "com.amazonaws.cloudhsm#IpAddress": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"
            }
        },
        "com.amazonaws.cloudhsm#Label": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9_.-]{1,64}"
            }
        },
        "com.amazonaws.cloudhsm#ListAvailableZones": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ListAvailableZonesRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ListAvailableZonesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Lists the Availability Zones that have available AWS CloudHSM capacity.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListAvailableZonesRequest": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>ListAvailableZones</a> action.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListAvailableZonesResponse": {
            "type": "structure",
            "members": {
                "AZList": {
                    "target": "com.amazonaws.cloudhsm#AZList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of Availability Zones that have available AWS CloudHSM capacity.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListHapgs": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ListHapgsRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ListHapgsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Lists the high-availability partition groups for the account.</p>\n         <p>This operation supports pagination with the use of the <code>NextToken</code> member.\n      If more results are available, the <code>NextToken</code> member of the response contains a\n      token that you pass in the next call to <code>ListHapgs</code> to retrieve the next set of\n      items.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListHapgsRequest": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>NextToken</code> value from a previous call to <code>ListHapgs</code>. Pass\n      null if this is the first call.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListHapgsResponse": {
            "type": "structure",
            "members": {
                "HapgList": {
                    "target": "com.amazonaws.cloudhsm#HapgList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of high-availability partition groups.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If not null, more results are available. Pass this value to <code>ListHapgs</code> to\n      retrieve the next set of items.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListHsms": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ListHsmsRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ListHsmsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Retrieves the identifiers of all of the HSMs provisioned for the current\n      customer.</p>\n         <p>This operation supports pagination with the use of the <code>NextToken</code> member.\n      If more results are available, the <code>NextToken</code> member of the response contains a\n      token that you pass in the next call to <code>ListHsms</code> to retrieve the next set of\n      items.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListHsmsRequest": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>NextToken</code> value from a previous call to <code>ListHsms</code>. Pass\n      null if this is the first call.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListHsmsResponse": {
            "type": "structure",
            "members": {
                "HsmList": {
                    "target": "com.amazonaws.cloudhsm#HsmList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of ARNs that identify the HSMs.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If not null, more results are available. Pass this value to <code>ListHsms</code> to\n      retrieve the next set of items.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <code>ListHsms</code> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListLunaClients": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ListLunaClientsRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ListLunaClientsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Lists all of the clients.</p>\n         <p>This operation supports pagination with the use of the <code>NextToken</code> member.\n      If more results are available, the <code>NextToken</code> member of the response contains a\n      token that you pass in the next call to <code>ListLunaClients</code> to retrieve the next set\n      of items.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListLunaClientsRequest": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The <code>NextToken</code> value from a previous call to <code>ListLunaClients</code>.\n      Pass null if this is the first call.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListLunaClientsResponse": {
            "type": "structure",
            "members": {
                "ClientList": {
                    "target": "com.amazonaws.cloudhsm#ClientList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of clients.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.cloudhsm#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>If not null, more results are available. Pass this to <code>ListLunaClients</code> to\n      retrieve the next set of items.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ListTagsForResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Returns a list of all tags for the specified AWS CloudHSM resource.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the AWS CloudHSM resource.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ListTagsForResourceResponse": {
            "type": "structure",
            "members": {
                "TagList": {
                    "target": "com.amazonaws.cloudhsm#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more tags.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ModifyHapg": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ModifyHapgRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ModifyHapgResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Modifies an existing high-availability partition group.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ModifyHapgRequest": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group to modify.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Label": {
                    "target": "com.amazonaws.cloudhsm#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>The new label for the high-availability partition group.</p>"
                    }
                },
                "PartitionSerialList": {
                    "target": "com.amazonaws.cloudhsm#PartitionSerialList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of partition serial numbers to make members of the high-availability partition\n      group.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ModifyHapgResponse": {
            "type": "structure",
            "members": {
                "HapgArn": {
                    "target": "com.amazonaws.cloudhsm#HapgArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the high-availability partition group.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ModifyHsm": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ModifyHsmRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ModifyHsmResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Modifies an HSM.</p>\n         <important>\n            <p>This operation can result in the HSM being offline for up to 15 minutes while the AWS\n        CloudHSM service is reconfigured. If you are modifying a production HSM, you should ensure\n        that your AWS CloudHSM service is configured for high availability, and consider executing this\n        operation during a maintenance window.</p>\n         </important>"
            }
        },
        "com.amazonaws.cloudhsm#ModifyHsmRequest": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM to modify.</p>",
                        "smithy.api#required": {},
                        "smithy.api#xmlName": "HsmArn"
                    }
                },
                "SubnetId": {
                    "target": "com.amazonaws.cloudhsm#SubnetId",
                    "traits": {
                        "smithy.api#documentation": "<p>The new identifier of the subnet that the HSM is in. The new subnet must be in the same\n      Availability Zone as the current subnet.</p>",
                        "smithy.api#xmlName": "SubnetId"
                    }
                },
                "EniIp": {
                    "target": "com.amazonaws.cloudhsm#IpAddress",
                    "traits": {
                        "smithy.api#documentation": "<p>The new IP address for the elastic network interface (ENI) attached to the\n      HSM.</p>\n         <p>If the HSM is moved to a different subnet, and an IP address is not specified, an IP\n      address will be randomly chosen from the CIDR range of the new subnet.</p>",
                        "smithy.api#xmlName": "EniIp"
                    }
                },
                "IamRoleArn": {
                    "target": "com.amazonaws.cloudhsm#IamRoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The new IAM role ARN.</p>",
                        "smithy.api#xmlName": "IamRoleArn"
                    }
                },
                "ExternalId": {
                    "target": "com.amazonaws.cloudhsm#ExternalId",
                    "traits": {
                        "smithy.api#documentation": "<p>The new external ID.</p>",
                        "smithy.api#xmlName": "ExternalId"
                    }
                },
                "SyslogIp": {
                    "target": "com.amazonaws.cloudhsm#IpAddress",
                    "traits": {
                        "smithy.api#documentation": "<p>The new IP address for the syslog monitoring server. The AWS CloudHSM service only supports\n      one syslog monitoring server.</p>",
                        "smithy.api#xmlName": "SyslogIp"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the inputs for the <a>ModifyHsm</a> operation.</p>",
                "smithy.api#xmlName": "ModifyHsmRequest"
            }
        },
        "com.amazonaws.cloudhsm#ModifyHsmResponse": {
            "type": "structure",
            "members": {
                "HsmArn": {
                    "target": "com.amazonaws.cloudhsm#HsmArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the HSM.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the output of the <a>ModifyHsm</a> operation.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ModifyLunaClient": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#ModifyLunaClientRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#ModifyLunaClientResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Modifies the certificate used by the client.</p>\n         <p>This action can potentially start a workflow to install the new certificate on the\n      client's HSMs.</p>"
            }
        },
        "com.amazonaws.cloudhsm#ModifyLunaClientRequest": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Certificate": {
                    "target": "com.amazonaws.cloudhsm#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The new certificate for the client.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#ModifyLunaClientResponse": {
            "type": "structure",
            "members": {
                "ClientArn": {
                    "target": "com.amazonaws.cloudhsm#ClientArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the client.</p>"
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#PaginationToken": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9+/]*"
            }
        },
        "com.amazonaws.cloudhsm#PartitionArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}/partition-[0-9]{6,12}"
            }
        },
        "com.amazonaws.cloudhsm#PartitionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#PartitionArn"
            }
        },
        "com.amazonaws.cloudhsm#PartitionSerial": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "\\d{6,12}"
            }
        },
        "com.amazonaws.cloudhsm#PartitionSerialList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#PartitionSerial"
            }
        },
        "com.amazonaws.cloudhsm#RemoveTagsFromResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.cloudhsm#RemoveTagsFromResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.cloudhsm#RemoveTagsFromResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmInternalException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#CloudHsmServiceException"
                },
                {
                    "target": "com.amazonaws.cloudhsm#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>This is documentation for <b>AWS CloudHSM Classic</b>. For\n      more information, see <a href=\"http://aws.amazon.com/cloudhsm/faqs-classic/\">AWS CloudHSM\n      Classic FAQs</a>, the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/userguide/\">AWS\n      CloudHSM Classic User Guide</a>, and the <a href=\"https://docs.aws.amazon.com/cloudhsm/classic/APIReference/\">AWS CloudHSM Classic API Reference</a>.</p>\n         <p>\n            <b>For information about the current version of AWS\n      CloudHSM</b>, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a>, the\n      <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>,\n      and the <a href=\"https://docs.aws.amazon.com/cloudhsm/latest/APIReference/\">AWS CloudHSM API\n      Reference</a>.</p>\n         <p>Removes one or more tags from the specified AWS CloudHSM resource.</p>\n         <p>To remove a tag, specify only the tag key to remove (not the value). To overwrite the\n      value for an existing tag, use <a>AddTagsToResource</a>.</p>"
            }
        },
        "com.amazonaws.cloudhsm#RemoveTagsFromResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the AWS CloudHSM resource.</p>",
                        "smithy.api#required": {}
                    }
                },
                "TagKeyList": {
                    "target": "com.amazonaws.cloudhsm#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tag key or keys to remove.</p>\n         <p>Specify only the tag key to remove (not the value). To overwrite the value for an\n      existing tag, use <a>AddTagsToResource</a>.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#RemoveTagsFromResourceResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.cloudhsm#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the operation.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.cloudhsm#SshKey": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[a-zA-Z0-9+/= ._:\\\\@-]*"
            }
        },
        "com.amazonaws.cloudhsm#String": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "[\\w :+=./\\\\-]*"
            }
        },
        "com.amazonaws.cloudhsm#SubnetId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "subnet-[0-9a-f]{8}"
            }
        },
        "com.amazonaws.cloudhsm#SubscriptionType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Specifies the type of subscription for the HSM.</p>\n         <ul>\n            <li>\n               <p>\n                  <b>PRODUCTION</b> - The HSM is being used in a production\n          environment.</p>\n            </li>\n            <li>\n               <p>\n                  <b>TRIAL</b> - The HSM is being used in a product\n          trial.</p>\n            </li>\n         </ul>",
                "smithy.api#enum": [
                    {
                        "value": "PRODUCTION",
                        "name": "PRODUCTION"
                    }
                ]
            }
        },
        "com.amazonaws.cloudhsm#Tag": {
            "type": "structure",
            "members": {
                "Key": {
                    "target": "com.amazonaws.cloudhsm#TagKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The key of the tag.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Value": {
                    "target": "com.amazonaws.cloudhsm#TagValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The value of the tag.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A key-value pair that identifies or specifies metadata about an AWS CloudHSM\n      resource.</p>"
            }
        },
        "com.amazonaws.cloudhsm#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                }
            }
        },
        "com.amazonaws.cloudhsm#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#TagKey"
            }
        },
        "com.amazonaws.cloudhsm#TagList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.cloudhsm#Tag"
            }
        },
        "com.amazonaws.cloudhsm#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                }
            }
        },
        "com.amazonaws.cloudhsm#Timestamp": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "\\d*"
            }
        },
        "com.amazonaws.cloudhsm#VpcId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "vpc-[0-9a-f]{8}"
            }
        }
    }
}
