Skip to content

register_certificate

register_certificate(
    directory_id: DirectoryId,
    certificate_data: CertificateData,
    *,
    config_overrides: Optional[DirectoryServiceClientConfig] = None,
    type: Optional[CertificateType] = None,
    client_cert_auth_settings: Optional[ClientCertAuthSettings] = None,
) -> RegisterCertificateResult

Registers a certificate for a secure LDAP or client certificate authentication.

Parameters:

  • directory_id (DirectoryId) –

    The identifier of the directory.

  • certificate_data (CertificateData) –

    The certificate PEM string that needs to be registered.

  • type (Optional[CertificateType], default: None ) –

    The function that the registered certificate performs. Valid values include ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.

  • client_cert_auth_settings (Optional[ClientCertAuthSettings], default: None ) –

    A ClientCertAuthSettings object that contains client certificate authentication settings.

Raises:

Source code in docs_src/capo_directory_service/_services/directory_service.py
def register_certificate(
    self,
    directory_id: "capo_directory_service.types.directory_id.DirectoryId",
    certificate_data: "capo_directory_service.types.certificate_data.CertificateData",
    *,
    config_overrides: Optional[DirectoryServiceClientConfig] = None,
    type: Optional[
        "capo_directory_service.types.certificate_type.CertificateType"
    ] = None,
    client_cert_auth_settings: Optional[
        "capo_directory_service.types.client_cert_auth_settings.ClientCertAuthSettings"
    ] = None,
) -> "capo_directory_service.types.register_certificate_result.RegisterCertificateResult":
    """<p>Registers a certificate for a secure LDAP or client certificate authentication.</p>

    Args:
        directory_id: <p>The identifier of the directory.</p>
        certificate_data: <p>The certificate PEM string that needs to be registered.</p>
        type: <p>The function that the registered certificate performs. Valid values include <code>ClientLDAPS</code> or <code>ClientCertAuth</code>. The default value is <code>ClientLDAPS</code>.</p>
        client_cert_auth_settings: <p>A <code>ClientCertAuthSettings</code> object that contains client certificate authentication settings.</p>

    Raises:
        capo_directory_service.errors.certificate_already_exists_exception.CertificateAlreadyExistsException: <p>The certificate has already been registered into the system.</p>
        capo_directory_service.errors.certificate_limit_exceeded_exception.CertificateLimitExceededException: <p>The certificate could not be added because the certificate limit has been reached.</p>
        capo_directory_service.errors.client_exception.ClientException: <p>A client exception has occurred.</p>
        capo_directory_service.errors.directory_does_not_exist_exception.DirectoryDoesNotExistException: <p>The specified directory does not exist in the system.</p>
        capo_directory_service.errors.directory_unavailable_exception.DirectoryUnavailableException: <p>The specified directory is unavailable.</p>
        capo_directory_service.errors.invalid_certificate_exception.InvalidCertificateException: <p>The certificate PEM that was provided has incorrect encoding.</p>
        capo_directory_service.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more parameters are not valid.</p>
        capo_directory_service.errors.service_exception.ServiceException: <p>An exception has occurred in Directory Service.</p>
        capo_directory_service.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The operation is not supported.</p>
        capo_directory_service.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_directory_service.types.register_certificate_request.RegisterCertificateRequest]",
    ) -> OperationResponse[
        "capo_directory_service.types.register_certificate_result.RegisterCertificateResult"
    ]:
        import capo_directory_service._operations.directory_service_20150416.register_certificate

        output, http_response = (
            capo_directory_service._operations.directory_service_20150416.register_certificate.register_certificate(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RegisterCertificate")
    )
    input_: capo_directory_service.types.register_certificate_request.RegisterCertificateRequest = {
        "directory_id": directory_id,
        "certificate_data": certificate_data,
    }
    if type is not None:
        input_["type"] = type
    if client_cert_auth_settings is not None:
        input_["client_cert_auth_settings"] = client_cert_auth_settings

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