Skip to content

create_acme_endpoint

create_acme_endpoint(
    authorization_behavior: AcmeAuthorizationBehavior,
    certificate_authority: CertificateAuthority,
    *,
    config_overrides: Optional[ACMClientConfig] = None,
    idempotency_token: Optional[str] = None,
    contact: Optional[AcmeContact] = None,
    tags: Optional[TagList] = None,
    certificate_tags: Optional[TagList] = None,
) -> CreateAcmeEndpointResponse

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.

Parameters:

  • idempotency_token (Optional[str], default: None ) –

    A unique, case-sensitive identifier to ensure idempotency of the request.

  • authorization_behavior (AcmeAuthorizationBehavior) –

    The authorization behavior for the ACME endpoint.

  • contact (Optional[AcmeContact], default: None ) –

    Specifies whether ACME clients must provide contact information during account registration.

  • certificate_authority (CertificateAuthority) –

    The type of certificate authority to use for issuing certificates through this ACME endpoint.

  • tags (Optional[TagList], default: None ) –

    One or more tags to associate with the ACME endpoint.

  • certificate_tags (Optional[TagList], default: None ) –

    Tags to apply to certificates issued through this ACME endpoint.

Raises:

Source code in docs_src/capo_acm/_services/acm.py
def create_acme_endpoint(
    self,
    authorization_behavior: "capo_acm.types.acme_authorization_behavior.AcmeAuthorizationBehavior",
    certificate_authority: "capo_acm.types.certificate_authority.CertificateAuthority",
    *,
    config_overrides: Optional[ACMClientConfig] = None,
    idempotency_token: Optional[str] = None,
    contact: Optional["capo_acm.types.acme_contact.AcmeContact"] = None,
    tags: Optional["capo_acm.types.tag_list.TagList"] = None,
    certificate_tags: Optional["capo_acm.types.tag_list.TagList"] = None,
) -> "capo_acm.types.create_acme_endpoint_response.CreateAcmeEndpointResponse":
    """<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>

    Args:
        idempotency_token: <p>A unique, case-sensitive identifier to ensure idempotency of the request.</p>
        authorization_behavior: <p>The authorization behavior for the ACME endpoint.</p>
        contact: <p>Specifies whether ACME clients must provide contact information during account registration.</p>
        certificate_authority: <p>The type of certificate authority to use for issuing certificates through this ACME endpoint.</p>
        tags: <p>One or more tags to associate with the ACME endpoint.</p>
        certificate_tags: <p>Tags to apply to certificates issued through this ACME endpoint.</p>

    Raises:
        capo_acm.errors.access_denied_exception.AccessDeniedException: <p>You do not have access required to perform this action.</p>
        capo_acm.errors.conflict_exception.ConflictException: <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>
        capo_acm.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception, or failure.</p>
        capo_acm.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>A service quota has been exceeded.</p>
        capo_acm.errors.throttling_exception.ThrottlingException: <p>The request was denied because it exceeded a quota.</p>
        capo_acm.errors.validation_exception.ValidationException: <p>The supplied input failed to satisfy constraints of an Amazon Web Services service.</p>
        capo_acm.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_acm.types.create_acme_endpoint_request.CreateAcmeEndpointRequest]",
    ) -> OperationResponse[
        "capo_acm.types.create_acme_endpoint_response.CreateAcmeEndpointResponse"
    ]:
        import capo_acm._operations.certificate_manager.create_acme_endpoint

        output, http_response = (
            capo_acm._operations.certificate_manager.create_acme_endpoint.create_acme_endpoint(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateAcmeEndpoint")
    )
    input_: capo_acm.types.create_acme_endpoint_request.CreateAcmeEndpointRequest = {
        "authorization_behavior": authorization_behavior,
        "certificate_authority": certificate_authority,
    }
    if idempotency_token is None:
        idempotency_token = str(uuid.uuid4())
    input_["idempotency_token"] = idempotency_token
    if contact is not None:
        input_["contact"] = contact
    if tags is not None:
        input_["tags"] = tags
    if certificate_tags is not None:
        input_["certificate_tags"] = certificate_tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output