Skip to content

create_data_lake_exception_subscription

create_data_lake_exception_subscription(
    subscription_protocol: SubscriptionProtocol,
    notification_endpoint: SafeString,
    *,
    config_overrides: Optional[SecurityLakeClientConfig] = None,
    exception_time_to_live: Optional[int] = None,
) -> CreateDataLakeExceptionSubscriptionResponse

Creates the specified notification subscription in Amazon Security Lake for the organization you specify. The notification subscription is created for exceptions that cannot be resolved by Security Lake automatically.

Parameters:

  • subscription_protocol (SubscriptionProtocol) –

    The subscription protocol to which exception notifications are posted.

  • notification_endpoint (SafeString) –

    The Amazon Web Services account where you want to receive exception notifications.

  • exception_time_to_live (Optional[int], default: None ) –

    The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains.

Raises:

  • AccessDeniedException –

    You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

  • BadRequestException –

    The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

  • ConflictException –

    Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

  • InternalServerException –

    Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

  • ResourceNotFoundException –

    The resource could not be found.

  • ThrottlingException –

    The limit on the number of requests per second was exceeded.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_securitylake/_services/security_lake.py
def create_data_lake_exception_subscription(
    self,
    subscription_protocol: "capo_securitylake.types.subscription_protocol.SubscriptionProtocol",
    notification_endpoint: "capo_securitylake.types.safe_string.SafeString",
    *,
    config_overrides: Optional[SecurityLakeClientConfig] = None,
    exception_time_to_live: Optional[int] = None,
) -> "capo_securitylake.types.create_data_lake_exception_subscription_response.CreateDataLakeExceptionSubscriptionResponse":
    """<p>Creates the specified notification subscription in Amazon Security Lake for the organization you specify. The notification subscription is created for exceptions that cannot be resolved by Security Lake automatically.</p>

    Args:
        subscription_protocol: <p>The subscription protocol to which exception notifications are posted.</p>
        notification_endpoint: <p>The Amazon Web Services account where you want to receive exception notifications.</p>
        exception_time_to_live: <p>The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains.</p>

    Raises:
        capo_securitylake.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.</p>
        capo_securitylake.errors.bad_request_exception.BadRequestException: <p>The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.</p>
        capo_securitylake.errors.conflict_exception.ConflictException: <p>Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.</p>
        capo_securitylake.errors.internal_server_exception.InternalServerException: <p>Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.</p>
        capo_securitylake.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource could not be found.</p>
        capo_securitylake.errors.throttling_exception.ThrottlingException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_securitylake.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_securitylake.types.create_data_lake_exception_subscription_request.CreateDataLakeExceptionSubscriptionRequest]",
    ) -> OperationResponse[
        "capo_securitylake.types.create_data_lake_exception_subscription_response.CreateDataLakeExceptionSubscriptionResponse"
    ]:
        import capo_securitylake._operations.security_lake.create_data_lake_exception_subscription

        output, http_response = (
            capo_securitylake._operations.security_lake.create_data_lake_exception_subscription.create_data_lake_exception_subscription(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateDataLakeExceptionSubscription")
    )
    input_: capo_securitylake.types.create_data_lake_exception_subscription_request.CreateDataLakeExceptionSubscriptionRequest = {
        "subscription_protocol": subscription_protocol,
        "notification_endpoint": notification_endpoint,
    }
    if exception_time_to_live is not None:
        input_["exception_time_to_live"] = exception_time_to_live

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