{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2015-12-08",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"acm",
    "jsonVersion":"1.1",
    "protocol":"json",
    "protocols":["json"],
    "serviceAbbreviation":"ACM",
    "serviceFullName":"AWS Certificate Manager",
    "serviceId":"ACM",
    "signatureVersion":"v4",
    "signingName":"acm",
    "targetPrefix":"CertificateManager",
    "uid":"acm-2015-12-08"
  },
  "operations":{
    "AddTagsToCertificate":{
      "name":"AddTagsToCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AddTagsToCertificateRequest"},
      "errors":[
        {"shape":"InvalidParameterException"},
        {"shape":"TagPolicyException"},
        {"shape":"TooManyTagsException"},
        {"shape":"InvalidArnException"},
        {"shape":"InvalidTagException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your Amazon Web Services resources. Each tag consists of a <code>key</code> and an optional <code>value</code>. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. </p> <note> <p>This action applies only to the <code>certificate</code> resource type. For all other ACM resource types, use <a>TagResource</a> instead.</p> </note> <p>You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/tags.html\">Tagging ACM certificates</a>. </p> <p>To remove one or more tags, use the <a>RemoveTagsFromCertificate</a> action. To view all of the tags that have been applied to the certificate, use the <a>ListTagsForCertificate</a> action. </p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "CreateAcmeDomainValidation":{
      "name":"CreateAcmeDomainValidation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAcmeDomainValidationRequest"},
      "output":{"shape":"CreateAcmeDomainValidationResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a domain validation for an ACME endpoint. Domain validations authorize the endpoint to issue certificates for specified domain names. You configure prevalidation to prove domain ownership.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "CreateAcmeEndpoint":{
      "name":"CreateAcmeEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAcmeEndpointRequest"},
      "output":{"shape":"CreateAcmeEndpointResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates an ACME endpoint, which is a managed ACME server with a unique endpoint URL. After creation, ACME clients can use the endpoint URL to automate certificate issuance using the ACME protocol.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "CreateAcmeExternalAccountBinding":{
      "name":"CreateAcmeExternalAccountBinding",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAcmeExternalAccountBindingRequest"},
      "output":{"shape":"CreateAcmeExternalAccountBindingResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates an external account binding (EAB) for an ACME endpoint. An EAB provides credentials that authorize an ACME client to register an account with the endpoint. Each EAB is associated with an IAM role that controls what certificate operations the ACME client can perform.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DeleteAcmeDomainValidation":{
      "name":"DeleteAcmeDomainValidation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAcmeDomainValidationRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a domain validation. After deletion, the ACME endpoint can no longer issue certificates for the associated domain.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DeleteAcmeEndpoint":{
      "name":"DeleteAcmeEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAcmeEndpointRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes an ACME endpoint. After deletion, the endpoint URL is no longer accessible and ACME clients cannot issue certificates through it. Any existing external account bindings and domain validations associated with the endpoint are also deleted.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DeleteAcmeExternalAccountBinding":{
      "name":"DeleteAcmeExternalAccountBinding",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAcmeExternalAccountBindingRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes an external account binding. Previously fetched credentials for this binding will no longer be usable for account registration. A deleted binding cannot be recovered.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DeleteCertificate":{
      "name":"DeleteCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteCertificateRequest"},
      "errors":[
        {"shape":"ResourceInUseException"},
        {"shape":"InvalidArnException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a certificate and its associated private key. If this action succeeds, the certificate is not available for use by Amazon Web Services services integrated with ACM. Deleting a certificate is eventually consistent. The may be a short delay before the certificate no longer appears in the list that can be displayed by calling the <a>ListCertificates</a> action or be retrieved by calling the <a>GetCertificate</a> action.</p> <note> <p>You cannot delete an ACM certificate that is being used by another Amazon Web Services service. To delete a certificate that is in use, you must first remove the certificate association using the console or the CLI for the associated service.</p> <p>Deleting a certificate issued by a private certificate authority (CA) has no effect on the CA. You will continue to be charged for the CA until it is deleted. For more information, see <a href=\"https://docs.aws.amazon.com/privateca/latest/userguide/PCADeleteCA.html\"> Deleting Your Private CA</a> in the <i>Private Certificate Authority User Guide</i>.</p> <p>You cannot delete a certificate with a <code>CertificateKeyPairOrigin</code> of <code>ACME</code>. ACM automatically deletes these certificates 1 year after they expire.</p> </note> <p>Deleting a certificate issued by a private certificate authority (CA) has no effect on the CA. You will continue to be charged for the CA until it is deleted. For more information, see <a href=\"https://docs.aws.amazon.com/privateca/latest/userguide/PCADeleteCA.html\">Deleting your private CA</a> in the <i>Amazon Web Services Private Certificate Authority User Guide</i>.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "DescribeAcmeAccount":{
      "name":"DescribeAcmeAccount",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAcmeAccountRequest"},
      "output":{"shape":"DescribeAcmeAccountResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns detailed metadata about the specified ACME account, including its status, public key thumbprint, and associated external account binding.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DescribeAcmeDomainValidation":{
      "name":"DescribeAcmeDomainValidation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAcmeDomainValidationRequest"},
      "output":{"shape":"DescribeAcmeDomainValidationResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns detailed metadata about the specified domain validation, including its status, domain scope, and DNS resource records required for validation.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DescribeAcmeEndpoint":{
      "name":"DescribeAcmeEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAcmeEndpointRequest"},
      "output":{"shape":"DescribeAcmeEndpointResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns detailed metadata about the specified ACME endpoint, including its status, URL, authorization behavior, and certificate authority configuration.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DescribeAcmeExternalAccountBinding":{
      "name":"DescribeAcmeExternalAccountBinding",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAcmeExternalAccountBindingRequest"},
      "output":{"shape":"DescribeAcmeExternalAccountBindingResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns detailed metadata about the specified external account binding, including the associated IAM role, expiration time, and usage history.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "DescribeCertificate":{
      "name":"DescribeCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeCertificateRequest"},
      "output":{"shape":"DescribeCertificateResponse"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Returns detailed metadata about the specified ACM certificate.</p> <p>If you have just created a certificate using the <code>RequestCertificate</code> action, there is a delay of several seconds before you can retrieve information about it.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ExportCertificate":{
      "name":"ExportCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ExportCertificateRequest"},
      "output":{"shape":"ExportCertificateResponse"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"RequestInProgressException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Exports a private certificate issued by a private certificate authority (CA) or a public certificate for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it. </p> <p>For information about exporting and formatting a certificate using the ACM console or CLI, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/export-private.html\">Export a private certificate</a> and <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/export-public-certificate\">Export a public certificate</a>.</p> <note> <p>ACM public certificates created prior to June 17, 2025 cannot be exported.</p> </note>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "GetAccountConfiguration":{
      "name":"GetAccountConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "output":{"shape":"GetAccountConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns the account configuration options associated with an Amazon Web Services account.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "GetAcmeExternalAccountBindingCredentials":{
      "name":"GetAcmeExternalAccountBindingCredentials",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetAcmeExternalAccountBindingCredentialsRequest"},
      "output":{"shape":"GetAcmeExternalAccountBindingCredentialsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves the key ID and MAC key credentials for an external account binding. These credentials are used by ACME clients during account registration to bind to the endpoint.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "GetCertificate":{
      "name":"GetCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCertificateRequest"},
      "output":{"shape":"GetCertificateResponse"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"RequestInProgressException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves a certificate and its certificate chain. The certificate may be either a public or private certificate issued using the ACM <code>RequestCertificate</code> action, or a certificate imported into ACM using the <code>ImportCertificate</code> action. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use <a href=\"https://wiki.openssl.org/index.php/Command_Line_Utilities\">OpenSSL</a> to decode the certificates and inspect individual fields.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ImportCertificate":{
      "name":"ImportCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ImportCertificateRequest"},
      "output":{"shape":"ImportCertificateResponse"},
      "errors":[
        {"shape":"InvalidParameterException"},
        {"shape":"TagPolicyException"},
        {"shape":"TooManyTagsException"},
        {"shape":"InvalidArnException"},
        {"shape":"InvalidTagException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Imports a certificate into Certificate Manager (ACM) to use with services that are integrated with ACM. Note that <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html\">integrated services</a> allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html\">Importing Certificates</a> in the <i>Certificate Manager User Guide</i>. </p> <note> <p>ACM does not provide <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for certificates that you import.</p> </note> <p>Note the following guidelines when importing third party certificates:</p> <ul> <li> <p>You must enter the private key that matches the certificate you are importing.</p> </li> <li> <p>The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.</p> </li> <li> <p>The private key must be no larger than 5 KB (5,120 bytes).</p> </li> <li> <p>The certificate, private key, and certificate chain must be PEM-encoded.</p> </li> <li> <p>The current time must be between the <code>Not Before</code> and <code>Not After</code> certificate fields.</p> </li> <li> <p>The <code>Issuer</code> field must not be empty.</p> </li> <li> <p>The OCSP authority URL, if present, must not exceed 1000 characters.</p> </li> <li> <p>To import a new certificate, omit the <code>CertificateArn</code> argument. Include this argument only when you want to replace a previously imported certificate.</p> </li> <li> <p>When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by <code>fileb://</code>. For example, you can specify a certificate saved in the <code>C:\\temp</code> folder as <code>fileb://C:\\temp\\certificate_to_import.pem</code>. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs. </p> </li> <li> <p>When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using. </p> </li> <li> <p>The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example, if the signing CA key type is RSA, then the certificate key type must also be RSA.</p> </li> </ul> <p>This operation returns the <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Name (ARN)</a> of the imported certificate.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ListAcmeAccounts":{
      "name":"ListAcmeAccounts",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAcmeAccountsRequest"},
      "output":{"shape":"ListAcmeAccountsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves a list of ACME accounts registered with the specified ACME endpoint. ACME accounts are created when clients use external account binding credentials to register.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "ListAcmeDomainValidations":{
      "name":"ListAcmeDomainValidations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAcmeDomainValidationsRequest"},
      "output":{"shape":"ListAcmeDomainValidationsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves a list of domain validations for the specified ACME endpoint.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "ListAcmeEndpoints":{
      "name":"ListAcmeEndpoints",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAcmeEndpointsRequest"},
      "output":{"shape":"ListAcmeEndpointsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves a list of ACME endpoints in your account. Use this operation to view all configured ACME endpoints and their current status.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "ListAcmeExternalAccountBindings":{
      "name":"ListAcmeExternalAccountBindings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAcmeExternalAccountBindingsRequest"},
      "output":{"shape":"ListAcmeExternalAccountBindingsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves a list of external account bindings for the specified ACME endpoint.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "ListCertificateDomainValidations":{
      "name":"ListCertificateDomainValidations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListCertificateDomainValidationsRequest"},
      "output":{"shape":"ListCertificateDomainValidationsResponse"},
      "errors":[
        {"shape":"InvalidArgsException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns per-domain validation summaries for an ACM certificate. Each summary includes the domain name, the active validation configuration, and the requested validation configuration when a validation method migration is in progress. You can use the results to monitor the progress of an email-to-DNS validation migration and to retrieve the CNAME records required for DNS validation.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ListCertificates":{
      "name":"ListCertificates",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListCertificatesRequest"},
      "output":{"shape":"ListCertificatesResponse"},
      "errors":[
        {"shape":"InvalidArgsException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only <code>RSA_2048</code> certificates. For more information, see <a>Filters</a>.</p> <note> <p>By default, this action does not return certificates with a <code>CertificateKeyPairOrigin</code> of <code>ACME</code>. To include ACME certificates, specify <code>ACME</code> in the <code>CertificateKeyPairOrigins</code> filter.</p> </note>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ListTagsForCertificate":{
      "name":"ListTagsForCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForCertificateRequest"},
      "output":{"shape":"ListTagsForCertificateResponse"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the <a>AddTagsToCertificate</a> action. To delete a tag, use the <a>RemoveTagsFromCertificate</a> action. </p> <note> <p>This action applies only to the <code>certificate</code> resource type. For all other ACM resource types, use <a>ListTagsForResource</a> instead.</p> </note>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists the tags associated with an ACM resource.</p> <note> <p>Use this action for all ACM resource types except the <code>certificate</code> resource type. For certificate resources, use <a>ListTagsForCertificate</a> instead.</p> </note> <p>To add one or more tags, use the <a>TagResource</a> action. To remove one or more tags, use the <a>UntagResource</a> action.</p>",
      "readonly":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "PutAccountConfiguration":{
      "name":"PutAccountConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutAccountConfigurationRequest"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Adds or modifies account-level configurations in ACM. </p> <p>The supported configuration option is <code>DaysBeforeExpiry</code>. This option specifies the number of days prior to certificate expiration when ACM starts generating <code>EventBridge</code> events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "RemoveTagsFromCertificate":{
      "name":"RemoveTagsFromCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveTagsFromCertificateRequest"},
      "errors":[
        {"shape":"InvalidParameterException"},
        {"shape":"TagPolicyException"},
        {"shape":"InvalidArnException"},
        {"shape":"InvalidTagException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. </p> <note> <p>This action applies only to the <code>certificate</code> resource type. For all other ACM resource types, use <a>UntagResource</a> instead.</p> </note> <p>To add tags to a certificate, use the <a>AddTagsToCertificate</a> action. To view all of the tags that have been applied to a specific ACM certificate, use the <a>ListTagsForCertificate</a> action. </p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "RenewCertificate":{
      "name":"RenewCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RenewCertificateRequest"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"RequestInProgressException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Renews an <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html\">eligible ACM certificate</a>. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first <a href=\"https://docs.aws.amazon.com/privateca/latest/userguide/assign-permissions.html#PcaPermissions\">grant the ACM service principal permission to do so</a>. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html\">Testing Managed Renewal</a> in the ACM User Guide.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "RequestCertificate":{
      "name":"RequestCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RequestCertificateRequest"},
      "output":{"shape":"RequestCertificateResponse"},
      "errors":[
        {"shape":"InvalidParameterException"},
        {"shape":"TagPolicyException"},
        {"shape":"TooManyTagsException"},
        {"shape":"InvalidArnException"},
        {"shape":"InvalidTagException"},
        {"shape":"InvalidDomainValidationOptionsException"},
        {"shape":"LimitExceededException"}
      ],
      "documentation":"<p>Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the <code>DomainName</code> parameter. You can also specify additional FQDNs in the <code>SubjectAlternativeNames</code> parameter. </p> <p>If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html\">DNS validation</a> or <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html\">email validation</a>. We recommend that you use DNS validation.</p> <note> <p>ACM behavior differs from the <a href=\"https://datatracker.ietf.org/doc/html/rfc6125#appendix-B.2\">RFC 6125</a> specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).</p> </note> <p>After successful completion of the <code>RequestCertificate</code> action, there is a delay of several seconds before you can retrieve information about the new certificate.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "ResendValidationEmail":{
      "name":"ResendValidationEmail",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ResendValidationEmailRequest"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"InvalidDomainValidationOptionsException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidStateException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking <b>I Approve</b>. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/setup-email.html\">Configure Email for your Domain</a>. </p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "RevokeAcmeAccount":{
      "name":"RevokeAcmeAccount",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RevokeAcmeAccountRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Revokes an ACME account, preventing it from requesting or revoking certificates. This operation is irreversible.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "RevokeAcmeExternalAccountBinding":{
      "name":"RevokeAcmeExternalAccountBinding",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RevokeAcmeExternalAccountBindingRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Revokes an external account binding, preventing new ACME accounts from being registered using this binding. Existing ACME accounts that were previously registered using the binding are not affected and must be revoked separately.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "RevokeCertificate":{
      "name":"RevokeCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RevokeCertificateRequest"},
      "output":{"shape":"RevokeCertificateResponse"},
      "errors":[
        {"shape":"ResourceInUseException"},
        {"shape":"InvalidArnException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Revokes a public ACM certificate. You can only revoke certificates that have been previously exported.</p> <important> <p>Once a certificate is revoked, you cannot reuse the certificate. Revoking a certificate is permanent.</p> </important>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "SearchCertificates":{
      "name":"SearchCertificates",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SearchCertificatesRequest"},
      "output":{"shape":"SearchCertificatesResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Retrieves a list of certificates matching search criteria. You can filter certificates by X.509 attributes and ACM specific properties like certificate status, type and renewal eligibility. This operation provides more flexible filtering than <a>ListCertificates</a> by supporting complex filter statements.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"TagResourceRequest"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Adds one or more tags to an ACM resource. Tags are labels that you can use to identify and organize your Amazon Web Services resources. Each tag consists of a <code>key</code> and an optional <code>value</code>.</p> <note> <p>Use this action for all ACM resource types except the <code>certificate</code> resource type. For certificate resources, use <a>AddTagsToCertificate</a> instead.</p> </note> <p>To remove one or more tags, use the <a>UntagResource</a> action. To view all of the tags that have been applied to a resource, use the <a>ListTagsForResource</a> action.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UntagResourceRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Removes one or more tags from an ACM resource.</p> <note> <p>Use this action for all ACM resource types except the <code>certificate</code> resource type. For certificate resources, use <a>RemoveTagsFromCertificate</a> instead.</p> </note> <p>To add one or more tags, use the <a>TagResource</a> action. To view all of the tags that have been applied to a resource, use the <a>ListTagsForResource</a> action.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    },
    "UpdateAcmeDomainValidation":{
      "name":"UpdateAcmeDomainValidation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAcmeDomainValidationRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the prevalidation configuration of an existing domain validation.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "UpdateAcmeEndpoint":{
      "name":"UpdateAcmeEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAcmeEndpointRequest"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the configuration of an existing ACME endpoint. You can change the authorization behavior, contact requirement, or certificate authority settings.</p>",
      "idempotent":true,
      "staticContextParams":{
        "ServiceType":{"value":"ACM-ACME"}
      }
    },
    "UpdateCertificateOptions":{
      "name":"UpdateCertificateOptions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateCertificateOptionsRequest"},
      "errors":[
        {"shape":"InvalidArnException"},
        {"shape":"ConflictException"},
        {"shape":"LimitExceededException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidStateException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Updates certificate options. You can use this operation to change the domain validation method or specify whether to export your certificate. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-to-dns-migration.html\">Migrate from email to DNS validation</a> and <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager Exportable Managed Certificates</a>.</p>",
      "staticContextParams":{
        "ServiceType":{"value":"ACM"}
      }
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ServiceErrorMessage"}
      },
      "documentation":"<p>You do not have access required to perform this action.</p>",
      "exception":true
    },
    "AcmCertificateMetadata":{
      "type":"structure",
      "members":{
        "CreatedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was requested.</p>"
        },
        "Exported":{
          "shape":"NullableBoolean",
          "documentation":"<p>Indicates whether the certificate has been exported.</p>"
        },
        "ImportedAt":{
          "shape":"TStamp",
          "documentation":"<p>The date and time when the certificate was imported. This value exists only when the certificate type is <code>IMPORTED</code>. </p>"
        },
        "InUse":{
          "shape":"NullableBoolean",
          "documentation":"<p>Indicates whether the certificate is currently in use by an Amazon Web Services service.</p>"
        },
        "IssuedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was issued. This value exists only when the certificate type is <code>AMAZON_ISSUED</code>. </p>"
        },
        "RenewalEligibility":{
          "shape":"RenewalEligibility",
          "documentation":"<p>Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the <a>RenewCertificate</a> command.</p>"
        },
        "RevokedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was revoked. This value exists only when the certificate status is <code>REVOKED</code>. </p>"
        },
        "Status":{
          "shape":"CertificateStatus",
          "documentation":"<p>The status of the certificate.</p> <p>A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html\">Certificate request fails</a>. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html\">DNS validation</a> or <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html\">Email validation</a>, and try again. If validation succeeds, the certificate enters status ISSUED. </p>"
        },
        "RenewalStatus":{
          "shape":"RenewalStatus",
          "documentation":"<p>The renewal status of the certificate.</p>"
        },
        "Type":{
          "shape":"CertificateType",
          "documentation":"<p>The source of the certificate. For certificates provided by ACM, this value is <code>AMAZON_ISSUED</code>. For certificates that you imported with <a>ImportCertificate</a>, this value is <code>IMPORTED</code>. ACM does not provide <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html\">Importing Certificates</a> in the <i>Certificate Manager User Guide</i>. </p>"
        },
        "ExportOption":{
          "shape":"CertificateExport",
          "documentation":"<p>Indicates whether the certificate can be exported.</p>"
        },
        "ManagedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>"
        },
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>Specifies the domain validation method.</p>"
        },
        "CertificateKeyPairOrigin":{
          "shape":"CertificateKeyPairOrigin",
          "documentation":"<p>The origin of the certificate's key pair.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the ACME endpoint used to issue the certificate.</p>"
        },
        "AcmeAccountId":{
          "shape":"AcmeAccountId",
          "documentation":"<p>The ACME account identifier associated with the certificate.</p>"
        }
      },
      "documentation":"<p>Contains ACM-specific metadata about a certificate.</p>"
    },
    "AcmCertificateMetadataFilter":{
      "type":"structure",
      "members":{
        "Status":{
          "shape":"CertificateStatus",
          "documentation":"<p>Filter by certificate status.</p>"
        },
        "RenewalStatus":{
          "shape":"RenewalStatus",
          "documentation":"<p>Filter by certificate renewal status.</p>"
        },
        "Type":{
          "shape":"CertificateType",
          "documentation":"<p>Filter by certificate type.</p>"
        },
        "InUse":{
          "shape":"NullableBoolean",
          "documentation":"<p>Filter by whether the certificate is in use.</p>"
        },
        "Exported":{
          "shape":"NullableBoolean",
          "documentation":"<p>Filter by whether the certificate has been exported.</p>"
        },
        "ExportOption":{
          "shape":"CertificateExport",
          "documentation":"<p>Filter by certificate export option.</p>"
        },
        "ManagedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Filter by the entity that manages the certificate.</p>"
        },
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>Filter by validation method.</p>"
        },
        "CertificateKeyPairOrigin":{
          "shape":"CertificateKeyPairOrigin",
          "documentation":"<p>Filter by certificate key pair origin.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"Arn",
          "documentation":"<p>Filter by ACME endpoint ARN.</p>"
        },
        "AcmeAccountId":{
          "shape":"AcmeAccountId",
          "documentation":"<p>Filter by ACME account identifier.</p>"
        }
      },
      "documentation":"<p>Filters certificates by ACM metadata.</p>",
      "union":true
    },
    "AcmeAccount":{
      "type":"structure",
      "members":{
        "AccountUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME account.</p>"
        },
        "PublicKeyThumbprint":{
          "shape":"String",
          "documentation":"<p>The thumbprint of the public key associated with the ACME account.</p>"
        },
        "Status":{
          "shape":"AcmeAccountStatus",
          "documentation":"<p>The status of the ACME account.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME account was created.</p>"
        },
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the external account binding associated with this ACME account.</p>"
        },
        "Contacts":{
          "shape":"ContactList",
          "documentation":"<p>The contact information for the ACME account.</p>"
        }
      },
      "documentation":"<p>Contains detailed information about an ACME account.</p>"
    },
    "AcmeAccountId":{
      "type":"string",
      "max":36,
      "min":36
    },
    "AcmeAccountList":{
      "type":"list",
      "member":{"shape":"AcmeAccountSummary"}
    },
    "AcmeAccountStatus":{
      "type":"string",
      "enum":[
        "VALID",
        "DEACTIVATED",
        "REVOKED"
      ]
    },
    "AcmeAccountSummary":{
      "type":"structure",
      "members":{
        "AccountUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME account.</p>"
        },
        "PublicKeyThumbprint":{
          "shape":"String",
          "documentation":"<p>The thumbprint of the public key associated with the ACME account.</p>"
        },
        "Status":{
          "shape":"AcmeAccountStatus",
          "documentation":"<p>The status of the ACME account.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME account was created.</p>"
        },
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the external account binding associated with this ACME account.</p>"
        },
        "Contacts":{
          "shape":"ContactList",
          "documentation":"<p>The contact information for the ACME account.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an ACME account.</p>"
    },
    "AcmeAuthorizationBehavior":{
      "type":"string",
      "enum":["PRE_APPROVED"]
    },
    "AcmeContact":{
      "type":"string",
      "enum":[
        "REQUIRED",
        "NOT_REQUIRED"
      ]
    },
    "AcmeDomainValidation":{
      "type":"structure",
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME domain validation.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "DomainName":{
          "shape":"DomainName",
          "documentation":"<p>The domain name being validated.</p>"
        },
        "PrevalidationType":{
          "shape":"PrevalidationType",
          "documentation":"<p>The type of prevalidation used.</p>"
        },
        "PrevalidationDetails":{
          "shape":"PrevalidationDetails",
          "documentation":"<p>Details about the prevalidation configuration.</p>"
        },
        "Status":{
          "shape":"AcmeDomainValidationStatus",
          "documentation":"<p>The status of the domain validation.</p>"
        },
        "FailureDetails":{
          "shape":"FailureDetails",
          "documentation":"<p>Details about the failure, if the validation failed.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the domain validation was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the domain validation was last updated.</p>"
        }
      },
      "documentation":"<p>Contains detailed information about an ACME domain validation.</p>"
    },
    "AcmeDomainValidationArn":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"arn:aws[a-z-]*:acm:[a-z0-9-]+:[0-9]{12}:acme-endpoint/[a-zA-Z0-9-]+/acme-domain-validation/[a-zA-Z0-9-]+"
    },
    "AcmeDomainValidationFailureReason":{
      "type":"string",
      "enum":[
        "ACCESS_DENIED",
        "DOMAIN_MISMATCH",
        "DOMAIN_NOT_ALLOWED",
        "ENDPOINT_NOT_ACTIVE",
        "HOSTED_ZONE_NOT_FOUND",
        "INTERNAL_FAILURE",
        "INVALID_CHANGE_BATCH",
        "INVALID_PUBLIC_DOMAIN",
        "TIMED_OUT"
      ]
    },
    "AcmeDomainValidationList":{
      "type":"list",
      "member":{"shape":"AcmeDomainValidationSummary"}
    },
    "AcmeDomainValidationStatus":{
      "type":"string",
      "enum":[
        "VALIDATING",
        "VALID",
        "INVALID",
        "DELETING"
      ]
    },
    "AcmeDomainValidationSummary":{
      "type":"structure",
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME domain validation.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "DomainName":{
          "shape":"DomainName",
          "documentation":"<p>The domain name being validated.</p>"
        },
        "PrevalidationType":{
          "shape":"PrevalidationType",
          "documentation":"<p>The type of prevalidation used.</p>"
        },
        "PrevalidationDetails":{
          "shape":"PrevalidationDetails",
          "documentation":"<p>Details about the prevalidation configuration.</p>"
        },
        "Status":{
          "shape":"AcmeDomainValidationStatus",
          "documentation":"<p>The status of the domain validation.</p>"
        },
        "FailureDetails":{
          "shape":"FailureDetails",
          "documentation":"<p>Details about the failure, if the validation failed.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the domain validation was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the domain validation was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an ACME domain validation.</p>"
    },
    "AcmeEndpoint":{
      "type":"structure",
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "EndpointUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME endpoint.</p>"
        },
        "Status":{
          "shape":"AcmeEndpointStatus",
          "documentation":"<p>The status of the ACME endpoint.</p>"
        },
        "FailureReason":{
          "shape":"String",
          "documentation":"<p>The reason the ACME endpoint failed, if applicable.</p>"
        },
        "AuthorizationBehavior":{
          "shape":"AcmeAuthorizationBehavior",
          "documentation":"<p>The authorization behavior of the ACME endpoint.</p>"
        },
        "Contact":{
          "shape":"AcmeContact",
          "documentation":"<p>Whether ACME clients must provide contact information during account registration.</p>"
        },
        "CertificateAuthority":{
          "shape":"CertificateAuthority",
          "documentation":"<p>The certificate authority configuration for the ACME endpoint.</p>"
        },
        "CertificateTags":{
          "shape":"TagList",
          "documentation":"<p>Tags applied to certificates issued through this ACME endpoint.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME endpoint was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME endpoint was last updated.</p>"
        }
      },
      "documentation":"<p>Contains detailed information about an ACME endpoint.</p>"
    },
    "AcmeEndpointArn":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"arn:aws[a-z-]*:acm:[a-z0-9-]+:[0-9]{12}:acme-endpoint/[a-zA-Z0-9-]+"
    },
    "AcmeEndpointList":{
      "type":"list",
      "member":{"shape":"AcmeEndpointSummary"}
    },
    "AcmeEndpointStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "DELETING",
        "FAILED"
      ]
    },
    "AcmeEndpointSummary":{
      "type":"structure",
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "EndpointUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME endpoint.</p>"
        },
        "Status":{
          "shape":"AcmeEndpointStatus",
          "documentation":"<p>The status of the ACME endpoint.</p>"
        },
        "FailureReason":{
          "shape":"String",
          "documentation":"<p>The reason the ACME endpoint failed, if applicable.</p>"
        },
        "AuthorizationBehavior":{
          "shape":"AcmeAuthorizationBehavior",
          "documentation":"<p>The authorization behavior of the ACME endpoint.</p>"
        },
        "Contact":{
          "shape":"AcmeContact",
          "documentation":"<p>Whether ACME clients must provide contact information during account registration.</p>"
        },
        "CertificateAuthority":{
          "shape":"CertificateAuthority",
          "documentation":"<p>The certificate authority configuration for the ACME endpoint.</p>"
        },
        "CertificateTags":{
          "shape":"TagList",
          "documentation":"<p>Tags applied to certificates issued through this ACME endpoint.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME endpoint was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the ACME endpoint was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an ACME endpoint.</p>"
    },
    "AcmeExternalAccountBinding":{
      "type":"structure",
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "RoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role associated with the external account binding.</p>"
        },
        "ExpiresAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding expires.</p>"
        },
        "RevokedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was revoked.</p>"
        },
        "LastUsedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was last used.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was last updated.</p>"
        }
      },
      "documentation":"<p>Contains detailed information about an ACME external account binding.</p>"
    },
    "AcmeExternalAccountBindingArn":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"arn:aws[a-z-]*:acm:[a-z0-9-]+:[0-9]{12}:acme-endpoint/[a-zA-Z0-9-]+/acme-external-account-binding/[a-zA-Z0-9-]+"
    },
    "AcmeExternalAccountBindingList":{
      "type":"list",
      "member":{"shape":"AcmeExternalAccountBindingSummary"}
    },
    "AcmeExternalAccountBindingSummary":{
      "type":"structure",
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "RoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role associated with the external account binding.</p>"
        },
        "ExpiresAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding expires.</p>"
        },
        "RevokedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was revoked.</p>"
        },
        "LastUsedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was last used.</p>"
        },
        "CreatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was created.</p>"
        },
        "UpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the external account binding was last updated.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an ACME external account binding.</p>"
    },
    "AddTagsToCertificateRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "Tags"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value pair that defines the tag. The tag value is optional.</p>"
        }
      }
    },
    "Arn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*"
    },
    "AvailabilityErrorMessage":{"type":"string"},
    "CertificateArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:certificate/[\\w+=,.@-]+.*"
    },
    "CertificateAuthority":{
      "type":"structure",
      "members":{
        "PublicCertificateAuthority":{
          "shape":"PublicCertificateAuthority",
          "documentation":"<p>Configuration for using a public certificate authority.</p>"
        }
      },
      "documentation":"<p>Defines the certificate authority to use for an ACME endpoint.</p>",
      "union":true
    },
    "CertificateBody":{
      "type":"string",
      "max":32768,
      "min":1,
      "pattern":"-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?"
    },
    "CertificateBodyBlob":{
      "type":"blob",
      "max":32768,
      "min":1
    },
    "CertificateChain":{
      "type":"string",
      "max":2097152,
      "min":1,
      "pattern":"(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?"
    },
    "CertificateChainBlob":{
      "type":"blob",
      "max":2097152,
      "min":1
    },
    "CertificateDetail":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>"
        },
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>The fully qualified domain name for the certificate, such as www.example.com or example.com.</p>"
        },
        "SubjectAlternativeNames":{
          "shape":"DomainList",
          "documentation":"<p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p>"
        },
        "ManagedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>"
        },
        "DomainValidationOptions":{
          "shape":"DomainValidationList",
          "documentation":"<p>Contains information about the initial validation of each domain name that occurs as a result of the <a>RequestCertificate</a> request. This field exists only when the certificate type is <code>AMAZON_ISSUED</code>. </p>"
        },
        "Serial":{
          "shape":"String",
          "documentation":"<p>The serial number of the certificate.</p>"
        },
        "Subject":{
          "shape":"String",
          "documentation":"<p>The name of the entity that is associated with the public key contained in the certificate.</p>"
        },
        "Issuer":{
          "shape":"String",
          "documentation":"<p>The name of the certificate authority that issued and signed the certificate.</p>"
        },
        "CreatedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was requested.</p>"
        },
        "IssuedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was issued. This value exists only when the certificate type is <code>AMAZON_ISSUED</code>. </p>"
        },
        "ImportedAt":{
          "shape":"TStamp",
          "documentation":"<p>The date and time when the certificate was imported. This value exists only when the certificate type is <code>IMPORTED</code>. </p>"
        },
        "Status":{
          "shape":"CertificateStatus",
          "documentation":"<p>The status of the certificate.</p> <p>A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html\">Certificate request fails</a>. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html\">DNS validation</a> or <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html\">Email validation</a>, and try again. If validation succeeds, the certificate enters status ISSUED. </p>"
        },
        "RevokedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was revoked. This value exists only when the certificate status is <code>REVOKED</code>. </p>"
        },
        "RevocationReason":{
          "shape":"RevocationReason",
          "documentation":"<p>The reason the certificate was revoked. This value exists only when the certificate status is <code>REVOKED</code>. </p>"
        },
        "NotBefore":{
          "shape":"TStamp",
          "documentation":"<p>The time before which the certificate is not valid.</p>"
        },
        "NotAfter":{
          "shape":"TStamp",
          "documentation":"<p>The time after which the certificate is not valid.</p>"
        },
        "KeyAlgorithm":{
          "shape":"KeyAlgorithm",
          "documentation":"<p>The algorithm that was used to generate the public-private key pair.</p>"
        },
        "SignatureAlgorithm":{
          "shape":"String",
          "documentation":"<p>The algorithm that was used to sign the certificate.</p>"
        },
        "InUseBy":{
          "shape":"InUseList",
          "documentation":"<p>A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by multiple Amazon Web Services resources. </p>"
        },
        "FailureReason":{
          "shape":"FailureReason",
          "documentation":"<p>The reason the certificate request failed. This value exists only when the certificate status is <code>FAILED</code>. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting.html#troubleshooting-failed\">Certificate Request Failed</a> in the <i>Certificate Manager User Guide</i>. </p>"
        },
        "Type":{
          "shape":"CertificateType",
          "documentation":"<p>The source of the certificate. For certificates provided by ACM, this value is <code>AMAZON_ISSUED</code>. For certificates that you imported with <a>ImportCertificate</a>, this value is <code>IMPORTED</code>. ACM does not provide <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html\">Importing Certificates</a> in the <i>Certificate Manager User Guide</i>. </p>"
        },
        "RenewalSummary":{
          "shape":"RenewalSummary",
          "documentation":"<p>Contains information about the status of ACM's <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for the certificate. This field exists only when the certificate type is <code>AMAZON_ISSUED</code>.</p>"
        },
        "KeyUsages":{
          "shape":"KeyUsageList",
          "documentation":"<p>A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.</p>"
        },
        "ExtendedKeyUsages":{
          "shape":"ExtendedKeyUsageList",
          "documentation":"<p>Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). </p>"
        },
        "CertificateAuthorityArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has the following format: </p> <p> <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code> </p>"
        },
        "RenewalEligibility":{
          "shape":"RenewalEligibility",
          "documentation":"<p>Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the <a>RenewCertificate</a> command.</p>"
        },
        "Options":{
          "shape":"CertificateOptions",
          "documentation":"<p>Contains the certificate options. Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log.</p>"
        },
        "UpdateSummary":{
          "shape":"UpdateSummary",
          "documentation":"<p>Contains information about the most recent update to the certificate. This field exists only when the certificate type is <code>AMAZON_ISSUED</code> and a certificate update has been requested.</p>"
        },
        "CertificateKeyPairOrigin":{
          "shape":"CertificateKeyPairOrigin",
          "documentation":"<p>The origin of the certificate's key pair.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the ACME endpoint used to issue the certificate.</p>"
        },
        "AcmeAccountId":{
          "shape":"AcmeAccountId",
          "documentation":"<p>The ACME account identifier associated with the certificate.</p>"
        }
      },
      "documentation":"<p>Contains metadata about an ACM certificate. This structure is returned in the response to a <a>DescribeCertificate</a> request. </p>"
    },
    "CertificateExport":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "CertificateFilter":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>Filter by certificate ARN.</p>"
        },
        "X509AttributeFilter":{
          "shape":"X509AttributeFilter",
          "documentation":"<p>Filter by X.509 certificate attributes.</p>"
        },
        "AcmCertificateMetadataFilter":{
          "shape":"AcmCertificateMetadataFilter",
          "documentation":"<p>Filter by ACM certificate metadata.</p>"
        }
      },
      "documentation":"<p>Defines a filter for searching certificates by ARN, X.509 attributes, or ACM metadata.</p>",
      "union":true
    },
    "CertificateFilterStatement":{
      "type":"structure",
      "members":{
        "And":{
          "shape":"CertificateFilterStatementList",
          "documentation":"<p>A list of filter statements that must all be true.</p>"
        },
        "Or":{
          "shape":"CertificateFilterStatementList",
          "documentation":"<p>A list of filter statements where at least one must be true.</p>"
        },
        "Not":{
          "shape":"CertificateFilterStatement",
          "documentation":"<p>A filter statement that must not be true.</p>"
        },
        "Filter":{
          "shape":"CertificateFilter",
          "documentation":"<p>A single certificate filter.</p>"
        }
      },
      "documentation":"<p>A filter statement used to search for certificates. Can contain AND, OR, NOT logical operators or a single filter.</p>",
      "union":true
    },
    "CertificateFilterStatementList":{
      "type":"list",
      "member":{"shape":"CertificateFilterStatement"},
      "documentation":"<p>A list of <code>CertificateFilterStatement</code> objects.</p>",
      "max":15,
      "min":1
    },
    "CertificateKeyPairOrigin":{
      "type":"string",
      "documentation":"<p>The origin of the certificate's key pair.</p>",
      "enum":[
        "AWS_MANAGED",
        "ACME",
        "CUSTOMER_PROVIDED"
      ]
    },
    "CertificateKeyPairOrigins":{
      "type":"list",
      "member":{"shape":"CertificateKeyPairOrigin"},
      "documentation":"<p>A list of <code>CertificateKeyPairOrigin</code> values used to filter certificates.</p>",
      "max":3,
      "min":1
    },
    "CertificateManagedBy":{
      "type":"string",
      "enum":["CLOUDFRONT"]
    },
    "CertificateMetadata":{
      "type":"structure",
      "members":{
        "AcmCertificateMetadata":{
          "shape":"AcmCertificateMetadata",
          "documentation":"<p>Metadata for an ACM certificate.</p>"
        }
      },
      "documentation":"<p>Contains metadata about a certificate. Currently supports ACM certificate metadata.</p>",
      "union":true
    },
    "CertificateOptions":{
      "type":"structure",
      "members":{
        "CertificateTransparencyLoggingPreference":{
          "shape":"CertificateTransparencyLoggingPreference",
          "documentation":"<p>This parameter has been deprecated. Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log.</p>",
          "deprecated":true,
          "deprecatedMessage":"Certificate transparency logging opt-out is no longer available.",
          "deprecatedSince":"12th June 2026"
        },
        "Export":{
          "shape":"CertificateExport",
          "documentation":"<p>You can opt in to allow the export of your certificates by specifying <code>ENABLED</code>. You cannot update the value of <code>Export</code> after the the certificate is created.</p>"
        },
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>The domain validation method for the certificate. To migrate from email to DNS validation, specify <code>DNS</code>.</p>"
        }
      },
      "documentation":"<p>Structure that contains options for your certificate. You can use this structure to change the domain validation method or specify whether to export your certificate.</p> <p>All public certificates are recorded in a certificate transparency log. For general information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a>.</p> <p>You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager exportable public certificate</a>.</p>"
    },
    "CertificateSearchResult":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the certificate.</p>"
        },
        "X509Attributes":{
          "shape":"X509Attributes",
          "documentation":"<p>X.509 certificate attributes such as subject, issuer, and validity period.</p>"
        },
        "CertificateMetadata":{
          "shape":"CertificateMetadata",
          "documentation":"<p>ACM-specific metadata about the certificate.</p>"
        }
      },
      "documentation":"<p>Contains information about a certificate returned by the <a>SearchCertificates</a> action. This structure includes the certificate ARN, X.509 attributes, and ACM metadata.</p>"
    },
    "CertificateSearchResultList":{
      "type":"list",
      "member":{"shape":"CertificateSearchResult"},
      "documentation":"<p>A list of <code>CertificateSearchResult</code> objects.</p>"
    },
    "CertificateStatus":{
      "type":"string",
      "enum":[
        "PENDING_VALIDATION",
        "ISSUED",
        "INACTIVE",
        "EXPIRED",
        "VALIDATION_TIMED_OUT",
        "REVOKED",
        "FAILED"
      ]
    },
    "CertificateStatuses":{
      "type":"list",
      "member":{"shape":"CertificateStatus"}
    },
    "CertificateSummary":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        },
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>Fully qualified domain name (FQDN), such as www.example.com or example.com, for the certificate.</p>"
        },
        "SubjectAlternativeNameSummaries":{
          "shape":"DomainList",
          "documentation":"<p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p> <p>When called by <a href=\"https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificates.html\">ListCertificates</a>, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href=\"https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html\">DescribeCertificate</a>.</p>"
        },
        "HasAdditionalSubjectAlternativeNames":{
          "shape":"NullableBoolean",
          "documentation":"<p>When called by <a href=\"https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificates.html\">ListCertificates</a>, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href=\"https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html\">DescribeCertificate</a>.</p>"
        },
        "Status":{
          "shape":"CertificateStatus",
          "documentation":"<p>The status of the certificate.</p> <p>A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html\">Certificate request fails</a>. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html\">DNS validation</a> or <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html\">Email validation</a>, and try again. If validation succeeds, the certificate enters status ISSUED. </p>"
        },
        "Type":{
          "shape":"CertificateType",
          "documentation":"<p>The source of the certificate. For certificates provided by ACM, this value is <code>AMAZON_ISSUED</code>. For certificates that you imported with <a>ImportCertificate</a>, this value is <code>IMPORTED</code>. ACM does not provide <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html\">Importing Certificates</a> in the <i>Certificate Manager User Guide</i>. </p>"
        },
        "KeyAlgorithm":{
          "shape":"KeyAlgorithm",
          "documentation":"<p>The algorithm that was used to generate the public-private key pair.</p>"
        },
        "KeyUsages":{
          "shape":"KeyUsageNames",
          "documentation":"<p>A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.</p>"
        },
        "ExtendedKeyUsages":{
          "shape":"ExtendedKeyUsageNames",
          "documentation":"<p>Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). </p>"
        },
        "ExportOption":{
          "shape":"CertificateExport",
          "documentation":"<p>Indicates if export is enabled for the certificate.</p>"
        },
        "InUse":{
          "shape":"NullableBoolean",
          "documentation":"<p>Indicates whether the certificate is currently in use by any Amazon Web Services resources.</p>"
        },
        "Exported":{
          "shape":"NullableBoolean",
          "documentation":"<p>Indicates whether the certificate has been exported.</p>"
        },
        "RenewalEligibility":{
          "shape":"RenewalEligibility",
          "documentation":"<p>Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the <a>RenewCertificate</a> command.</p>"
        },
        "NotBefore":{
          "shape":"TStamp",
          "documentation":"<p>The time before which the certificate is not valid.</p>"
        },
        "NotAfter":{
          "shape":"TStamp",
          "documentation":"<p>The time after which the certificate is not valid.</p>"
        },
        "CreatedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was requested.</p>"
        },
        "IssuedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was issued. This value exists only when the certificate type is <code>AMAZON_ISSUED</code>. </p>"
        },
        "ImportedAt":{
          "shape":"TStamp",
          "documentation":"<p>The date and time when the certificate was imported. This value exists only when the certificate type is <code>IMPORTED</code>. </p>"
        },
        "RevokedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate was revoked. This value exists only when the certificate status is <code>REVOKED</code>. </p>"
        },
        "ManagedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>"
        },
        "CertificateKeyPairOrigin":{
          "shape":"CertificateKeyPairOrigin",
          "documentation":"<p>The origin of the certificate's key pair.</p>"
        }
      },
      "documentation":"<p>This structure is returned in the response object of <a>ListCertificates</a> action. </p>"
    },
    "CertificateSummaryList":{
      "type":"list",
      "member":{"shape":"CertificateSummary"}
    },
    "CertificateTransparencyLoggingPreference":{
      "type":"string",
      "deprecated":true,
      "deprecatedMessage":"Certificate transparency logging opt-out is no longer available.",
      "deprecatedSince":"12th June 2026",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "CertificateType":{
      "type":"string",
      "enum":[
        "IMPORTED",
        "AMAZON_ISSUED",
        "PRIVATE"
      ]
    },
    "CommonNameFilter":{
      "type":"structure",
      "required":[
        "Value",
        "ComparisonOperator"
      ],
      "members":{
        "Value":{
          "shape":"FilterString",
          "documentation":"<p>The value to match against.</p>"
        },
        "ComparisonOperator":{
          "shape":"ComparisonOperator",
          "documentation":"<p>The comparison operator to use.</p>"
        }
      },
      "documentation":"<p>Filters certificates by common name.</p>"
    },
    "ComparisonOperator":{
      "type":"string",
      "documentation":"<p>The comparison operator to use for string filters. Valid values are <code>CONTAINS</code> and <code>EQUALS</code>.</p>",
      "enum":[
        "CONTAINS",
        "EQUALS"
      ]
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You are trying to update a resource or configuration that is already being created or updated. Wait for the previous operation to finish and try again.</p>",
      "exception":true
    },
    "ContactList":{
      "type":"list",
      "member":{"shape":"String"},
      "sensitive":true
    },
    "CoralAvailabilityThrottledResource":{"type":"string"},
    "CoralAvailabilityThrottlingReason":{"type":"string"},
    "CreateAcmeDomainValidationRequest":{
      "type":"structure",
      "required":[
        "AcmeEndpointArn",
        "DomainName",
        "PrevalidationOptions"
      ],
      "members":{
        "IdempotencyToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "DomainName":{
          "shape":"DomainName",
          "documentation":"<p>The domain name to validate.</p>"
        },
        "PrevalidationOptions":{
          "shape":"PrevalidationOptions",
          "documentation":"<p>The prevalidation options for the domain.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more tags to associate with the domain validation.</p>"
        }
      }
    },
    "CreateAcmeDomainValidationResponse":{
      "type":"structure",
      "required":["AcmeDomainValidationArn"],
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created domain validation.</p>"
        }
      }
    },
    "CreateAcmeEndpointRequest":{
      "type":"structure",
      "required":[
        "AuthorizationBehavior",
        "CertificateAuthority"
      ],
      "members":{
        "IdempotencyToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "AuthorizationBehavior":{
          "shape":"AcmeAuthorizationBehavior",
          "documentation":"<p>The authorization behavior for the ACME endpoint.</p>"
        },
        "Contact":{
          "shape":"AcmeContact",
          "documentation":"<p>Specifies whether ACME clients must provide contact information during account registration.</p>"
        },
        "CertificateAuthority":{
          "shape":"CertificateAuthority",
          "documentation":"<p>The type of certificate authority to use for issuing certificates through this ACME endpoint.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more tags to associate with the ACME endpoint.</p>"
        },
        "CertificateTags":{
          "shape":"TagList",
          "documentation":"<p>Tags to apply to certificates issued through this ACME endpoint.</p>"
        }
      }
    },
    "CreateAcmeEndpointResponse":{
      "type":"structure",
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the created ACME endpoint.</p>"
        }
      }
    },
    "CreateAcmeExternalAccountBindingRequest":{
      "type":"structure",
      "required":[
        "AcmeEndpointArn",
        "RoleArn"
      ],
      "members":{
        "IdempotencyToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "RoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role to associate with the external account binding.</p>"
        },
        "Expiration":{
          "shape":"Expiration",
          "documentation":"<p>The expiration configuration for the external account binding.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more tags to associate with the external account binding.</p>"
        }
      }
    },
    "CreateAcmeExternalAccountBindingResponse":{
      "type":"structure",
      "members":{
        "ExternalAccountBinding":{
          "shape":"AcmeExternalAccountBinding",
          "documentation":"<p>The created external account binding.</p>"
        }
      }
    },
    "CustomAttribute":{
      "type":"structure",
      "members":{
        "ObjectIdentifier":{
          "shape":"String",
          "documentation":"<p>Specifies the object identifier (OID) of the attribute type of the relative distinguished name (RDN).</p>"
        },
        "Value":{
          "shape":"String",
          "documentation":"<p>Specifies the attribute value of relative distinguished name (RDN).</p>"
        }
      },
      "documentation":"<p>Defines the X.500 relative distinguished name (RDN).</p>"
    },
    "CustomAttributeList":{
      "type":"list",
      "member":{"shape":"CustomAttribute"},
      "documentation":"<p>A list of <code>CustomAttribute</code> objects.</p>"
    },
    "DeleteAcmeDomainValidationRequest":{
      "type":"structure",
      "required":["AcmeDomainValidationArn"],
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME domain validation to delete.</p>"
        }
      }
    },
    "DeleteAcmeEndpointRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint to delete.</p>"
        }
      }
    },
    "DeleteAcmeExternalAccountBindingRequest":{
      "type":"structure",
      "required":["AcmeExternalAccountBindingArn"],
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding to delete.</p>"
        }
      }
    },
    "DeleteCertificateRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the ACM certificate to be deleted. This must be of the form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        }
      }
    },
    "DescribeAcmeAccountRequest":{
      "type":"structure",
      "required":[
        "AcmeEndpointArn",
        "AccountUrl"
      ],
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "AccountUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME account.</p>"
        }
      }
    },
    "DescribeAcmeAccountResponse":{
      "type":"structure",
      "members":{
        "AcmeAccount":{
          "shape":"AcmeAccount",
          "documentation":"<p>The ACME account details.</p>"
        }
      }
    },
    "DescribeAcmeDomainValidationRequest":{
      "type":"structure",
      "required":["AcmeDomainValidationArn"],
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME domain validation.</p>"
        }
      }
    },
    "DescribeAcmeDomainValidationResponse":{
      "type":"structure",
      "members":{
        "AcmeDomainValidation":{
          "shape":"AcmeDomainValidation",
          "documentation":"<p>The ACME domain validation details.</p>"
        }
      }
    },
    "DescribeAcmeEndpointRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        }
      }
    },
    "DescribeAcmeEndpointResponse":{
      "type":"structure",
      "members":{
        "AcmeEndpoint":{
          "shape":"AcmeEndpoint",
          "documentation":"<p>The ACME endpoint details.</p>"
        }
      }
    },
    "DescribeAcmeExternalAccountBindingRequest":{
      "type":"structure",
      "required":["AcmeExternalAccountBindingArn"],
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding.</p>"
        }
      }
    },
    "DescribeAcmeExternalAccountBindingResponse":{
      "type":"structure",
      "members":{
        "ExternalAccountBinding":{
          "shape":"AcmeExternalAccountBinding",
          "documentation":"<p>The external account binding details.</p>"
        }
      }
    },
    "DescribeCertificateRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        }
      }
    },
    "DescribeCertificateResponse":{
      "type":"structure",
      "members":{
        "Certificate":{
          "shape":"CertificateDetail",
          "documentation":"<p>Metadata about an ACM certificate.</p>"
        }
      }
    },
    "DistinguishedName":{
      "type":"structure",
      "members":{
        "CommonName":{
          "shape":"String",
          "documentation":"<p>The common name (CN) attribute.</p>"
        },
        "DomainComponents":{
          "shape":"DomainComponentList",
          "documentation":"<p>The domain component attributes.</p>"
        },
        "Country":{
          "shape":"String",
          "documentation":"<p>The country (C) attribute.</p>"
        },
        "CustomAttributes":{
          "shape":"CustomAttributeList",
          "documentation":"<p>A list of custom attributes in the distinguished name. Each custom attribute contains an object identifier (OID) and its corresponding value.</p>"
        },
        "DistinguishedNameQualifier":{
          "shape":"String",
          "documentation":"<p>The distinguished name qualifier attribute.</p>"
        },
        "GenerationQualifier":{
          "shape":"String",
          "documentation":"<p>The generation qualifier attribute.</p>"
        },
        "GivenName":{
          "shape":"String",
          "documentation":"<p>The given name attribute.</p>"
        },
        "Initials":{
          "shape":"String",
          "documentation":"<p>The initials attribute.</p>"
        },
        "Locality":{
          "shape":"String",
          "documentation":"<p>The locality (L) attribute.</p>"
        },
        "Organization":{
          "shape":"String",
          "documentation":"<p>The organization (O) attribute.</p>"
        },
        "OrganizationalUnit":{
          "shape":"String",
          "documentation":"<p>The organizational unit (OU) attribute.</p>"
        },
        "Pseudonym":{
          "shape":"String",
          "documentation":"<p>The pseudonym attribute.</p>"
        },
        "SerialNumber":{
          "shape":"String",
          "documentation":"<p>The serial number attribute.</p>"
        },
        "State":{
          "shape":"String",
          "documentation":"<p>The state or province (ST) attribute.</p>"
        },
        "Surname":{
          "shape":"String",
          "documentation":"<p>The surname attribute.</p>"
        },
        "Title":{
          "shape":"String",
          "documentation":"<p>The title attribute.</p>"
        }
      },
      "documentation":"<p>Contains X.500 distinguished name information.</p>"
    },
    "DnsNameFilter":{
      "type":"structure",
      "required":[
        "Value",
        "ComparisonOperator"
      ],
      "members":{
        "Value":{
          "shape":"FilterString",
          "documentation":"<p>The DNS name value to match against.</p>"
        },
        "ComparisonOperator":{
          "shape":"ComparisonOperator",
          "documentation":"<p>The comparison operator to use.</p>"
        }
      },
      "documentation":"<p>Filters certificates by DNS name.</p>"
    },
    "DnsPrevalidationDetails":{
      "type":"structure",
      "members":{
        "DomainScope":{
          "shape":"DomainScope",
          "documentation":"<p>The scope of domains covered by this prevalidation.</p>"
        },
        "HostedZoneId":{
          "shape":"HostedZoneId",
          "documentation":"<p>The Route 53 hosted zone ID for DNS validation.</p>"
        },
        "ResourceRecord":{
          "shape":"ResourceRecord",
          "documentation":"<p>The DNS resource record to create for domain validation.</p>"
        }
      },
      "documentation":"<p>DNS prevalidation details including the resource record for validation.</p>"
    },
    "DnsPrevalidationOptions":{
      "type":"structure",
      "members":{
        "DomainScope":{
          "shape":"DomainScope",
          "documentation":"<p>The scope of domains covered by this prevalidation.</p>"
        },
        "HostedZoneId":{
          "shape":"HostedZoneId",
          "documentation":"<p>The Route 53 hosted zone ID for DNS validation.</p>"
        }
      },
      "documentation":"<p>DNS prevalidation options for domain validation.</p>"
    },
    "DnsValidationChallenge":{
      "type":"structure",
      "members":{
        "ResourceRecord":{
          "shape":"ResourceRecord",
          "documentation":"<p>The CNAME record that ACM creates for DNS validation. Add this record to your DNS configuration to prove that you own or control the domain.</p>"
        }
      },
      "documentation":"<p>Contains the CNAME record that you must add to your DNS configuration to validate domain ownership using DNS validation.</p>"
    },
    "DomainComponentList":{
      "type":"list",
      "member":{"shape":"String"},
      "documentation":"<p>A list of domain component strings.</p>"
    },
    "DomainList":{
      "type":"list",
      "member":{"shape":"DomainNameString"},
      "max":100,
      "min":1
    },
    "DomainName":{
      "type":"string",
      "max":253,
      "min":1,
      "pattern":"([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]*[a-z0-9])?"
    },
    "DomainNameString":{
      "type":"string",
      "max":253,
      "min":1,
      "pattern":"(\\*\\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])"
    },
    "DomainScope":{
      "type":"structure",
      "members":{
        "ExactDomain":{
          "shape":"DomainScopeOption",
          "documentation":"<p>Whether validation applies to the exact domain.</p>"
        },
        "Subdomains":{
          "shape":"DomainScopeOption",
          "documentation":"<p>Whether validation applies to subdomains.</p>"
        },
        "Wildcards":{
          "shape":"DomainScopeOption",
          "documentation":"<p>Whether validation applies to wildcard domains.</p>"
        }
      },
      "documentation":"<p>Specifies the scope of domain validation.</p>"
    },
    "DomainScopeOption":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "DomainStatus":{
      "type":"string",
      "enum":[
        "PENDING_VALIDATION",
        "SUCCESS",
        "FAILED"
      ]
    },
    "DomainValidation":{
      "type":"structure",
      "required":["DomainName"],
      "members":{
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>A fully qualified domain name (FQDN) in the certificate. For example, <code>www.example.com</code> or <code>example.com</code>. </p>"
        },
        "ValidationEmails":{
          "shape":"ValidationEmailList",
          "documentation":"<p>A list of email addresses that ACM used to send domain validation emails.</p>"
        },
        "ValidationDomain":{
          "shape":"DomainNameString",
          "documentation":"<p>The domain name that ACM used to send domain validation emails.</p>"
        },
        "ValidationStatus":{
          "shape":"DomainStatus",
          "documentation":"<p>The validation status of the domain name. This can be one of the following values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p> <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>"
        },
        "ResourceRecord":{
          "shape":"ResourceRecord",
          "documentation":"<p>Contains the CNAME record that you add to your DNS database for domain validation. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html\">Use DNS to Validate Domain Ownership</a>.</p> <note> <p>The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is <code>_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com</code>, only <code>_a79865eb4cd1a6ab990a45779b4e0b96</code> must be used.</p> </note>"
        },
        "HttpRedirect":{
          "shape":"HttpRedirect",
          "documentation":"<p>Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is <code>AMAZON_ISSUED</code> and the validation method is <code>HTTP</code>.</p>"
        },
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>Specifies the domain validation method.</p>"
        }
      },
      "documentation":"<p>Contains information about the validation of each domain name in the certificate.</p>"
    },
    "DomainValidationList":{
      "type":"list",
      "member":{"shape":"DomainValidation"},
      "max":1000,
      "min":1
    },
    "DomainValidationMethodUpdateSummary":{
      "type":"structure",
      "members":{
        "From":{
          "shape":"ValidationMethod",
          "documentation":"<p>The validation method that the certificate was using before the update.</p>"
        },
        "To":{
          "shape":"ValidationMethod",
          "documentation":"<p>The target validation method for the update.</p>"
        }
      },
      "documentation":"<p>Contains information about a domain validation method migration, including the previous validation method and the target validation method.</p>"
    },
    "DomainValidationOption":{
      "type":"structure",
      "required":[
        "DomainName",
        "ValidationDomain"
      ],
      "members":{
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>A fully qualified domain name (FQDN) in the certificate request.</p>"
        },
        "ValidationDomain":{
          "shape":"DomainNameString",
          "documentation":"<p>The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the <code>DomainName</code> value or a superdomain of the <code>DomainName</code> value. For example, if you request a certificate for <code>testing.example.com</code>, you can specify <code>example.com</code> for this value. In that case, ACM sends domain validation emails to the following five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li> <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li> <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li> </ul>"
        }
      },
      "documentation":"<p>Contains information about the domain names that you want ACM to use to send you emails that enable you to validate domain ownership.</p>"
    },
    "DomainValidationOptionList":{
      "type":"list",
      "member":{"shape":"DomainValidationOption"},
      "max":100,
      "min":1
    },
    "DomainValidationSummary":{
      "type":"structure",
      "required":["DomainName"],
      "members":{
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>The fully qualified domain name (FQDN) in the certificate for which this validation summary applies.</p>"
        },
        "ActiveValidationConfiguration":{
          "shape":"ValidationConfiguration",
          "documentation":"<p>The validation configuration currently in effect for this domain. This reflects the validation method that ACM is currently using to validate domain ownership (for example, email or DNS).</p>"
        },
        "RequestedValidationConfiguration":{
          "shape":"ValidationConfiguration",
          "documentation":"<p>The validation configuration for a pending validation method migration. This field is present only when a migration is in progress (for example, from email to DNS validation). It contains the target validation method, the current validation status, and the validation challenge details (such as the CNAME record to add to your DNS configuration).</p>"
        }
      },
      "documentation":"<p>Contains per-domain validation information for a certificate. This structure is returned as a member of the <a>ListCertificateDomainValidations</a> response.</p>"
    },
    "DomainValidationSummaryList":{
      "type":"list",
      "member":{"shape":"DomainValidationSummary"}
    },
    "EmailValidationChallenge":{
      "type":"structure",
      "members":{
        "ValidationEmails":{
          "shape":"ValidationEmailList",
          "documentation":"<p>A list of email addresses that ACM uses to send domain validation emails.</p>"
        },
        "ValidationDomain":{
          "shape":"DomainNameString",
          "documentation":"<p>The domain name that ACM uses to send validation emails.</p>"
        }
      },
      "documentation":"<p>Contains the email addresses used for email-based domain validation.</p>"
    },
    "Expiration":{
      "type":"structure",
      "required":[
        "Value",
        "Type"
      ],
      "members":{
        "Value":{
          "shape":"ExpirationValueLong",
          "documentation":"<p>The numeric value of the expiration.</p>"
        },
        "Type":{
          "shape":"TimeType",
          "documentation":"<p>The time unit for the expiration value.</p>"
        }
      },
      "documentation":"<p>Specifies an expiration configuration.</p>"
    },
    "ExpirationValueLong":{
      "type":"long",
      "box":true,
      "min":1
    },
    "ExpiryEventsConfiguration":{
      "type":"structure",
      "members":{
        "DaysBeforeExpiry":{
          "shape":"PositiveInteger",
          "documentation":"<p>Specifies the number of days prior to certificate expiration when ACM starts generating <code>EventBridge</code> events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.</p>"
        }
      },
      "documentation":"<p>Object containing expiration events options associated with an Amazon Web Services account.</p>"
    },
    "ExportCertificateRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "Passphrase"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:</p> <p> <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code> </p>"
        },
        "Passphrase":{
          "shape":"PassphraseBlob",
          "documentation":"<p>Passphrase to associate with the encrypted exported private key. </p> <note> <p>When creating your passphrase, you can use any ASCII character except #, $, or %.</p> </note> <p>If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key. After entering the command, you are prompted for the passphrase.</p> <p> <code>openssl rsa -in encrypted_key.pem -out decrypted_key.pem</code> </p>"
        }
      }
    },
    "ExportCertificateResponse":{
      "type":"structure",
      "members":{
        "Certificate":{
          "shape":"CertificateBody",
          "documentation":"<p>The base64 PEM-encoded certificate.</p>"
        },
        "CertificateChain":{
          "shape":"CertificateChain",
          "documentation":"<p>The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting.</p>"
        },
        "PrivateKey":{
          "shape":"PrivateKey",
          "documentation":"<p>The encrypted private key associated with the public key in the certificate. The key is output in PKCS #8 format and is base64 PEM-encoded. </p>"
        }
      }
    },
    "ExtendedKeyUsage":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"ExtendedKeyUsageName",
          "documentation":"<p>The name of an Extended Key Usage value.</p>"
        },
        "OID":{
          "shape":"String",
          "documentation":"<p>An object identifier (OID) for the extension value. OIDs are strings of numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p> <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>"
        }
      },
      "documentation":"<p>The Extended Key Usage X.509 v3 extension defines one or more purposes for which the public key can be used. This is in addition to or in place of the basic purposes specified by the Key Usage extension. </p>"
    },
    "ExtendedKeyUsageFilterList":{
      "type":"list",
      "member":{"shape":"ExtendedKeyUsageName"}
    },
    "ExtendedKeyUsageList":{
      "type":"list",
      "member":{"shape":"ExtendedKeyUsage"}
    },
    "ExtendedKeyUsageName":{
      "type":"string",
      "enum":[
        "TLS_WEB_SERVER_AUTHENTICATION",
        "TLS_WEB_CLIENT_AUTHENTICATION",
        "CODE_SIGNING",
        "EMAIL_PROTECTION",
        "TIME_STAMPING",
        "OCSP_SIGNING",
        "IPSEC_END_SYSTEM",
        "IPSEC_TUNNEL",
        "IPSEC_USER",
        "ANY",
        "NONE",
        "CUSTOM"
      ]
    },
    "ExtendedKeyUsageNames":{
      "type":"list",
      "member":{"shape":"ExtendedKeyUsageName"}
    },
    "FailureDetails":{
      "type":"structure",
      "members":{
        "Reason":{
          "shape":"AcmeDomainValidationFailureReason",
          "documentation":"<p>The reason for the failure.</p>"
        },
        "Message":{
          "shape":"String",
          "documentation":"<p>A message describing the failure.</p>"
        }
      },
      "documentation":"<p>Contains details about a failure.</p>"
    },
    "FailureReason":{
      "type":"string",
      "enum":[
        "NO_AVAILABLE_CONTACTS",
        "ADDITIONAL_VERIFICATION_REQUIRED",
        "DOMAIN_NOT_ALLOWED",
        "INVALID_PUBLIC_DOMAIN",
        "DOMAIN_VALIDATION_DENIED",
        "CAA_ERROR",
        "PCA_LIMIT_EXCEEDED",
        "PCA_INVALID_ARN",
        "PCA_INVALID_STATE",
        "PCA_REQUEST_FAILED",
        "PCA_NAME_CONSTRAINTS_VALIDATION",
        "PCA_RESOURCE_NOT_FOUND",
        "PCA_INVALID_ARGS",
        "PCA_INVALID_DURATION",
        "PCA_ACCESS_DENIED",
        "SLR_NOT_FOUND",
        "OTHER"
      ]
    },
    "FilterString":{
      "type":"string",
      "max":256,
      "min":1
    },
    "Filters":{
      "type":"structure",
      "members":{
        "extendedKeyUsage":{
          "shape":"ExtendedKeyUsageFilterList",
          "documentation":"<p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>"
        },
        "keyUsage":{
          "shape":"KeyUsageFilterList",
          "documentation":"<p>Specify one or more <a>KeyUsage</a> extension values.</p>"
        },
        "keyTypes":{
          "shape":"KeyAlgorithmList",
          "documentation":"<p>Specify one or more algorithms that can be used to generate key pairs.</p> <p>Default filtering returns only <code>RSA_1024</code> and <code>RSA_2048</code> certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, <code>\"keyTypes\": [\"RSA_2048\",\"RSA_4096\"]</code> returns both <code>RSA_2048</code> and <code>RSA_4096</code> certificates.</p>"
        },
        "exportOption":{
          "shape":"CertificateExport",
          "documentation":"<p>Specify <code>ENABLED</code> or <code>DISABLED</code> to identify certificates that can be exported.</p>"
        },
        "managedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>"
        }
      },
      "documentation":"<p>This structure can be used in the <a>ListCertificates</a> action to filter the output of the certificate list. </p>"
    },
    "GeneralName":{
      "type":"structure",
      "members":{
        "DirectoryName":{
          "shape":"DistinguishedName",
          "documentation":"<p>Contains information about the certificate subject. The <code>Subject</code> field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The <code>Subject</code> must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate.</p>"
        },
        "DnsName":{
          "shape":"String",
          "documentation":"<p>Represents <code>GeneralName</code> as a DNS name.</p>"
        },
        "IpAddress":{
          "shape":"String",
          "documentation":"<p>Represents <code>GeneralName</code> as an IPv4 or IPv6 address.</p>"
        },
        "OtherName":{
          "shape":"OtherName",
          "documentation":"<p>Represents <code>GeneralName</code> using an <code>OtherName</code> object.</p>"
        },
        "RegisteredId":{
          "shape":"String",
          "documentation":"<p>Represents <code>GeneralName</code> as an object identifier (OID).</p>"
        },
        "Rfc822Name":{
          "shape":"String",
          "documentation":"<p>Represents <code>GeneralName</code> as an <a href=\"https://datatracker.ietf.org/doc/html/rfc822\">RFC 822</a> email address.</p>"
        },
        "UniformResourceIdentifier":{
          "shape":"String",
          "documentation":"<p>Represents <code>GeneralName</code> as a URI.</p>"
        }
      },
      "documentation":"<p>Describes an ASN.1 X.400 <code>GeneralName</code> as defined in <a href=\"https://datatracker.ietf.org/doc/html/rfc5280\">RFC 5280</a>. Only one of the following naming options should be provided.</p>",
      "union":true
    },
    "GeneralNameList":{
      "type":"list",
      "member":{"shape":"GeneralName"},
      "documentation":"<p>A list of <code>GeneralName</code> objects representing subject alternative names.</p>"
    },
    "GetAccountConfigurationResponse":{
      "type":"structure",
      "members":{
        "ExpiryEvents":{
          "shape":"ExpiryEventsConfiguration",
          "documentation":"<p>Expiration events configuration options associated with the Amazon Web Services account.</p>"
        }
      }
    },
    "GetAcmeExternalAccountBindingCredentialsRequest":{
      "type":"structure",
      "required":["AcmeExternalAccountBindingArn"],
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding.</p>"
        }
      }
    },
    "GetAcmeExternalAccountBindingCredentialsResponse":{
      "type":"structure",
      "members":{
        "KeyId":{
          "shape":"String",
          "documentation":"<p>The key identifier for the external account binding credentials.</p>"
        },
        "MacKey":{
          "shape":"MacKey",
          "documentation":"<p>The MAC key for the external account binding credentials.</p>"
        }
      }
    },
    "GetCertificateRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains a certificate ARN in the following format:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        }
      }
    },
    "GetCertificateResponse":{
      "type":"structure",
      "members":{
        "Certificate":{
          "shape":"CertificateBody",
          "documentation":"<p>The ACM-issued certificate corresponding to the ARN specified as input.</p>"
        },
        "CertificateChain":{
          "shape":"CertificateChain",
          "documentation":"<p>Certificates forming the requested certificate's chain of trust. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. </p>"
        }
      }
    },
    "HostedZoneId":{
      "type":"string",
      "max":32,
      "min":1,
      "pattern":"Z[A-Z0-9]+"
    },
    "HttpRedirect":{
      "type":"structure",
      "members":{
        "RedirectFrom":{
          "shape":"String",
          "documentation":"<p>The URL including the domain to be validated. The certificate authority sends <code>GET</code> requests here during validation.</p>"
        },
        "RedirectTo":{
          "shape":"String",
          "documentation":"<p>The URL hosting the validation token. <code>RedirectFrom</code> must return this content or redirect here.</p>"
        }
      },
      "documentation":"<p>Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is <code>AMAZON_ISSUED</code> and the validation method is <code>HTTP</code>.</p>"
    },
    "IdempotencyToken":{
      "type":"string",
      "max":32,
      "min":1,
      "pattern":"\\w+"
    },
    "ImportCertificateRequest":{
      "type":"structure",
      "required":[
        "Certificate",
        "PrivateKey"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Name (ARN)</a> of an imported certificate to replace. To import a new certificate, omit this field. </p>"
        },
        "Certificate":{
          "shape":"CertificateBodyBlob",
          "documentation":"<p>The certificate to import.</p>"
        },
        "PrivateKey":{
          "shape":"PrivateKeyBlob",
          "documentation":"<p>The private key that matches the public key in the certificate.</p>"
        },
        "CertificateChain":{
          "shape":"CertificateChainBlob",
          "documentation":"<p>The PEM encoded certificate chain.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more resource tags to associate with the imported certificate. </p> <p>Note: You cannot apply tags when reimporting a certificate.</p>"
        }
      }
    },
    "ImportCertificateResponse":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Name (ARN)</a> of the imported certificate.</p>"
        }
      }
    },
    "InUseList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request processing has failed because of an unknown error, exception, or failure.</p>",
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "InvalidArgsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>One or more of request parameters specified is not valid.</p>",
      "exception":true
    },
    "InvalidArnException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The requested Amazon Resource Name (ARN) does not refer to an existing resource.</p>",
      "exception":true
    },
    "InvalidDomainValidationOptionsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>One or more values in the <a>DomainValidationOption</a> structure is incorrect.</p>",
      "exception":true
    },
    "InvalidParameterException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>An input parameter was invalid.</p>",
      "exception":true
    },
    "InvalidStateException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Processing has reached an invalid state.</p>",
      "exception":true
    },
    "InvalidTagException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>One or both of the values that make up the key-value pair is not valid. For example, you cannot specify a tag value that begins with <code>aws:</code>.</p>",
      "exception":true
    },
    "KeyAlgorithm":{
      "type":"string",
      "enum":[
        "RSA_1024",
        "RSA_2048",
        "RSA_3072",
        "RSA_4096",
        "EC_prime256v1",
        "EC_secp384r1",
        "EC_secp521r1"
      ]
    },
    "KeyAlgorithmList":{
      "type":"list",
      "member":{"shape":"KeyAlgorithm"}
    },
    "KeyUsage":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"KeyUsageName",
          "documentation":"<p>A string value that contains a Key Usage extension name.</p>"
        }
      },
      "documentation":"<p>The Key Usage X.509 v3 extension defines the purpose of the public key contained in the certificate.</p>"
    },
    "KeyUsageFilterList":{
      "type":"list",
      "member":{"shape":"KeyUsageName"}
    },
    "KeyUsageList":{
      "type":"list",
      "member":{"shape":"KeyUsage"}
    },
    "KeyUsageName":{
      "type":"string",
      "enum":[
        "DIGITAL_SIGNATURE",
        "NON_REPUDIATION",
        "KEY_ENCIPHERMENT",
        "DATA_ENCIPHERMENT",
        "KEY_AGREEMENT",
        "CERTIFICATE_SIGNING",
        "CRL_SIGNING",
        "ENCIPHER_ONLY",
        "DECIPHER_ONLY",
        "ANY",
        "CUSTOM"
      ]
    },
    "KeyUsageNames":{
      "type":"list",
      "member":{"shape":"KeyUsageName"}
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>An ACM quota has been exceeded.</p>",
      "exception":true
    },
    "ListAcmeAccountsRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        },
        "MaxResults":{
          "shape":"ListAcmeAccountsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        }
      }
    },
    "ListAcmeAccountsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListAcmeAccountsResponse":{
      "type":"structure",
      "members":{
        "AcmeAccounts":{
          "shape":"AcmeAccountList",
          "documentation":"<p>The list of ACME accounts.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        }
      }
    },
    "ListAcmeDomainValidationsRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        },
        "MaxResults":{
          "shape":"ListAcmeDomainValidationsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        }
      }
    },
    "ListAcmeDomainValidationsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListAcmeDomainValidationsResponse":{
      "type":"structure",
      "members":{
        "AcmeDomainValidations":{
          "shape":"AcmeDomainValidationList",
          "documentation":"<p>The list of domain validations.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        }
      }
    },
    "ListAcmeEndpointsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        },
        "MaxResults":{
          "shape":"ListAcmeEndpointsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return.</p>"
        }
      }
    },
    "ListAcmeEndpointsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListAcmeEndpointsResponse":{
      "type":"structure",
      "members":{
        "AcmeEndpoints":{
          "shape":"AcmeEndpointList",
          "documentation":"<p>The list of ACME endpoints.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        }
      }
    },
    "ListAcmeExternalAccountBindingsRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        },
        "MaxResults":{
          "shape":"ListAcmeExternalAccountBindingsRequestMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return.</p>"
        },
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        }
      }
    },
    "ListAcmeExternalAccountBindingsRequestMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListAcmeExternalAccountBindingsResponse":{
      "type":"structure",
      "members":{
        "ExternalAccountBindings":{
          "shape":"AcmeExternalAccountBindingList",
          "documentation":"<p>The list of external account bindings.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token for pagination.</p>"
        }
      }
    },
    "ListCertificateDomainValidationsRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"CertificateArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the certificate for which to list domain validation summaries.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token returned by a previous call to <code>ListCertificateDomainValidations</code>. If the number of results exceeds <code>MaxItems</code>, use this token to retrieve the next page of results.</p>"
        },
        "MaxItems":{
          "shape":"MaxItems",
          "documentation":"<p>The maximum number of domain validation summaries to return. If you don't specify a value, the default is 1000.</p>"
        }
      }
    },
    "ListCertificateDomainValidationsResponse":{
      "type":"structure",
      "members":{
        "DomainValidationSummaryList":{
          "shape":"DomainValidationSummaryList",
          "documentation":"<p>A list of <a>DomainValidationSummary</a> objects, one for each domain on the certificate. Each object contains the domain name and its active and requested validation configurations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>If the number of results exceeds <code>MaxItems</code>, this token is included in the response. Use this token in a subsequent <code>ListCertificateDomainValidations</code> request to retrieve the next page of results.</p>"
        }
      }
    },
    "ListCertificatesRequest":{
      "type":"structure",
      "members":{
        "CertificateStatuses":{
          "shape":"CertificateStatuses",
          "documentation":"<p>Filter the certificate list by status value.</p>"
        },
        "CertificateKeyPairOrigins":{
          "shape":"CertificateKeyPairOrigins",
          "documentation":"<p>Filter the certificate list by certificate key pair origin. Specify one or more <code>CertificateKeyPairOrigin</code> values. Default filtering returns only certificates with key pair origin of <code>AWS_MANAGED</code> and <code>CUSTOMER_PROVIDED</code>.</p>"
        },
        "Includes":{
          "shape":"Filters",
          "documentation":"<p>Filter the certificate list. For more information, see the <a>Filters</a> structure.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of <code>NextToken</code> from the response you just received.</p>"
        },
        "MaxItems":{
          "shape":"MaxItems",
          "documentation":"<p>Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the <code>NextToken</code> element is sent in the response. Use this <code>NextToken</code> value in a subsequent request to retrieve additional items.</p>"
        },
        "SortBy":{
          "shape":"SortBy",
          "documentation":"<p>Specifies the field to sort results by. If you specify <code>SortBy</code>, you must also specify <code>SortOrder</code>.</p>"
        },
        "SortOrder":{
          "shape":"SortOrder",
          "documentation":"<p>Specifies the order of sorted results. If you specify <code>SortOrder</code>, you must also specify <code>SortBy</code>.</p>"
        }
      }
    },
    "ListCertificatesResponse":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>When the list is truncated, this value is present and contains the value to use for the <code>NextToken</code> parameter in a subsequent pagination request.</p>"
        },
        "CertificateSummaryList":{
          "shape":"CertificateSummaryList",
          "documentation":"<p>A list of ACM certificates.</p>"
        }
      }
    },
    "ListTagsForCertificateRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        }
      }
    },
    "ListTagsForCertificateResponse":{
      "type":"structure",
      "members":{
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value pairs that define the applied tags.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the ACM resource for which to list tags.</p>"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The tags associated with the resource.</p>"
        }
      }
    },
    "MacKey":{
      "type":"string",
      "sensitive":true
    },
    "MaxItems":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "NextToken":{
      "type":"string",
      "max":10000,
      "min":1,
      "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*"
    },
    "NullableBoolean":{
      "type":"boolean",
      "box":true
    },
    "OtherName":{
      "type":"structure",
      "members":{
        "ObjectIdentifier":{
          "shape":"String",
          "documentation":"<p>Specifies an OID.</p>"
        },
        "Value":{
          "shape":"String",
          "documentation":"<p>Specifies an OID value.</p>"
        }
      },
      "documentation":"<p>Defines a custom ASN.1 X.400 <code>GeneralName</code> using an object identifier (OID) and value. For more information, see NIST's definition of <a href=\"https://csrc.nist.gov/glossary/term/Object_Identifier\">Object Identifier (OID)</a>.</p>"
    },
    "PassphraseBlob":{
      "type":"blob",
      "max":128,
      "min":4,
      "sensitive":true
    },
    "PcaArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:[\\w+=/,.@-]+:acm-pca:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*"
    },
    "PositiveInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "PrevalidationDetails":{
      "type":"structure",
      "members":{
        "DnsPrevalidation":{
          "shape":"DnsPrevalidationDetails",
          "documentation":"<p>DNS-based prevalidation details.</p>"
        }
      },
      "documentation":"<p>Contains details about the prevalidation configuration.</p>",
      "union":true
    },
    "PrevalidationOptions":{
      "type":"structure",
      "members":{
        "DnsPrevalidation":{
          "shape":"DnsPrevalidationOptions",
          "documentation":"<p>DNS-based prevalidation options.</p>"
        }
      },
      "documentation":"<p>Specifies prevalidation options for domain validation.</p>",
      "union":true
    },
    "PrevalidationType":{
      "type":"string",
      "enum":["DNS_PREVALIDATION"]
    },
    "PrivateKey":{
      "type":"string",
      "max":524288,
      "min":1,
      "pattern":"-{5}BEGIN PRIVATE KEY-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END PRIVATE KEY-{5}(\\u000D?\\u000A)?",
      "sensitive":true
    },
    "PrivateKeyBlob":{
      "type":"blob",
      "max":5120,
      "min":1,
      "sensitive":true
    },
    "PublicCertificateAuthority":{
      "type":"structure",
      "members":{
        "AllowedKeyAlgorithms":{
          "shape":"PublicKeyAlgorithmList",
          "documentation":"<p>The key algorithms allowed for certificates issued by this certificate authority.</p>"
        }
      },
      "documentation":"<p>Configuration for a public certificate authority.</p>"
    },
    "PublicKeyAlgorithm":{
      "type":"string",
      "enum":[
        "RSA_2048",
        "EC_prime256v1",
        "EC_secp384r1"
      ]
    },
    "PublicKeyAlgorithmList":{
      "type":"list",
      "member":{"shape":"PublicKeyAlgorithm"}
    },
    "PutAccountConfigurationRequest":{
      "type":"structure",
      "required":["IdempotencyToken"],
      "members":{
        "ExpiryEvents":{
          "shape":"ExpiryEventsConfiguration",
          "documentation":"<p>Specifies expiration events associated with an account.</p>"
        },
        "IdempotencyToken":{
          "shape":"IdempotencyToken",
          "documentation":"<p>Customer-chosen string used to distinguish between calls to <code>PutAccountConfiguration</code>. Idempotency tokens time out after one hour. If you call <code>PutAccountConfiguration</code> multiple times with the same unexpired idempotency token, ACM treats it as the same request and returns the original result. If you change the idempotency token for each call, ACM treats each call as a new request.</p>"
        }
      }
    },
    "RecordType":{
      "type":"string",
      "enum":["CNAME"]
    },
    "RemoveTagsFromCertificateRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "Tags"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value pair that defines the tag to remove.</p>"
        }
      }
    },
    "RenewCertificateRequest":{
      "type":"structure",
      "required":["CertificateArn"],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the ACM certificate to be renewed. This must be of the form:</p> <p> <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a>.</p>"
        }
      }
    },
    "RenewalEligibility":{
      "type":"string",
      "enum":[
        "ELIGIBLE",
        "INELIGIBLE"
      ]
    },
    "RenewalStatus":{
      "type":"string",
      "enum":[
        "PENDING_AUTO_RENEWAL",
        "PENDING_VALIDATION",
        "SUCCESS",
        "FAILED"
      ]
    },
    "RenewalSummary":{
      "type":"structure",
      "required":[
        "RenewalStatus",
        "DomainValidationOptions",
        "UpdatedAt"
      ],
      "members":{
        "RenewalStatus":{
          "shape":"RenewalStatus",
          "documentation":"<p>The status of ACM's <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> of the certificate.</p>"
        },
        "DomainValidationOptions":{
          "shape":"DomainValidationList",
          "documentation":"<p>Contains information about the validation of each domain name in the certificate, as it pertains to ACM's <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a>. This is different from the initial validation that occurs as a result of the <a>RequestCertificate</a> request. This field exists only when the certificate type is <code>AMAZON_ISSUED</code>.</p>"
        },
        "RenewalStatusReason":{
          "shape":"FailureReason",
          "documentation":"<p>The reason that a renewal request was unsuccessful.</p>"
        },
        "UpdatedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the renewal summary was last updated.</p>"
        }
      },
      "documentation":"<p>Contains information about the status of ACM's <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html\">managed renewal</a> for the certificate. This structure exists only when the certificate type is <code>AMAZON_ISSUED</code>.</p>"
    },
    "RequestCertificateRequest":{
      "type":"structure",
      "required":["DomainName"],
      "members":{
        "DomainName":{
          "shape":"DomainNameString",
          "documentation":"<p>Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com. </p> <p>In compliance with <a href=\"https://datatracker.ietf.org/doc/html/rfc5280\">RFC 5280</a>, the length of the domain name (technically, the Common Name) that you provide cannot exceed 64 octets (characters), including periods. To add a longer domain name, specify it in the Subject Alternative Name field, which supports names up to 253 octets in length. </p>"
        },
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html\">validate with DNS</a> or <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html\">validate with email</a>. We recommend that you use DNS validation. </p>"
        },
        "SubjectAlternativeNames":{
          "shape":"DomainList",
          "documentation":"<p>Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the <code>DomainName</code> field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html\">Quotas</a>.</p> <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63 octets).(63 octets).(61 octets)</code> is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p> <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63 octets).(62 octets)</code> is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>"
        },
        "IdempotencyToken":{
          "shape":"IdempotencyToken",
          "documentation":"<p>Customer chosen string that can be used to distinguish between calls to <code>RequestCertificate</code>. Idempotency tokens time out after one hour. Therefore, if you call <code>RequestCertificate</code> multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.</p>"
        },
        "DomainValidationOptions":{
          "shape":"DomainValidationOptionList",
          "documentation":"<p>The domain name that you want ACM to use to send you emails so that you can validate domain ownership.</p>"
        },
        "Options":{
          "shape":"CertificateOptions",
          "documentation":"<p>You can use this parameter to specify whether to export your certificate.</p> <p>Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a>.</p> <p>You can export public ACM certificates to use with Amazon Web Services services as well as outside the Amazon Web Services Cloud. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager exportable public certificate</a>.</p>"
        },
        "CertificateAuthorityArn":{
          "shape":"PcaArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the <a href=\"https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html\">Amazon Web Services Private Certificate Authority</a> user guide. The ARN must have the following form: </p> <p> <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code> </p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>One or more resource tags to associate with the certificate.</p>"
        },
        "KeyAlgorithm":{
          "shape":"KeyAlgorithm",
          "documentation":"<p>Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some Amazon Web Services services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the Amazon Web Services service where you plan to deploy your certificate. For more information about selecting an algorithm, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html#algorithms-term\">Key algorithms</a>.</p> <note> <p>Algorithms supported for an ACM certificate request include: </p> <ul> <li> <p> <code>RSA_2048</code> </p> </li> <li> <p> <code>EC_prime256v1</code> </p> </li> <li> <p> <code>EC_secp384r1</code> </p> </li> </ul> <p>Other listed algorithms are for imported certificates only. </p> </note> <note> <p>When you request a private PKI certificate signed by a CA from Amazon Web Services Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key.</p> </note> <p>Default: RSA_2048</p>"
        },
        "ManagedBy":{
          "shape":"CertificateManagedBy",
          "documentation":"<p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>"
        }
      }
    },
    "RequestCertificateResponse":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the issued certificate. This must be of the form:</p> <p> <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p>"
        }
      }
    },
    "RequestInProgressException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The certificate request is in process and the certificate in your account has not yet been issued.</p>",
      "exception":true
    },
    "ResendValidationEmailRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "Domain",
        "ValidationDomain"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the <a>RequestCertificate</a> action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form: </p> <p> <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> </p>"
        },
        "Domain":{
          "shape":"DomainNameString",
          "documentation":"<p>The fully qualified domain name (FQDN) of the certificate that needs to be validated.</p>"
        },
        "ValidationDomain":{
          "shape":"DomainNameString",
          "documentation":"<p>The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For example, if you requested a certificate for <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of <code>subdomain.example.com</code>, ACM sends email to the the following five addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li> <p>administrator@subdomain.example.com</p> </li> <li> <p>hostmaster@subdomain.example.com</p> </li> <li> <p>postmaster@subdomain.example.com</p> </li> <li> <p>webmaster@subdomain.example.com</p> </li> </ul>"
        }
      }
    },
    "ResourceInUseException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The certificate is in use by another Amazon Web Services service in the caller's account. Remove the association and try again.</p>",
      "exception":true
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The specified certificate cannot be found in the caller's account or the caller's account cannot be found.</p>",
      "exception":true
    },
    "ResourceRecord":{
      "type":"structure",
      "required":[
        "Name",
        "Type",
        "Value"
      ],
      "members":{
        "Name":{
          "shape":"String",
          "documentation":"<p>The name of the DNS record to create in your domain. This is supplied by ACM.</p>"
        },
        "Type":{
          "shape":"RecordType",
          "documentation":"<p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>"
        },
        "Value":{
          "shape":"String",
          "documentation":"<p>The value of the CNAME record to add to your DNS database. This is supplied by ACM.</p>"
        }
      },
      "documentation":"<p>Contains a DNS record value that you can use to validate ownership or control of a domain. This is used by the <a>DescribeCertificate</a> action. </p>"
    },
    "RevocationReason":{
      "type":"string",
      "enum":[
        "UNSPECIFIED",
        "KEY_COMPROMISE",
        "CA_COMPROMISE",
        "AFFILIATION_CHANGED",
        "SUPERCEDED",
        "SUPERSEDED",
        "CESSATION_OF_OPERATION",
        "CERTIFICATE_HOLD",
        "REMOVE_FROM_CRL",
        "PRIVILEGE_WITHDRAWN",
        "A_A_COMPROMISE"
      ]
    },
    "RevokeAcmeAccountRequest":{
      "type":"structure",
      "required":[
        "AcmeEndpointArn",
        "AccountUrl"
      ],
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint.</p>"
        },
        "AccountUrl":{
          "shape":"String",
          "documentation":"<p>The URL of the ACME account to revoke.</p>"
        }
      }
    },
    "RevokeAcmeExternalAccountBindingRequest":{
      "type":"structure",
      "required":["AcmeExternalAccountBindingArn"],
      "members":{
        "AcmeExternalAccountBindingArn":{
          "shape":"AcmeExternalAccountBindingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME external account binding to revoke.</p>"
        }
      }
    },
    "RevokeCertificateRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "RevocationReason"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the public or private certificate that will be revoked. The ARN must have the following form: </p> <p> <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code> </p>"
        },
        "RevocationReason":{
          "shape":"RevocationReason",
          "documentation":"<p>Specifies why you revoked the certificate.</p>"
        }
      }
    },
    "RevokeCertificateResponse":{
      "type":"structure",
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the public or private certificate that was revoked.</p>"
        }
      }
    },
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws[a-z-]*:iam::[0-9]{12}:role/.+"
    },
    "SearchCertificatesRequest":{
      "type":"structure",
      "members":{
        "FilterStatement":{
          "shape":"CertificateFilterStatement",
          "documentation":"<p>A filter statement that defines the search criteria. You can combine multiple filters using AND, OR, and NOT logical operators to create complex queries.</p>"
        },
        "MaxResults":{
          "shape":"SearchMaxResults",
          "documentation":"<p>The maximum number of results to return in the response. Default is 100.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of <code>NextToken</code> from the response you just received.</p>"
        },
        "SortBy":{
          "shape":"SearchCertificatesSortBy",
          "documentation":"<p>Specifies the field to sort results by. Valid values are CREATED_AT, NOT_AFTER, STATUS, RENEWAL_STATUS, EXPORTED, IN_USE, NOT_BEFORE, KEY_ALGORITHM, TYPE, CERTIFICATE_ARN, COMMON_NAME, REVOKED_AT, RENEWAL_ELIGIBILITY, ISSUED_AT, MANAGED_BY, EXPORT_OPTION, VALIDATION_METHOD, and IMPORTED_AT.</p>"
        },
        "SortOrder":{
          "shape":"SearchCertificatesSortOrder",
          "documentation":"<p>Specifies the order of sorted results. Valid values are ASCENDING or DESCENDING.</p>"
        }
      }
    },
    "SearchCertificatesResponse":{
      "type":"structure",
      "members":{
        "Results":{
          "shape":"CertificateSearchResultList",
          "documentation":"<p>A list of certificate search results containing certificate ARNs, X.509 attributes, and ACM metadata.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>When the list is truncated, this value is present and contains the value to use for the <code>NextToken</code> parameter in a subsequent pagination request.</p>"
        }
      }
    },
    "SearchCertificatesSortBy":{
      "type":"string",
      "documentation":"<p>The field to sort search results by.</p>",
      "enum":[
        "CREATED_AT",
        "NOT_AFTER",
        "STATUS",
        "RENEWAL_STATUS",
        "EXPORTED",
        "IN_USE",
        "NOT_BEFORE",
        "KEY_ALGORITHM",
        "TYPE",
        "CERTIFICATE_ARN",
        "COMMON_NAME",
        "REVOKED_AT",
        "RENEWAL_ELIGIBILITY",
        "ISSUED_AT",
        "MANAGED_BY",
        "EXPORT_OPTION",
        "VALIDATION_METHOD",
        "IMPORTED_AT",
        "ACME_ENDPOINT_ARN",
        "ACME_ACCOUNT_ID",
        "CERTIFICATE_KEY_PAIR_ORIGIN"
      ]
    },
    "SearchCertificatesSortOrder":{
      "type":"string",
      "documentation":"<p>The order to sort search results.</p>",
      "enum":[
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "SearchMaxResults":{
      "type":"integer",
      "box":true,
      "max":500,
      "min":1
    },
    "SerialNumber":{
      "type":"string",
      "max":59,
      "min":2,
      "pattern":"[0-9a-f]{2}(:[0-9a-f]{2}){1,19}"
    },
    "ServiceErrorMessage":{"type":"string"},
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>A service quota has been exceeded.</p>",
      "exception":true
    },
    "SortBy":{
      "type":"string",
      "enum":["CREATED_AT"]
    },
    "SortOrder":{
      "type":"string",
      "enum":[
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "String":{"type":"string"},
    "SubjectAlternativeNameFilter":{
      "type":"structure",
      "members":{
        "DnsName":{
          "shape":"DnsNameFilter",
          "documentation":"<p>Filter by DNS name in subject alternative names.</p>"
        }
      },
      "documentation":"<p>Filters certificates by subject alternative name attributes.</p>",
      "union":true
    },
    "SubjectFilter":{
      "type":"structure",
      "members":{
        "CommonName":{
          "shape":"CommonNameFilter",
          "documentation":"<p>Filter by common name in the subject.</p>"
        }
      },
      "documentation":"<p>Filters certificates by subject attributes.</p>",
      "union":true
    },
    "TStamp":{"type":"timestamp"},
    "Tag":{
      "type":"structure",
      "required":["Key"],
      "members":{
        "Key":{
          "shape":"TagKey",
          "documentation":"<p>The key of the tag.</p>"
        },
        "Value":{
          "shape":"TagValue",
          "documentation":"<p>The value of the tag.</p>"
        }
      },
      "documentation":"<p>A key-value pair that identifies or specifies metadata about an ACM resource.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":50,
      "min":1
    },
    "TagPolicyException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>A specified tag did not comply with an existing tag policy and was rejected.</p>",
      "exception":true
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Tags"
      ],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the ACM resource to which the tag is to be applied.</p>"
        },
        "Tags":{
          "shape":"TagList",
          "documentation":"<p>The key-value pair that defines the tag to apply.</p>"
        }
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)"
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"AvailabilityErrorMessage"},
        "throttlingReasons":{
          "shape":"ThrottlingReasonList",
          "documentation":"<p>One or more reasons why the request was throttled.</p>"
        }
      },
      "documentation":"<p>The request was denied because it exceeded a quota.</p>",
      "exception":true
    },
    "ThrottlingReason":{
      "type":"structure",
      "members":{
        "reason":{
          "shape":"CoralAvailabilityThrottlingReason",
          "documentation":"<p>A description of why a request was throttled.</p>"
        },
        "resource":{
          "shape":"CoralAvailabilityThrottledResource",
          "documentation":"<p>The resource that causes the request to be throttled.</p>"
        }
      },
      "documentation":"<p>A description of why a request was throttled.</p>"
    },
    "ThrottlingReasonList":{
      "type":"list",
      "member":{"shape":"ThrottlingReason"}
    },
    "TimeType":{
      "type":"string",
      "enum":[
        "MINUTES",
        "HOURS",
        "DAYS"
      ]
    },
    "Timestamp":{"type":"timestamp"},
    "TimestampRange":{
      "type":"structure",
      "members":{
        "Start":{
          "shape":"TStamp",
          "documentation":"<p>The start of the time range. This value is inclusive.</p>"
        },
        "End":{
          "shape":"TStamp",
          "documentation":"<p>The end of the time range. This value is inclusive.</p>"
        }
      },
      "documentation":"<p>Specifies a time range for filtering certificates.</p>"
    },
    "TooManyTagsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request contains too many tags. Try the request again with fewer tags.</p>",
      "exception":true
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "TagKeys"
      ],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the ACM resource from which the tag is to be removed.</p>"
        },
        "TagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The key of each tag to remove.</p>"
        }
      }
    },
    "UpdateAcmeDomainValidationRequest":{
      "type":"structure",
      "required":["AcmeDomainValidationArn"],
      "members":{
        "AcmeDomainValidationArn":{
          "shape":"AcmeDomainValidationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME domain validation to update.</p>"
        },
        "PrevalidationOptions":{
          "shape":"PrevalidationOptions",
          "documentation":"<p>The updated prevalidation options.</p>"
        }
      }
    },
    "UpdateAcmeEndpointRequest":{
      "type":"structure",
      "required":["AcmeEndpointArn"],
      "members":{
        "AcmeEndpointArn":{
          "shape":"AcmeEndpointArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the ACME endpoint to update.</p>"
        },
        "AuthorizationBehavior":{
          "shape":"AcmeAuthorizationBehavior",
          "documentation":"<p>The updated authorization behavior.</p>"
        },
        "Contact":{
          "shape":"AcmeContact",
          "documentation":"<p>The updated contact requirement.</p>"
        },
        "CertificateAuthority":{
          "shape":"CertificateAuthority",
          "documentation":"<p>The updated certificate authority configuration.</p>"
        }
      }
    },
    "UpdateCertificateOptionsRequest":{
      "type":"structure",
      "required":[
        "CertificateArn",
        "Options"
      ],
      "members":{
        "CertificateArn":{
          "shape":"Arn",
          "documentation":"<p>ARN of the requested certificate to update. This must be of the form:</p> <p> <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i> </code> </p>"
        },
        "Options":{
          "shape":"CertificateOptions",
          "documentation":"<p>Use to update the options for your certificate. Currently, you can change the domain validation method or specify whether to export your certificate. For more information about migrating from email to DNS validation, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-to-dns-migration.html\">Migrate from email to DNS validation</a>.</p>"
        }
      }
    },
    "UpdateStatus":{
      "type":"string",
      "documentation":"<p>The status of a certificate update. Possible values:</p> <ul> <li> <p> <code>PENDING_DOMAIN_VALIDATION</code> – The update is waiting for domain validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – The update completed successfully.</p> </li> <li> <p> <code>FAILED</code> – The update failed.</p> </li> </ul>",
      "enum":[
        "PENDING_DOMAIN_VALIDATION",
        "SUCCESS",
        "FAILED"
      ]
    },
    "UpdateSummary":{
      "type":"structure",
      "members":{
        "Status":{
          "shape":"UpdateStatus",
          "documentation":"<p>The status of the certificate update. The following are valid values:</p> <ul> <li> <p> <code>PENDING_DOMAIN_VALIDATION</code> – The certificate update is waiting for domain ownership validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – The certificate was updated successfully.</p> </li> <li> <p> <code>FAILED</code> – The certificate update failed.</p> </li> </ul>"
        },
        "Type":{
          "shape":"UpdateType",
          "documentation":"<p>The type of update that was requested for the certificate. The following are valid values:</p> <ul> <li> <p> <code>DOMAIN_VALIDATION_METHOD</code> – The update changes the domain validation method for the certificate.</p> </li> </ul>"
        },
        "DomainValidationMethodUpdateSummary":{
          "shape":"DomainValidationMethodUpdateSummary",
          "documentation":"<p>Contains information about a domain validation method migration, including the previous and target validation methods.</p>"
        },
        "RequestedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate update was requested.</p>"
        },
        "UpdatedAt":{
          "shape":"TStamp",
          "documentation":"<p>The time at which the certificate update status was last changed.</p>"
        }
      },
      "documentation":"<p>Contains information about the most recent certificate update, such as a domain validation method migration. This structure is returned as part of the <a>CertificateDetail</a> response from <a>DescribeCertificate</a>.</p>"
    },
    "UpdateType":{
      "type":"string",
      "documentation":"<p>The type of certificate update. Valid values:</p> <ul> <li> <p> <code>DOMAIN_VALIDATION_METHOD</code> – A change to the domain validation method for the certificate.</p> </li> </ul>",
      "enum":["DOMAIN_VALIDATION_METHOD"]
    },
    "ValidationChallenge":{
      "type":"structure",
      "members":{
        "EmailValidationChallenge":{"shape":"EmailValidationChallenge"},
        "DnsValidationChallenge":{"shape":"DnsValidationChallenge"}
      },
      "documentation":"<p>Contains the challenge details that you use to prove domain ownership. Only one member is set, depending on the validation method.</p>",
      "union":true
    },
    "ValidationConfiguration":{
      "type":"structure",
      "members":{
        "ValidationMethod":{
          "shape":"ValidationMethod",
          "documentation":"<p>The validation method for this configuration. Valid values:</p> <ul> <li> <p> <code>DNS</code> – Validation using a CNAME record added to your DNS configuration.</p> </li> <li> <p> <code>EMAIL</code> – Validation using an approval email sent to domain contacts.</p> </li> <li> <p> <code>HTTP</code> – Validation using an HTTP resource placed on your web server.</p> </li> </ul>"
        },
        "ValidationChallenge":{
          "shape":"ValidationChallenge",
          "documentation":"<p>The validation challenge details for this configuration. The structure varies by validation method: for DNS validation, contains a <code>DnsValidationChallenge</code> with the CNAME record to add; for email validation, contains an <code>EmailValidationChallenge</code> with the validation email addresses.</p>"
        },
        "ValidationStatus":{
          "shape":"DomainStatus",
          "documentation":"<p>The validation status for this domain. Valid values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> – The domain is waiting for validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – Validation completed successfully.</p> </li> <li> <p> <code>FAILED</code> – Validation failed.</p> </li> </ul>"
        }
      },
      "documentation":"<p>Contains the validation method, validation status, and validation challenge details for a domain. This structure appears in <a>DomainValidationSummary</a> as both the active and requested validation configuration.</p>"
    },
    "ValidationEmailList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ValidationExceptionMessage"}
      },
      "documentation":"<p>The supplied input failed to satisfy constraints of an Amazon Web Services service.</p>",
      "exception":true
    },
    "ValidationExceptionMessage":{"type":"string"},
    "ValidationMethod":{
      "type":"string",
      "enum":[
        "EMAIL",
        "DNS",
        "HTTP"
      ]
    },
    "X509AttributeFilter":{
      "type":"structure",
      "members":{
        "Subject":{
          "shape":"SubjectFilter",
          "documentation":"<p>Filter by certificate subject.</p>"
        },
        "SubjectAlternativeName":{
          "shape":"SubjectAlternativeNameFilter",
          "documentation":"<p>Filter by subject alternative names.</p>"
        },
        "ExtendedKeyUsage":{
          "shape":"ExtendedKeyUsageName",
          "documentation":"<p>Filter by extended key usage.</p>"
        },
        "KeyUsage":{
          "shape":"KeyUsageName",
          "documentation":"<p>Filter by key usage.</p>"
        },
        "KeyAlgorithm":{
          "shape":"KeyAlgorithm",
          "documentation":"<p>Filter by key algorithm.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>Filter by serial number.</p>"
        },
        "NotAfter":{
          "shape":"TimestampRange",
          "documentation":"<p>Filter by certificate expiration date. The start date is inclusive.</p>"
        },
        "NotBefore":{
          "shape":"TimestampRange",
          "documentation":"<p>Filter by certificate validity start date. The start date is inclusive.</p>"
        }
      },
      "documentation":"<p>Filters certificates by X.509 attributes.</p>",
      "union":true
    },
    "X509Attributes":{
      "type":"structure",
      "members":{
        "Issuer":{
          "shape":"DistinguishedName",
          "documentation":"<p>The distinguished name of the certificate issuer.</p>"
        },
        "Subject":{
          "shape":"DistinguishedName",
          "documentation":"<p>The distinguished name of the certificate subject.</p>"
        },
        "SubjectAlternativeNames":{
          "shape":"GeneralNameList",
          "documentation":"<p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p>"
        },
        "ExtendedKeyUsages":{
          "shape":"ExtendedKeyUsageNames",
          "documentation":"<p>Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). </p>"
        },
        "KeyAlgorithm":{
          "shape":"KeyAlgorithm",
          "documentation":"<p>The algorithm that was used to generate the public-private key pair.</p>"
        },
        "KeyUsages":{
          "shape":"KeyUsageNames",
          "documentation":"<p>A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>The serial number assigned by the certificate authority.</p>"
        },
        "NotAfter":{
          "shape":"TStamp",
          "documentation":"<p>The time after which the certificate is not valid.</p>"
        },
        "NotBefore":{
          "shape":"TStamp",
          "documentation":"<p>The time before which the certificate is not valid.</p>"
        }
      },
      "documentation":"<p>Contains X.509 certificate attributes extracted from the certificate.</p>"
    }
  },
  "documentation":"<p><fullname>Certificate Manager</fullname> <p>You can use Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites and applications. For more information about using ACM, see the <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/\">Certificate Manager User Guide</a>.</p></p>",
  "clientContextParams":{
    "ServiceType":{
      "documentation":"The service type: ACM or ACM-ACME. Injected via @staticContextParams.",
      "type":"string"
    }
  }
}
