Skip to content

update_session_logger async

update_session_logger(
    session_logger_arn: ARN,
    *,
    config_overrides: Optional[AsyncWorkSpacesWebClientConfig] = None,
    event_filter: Optional[EventFilter] = None,
    log_configuration: Optional[LogConfiguration] = None,
    display_name: Optional[DisplayNameSafe] = None,
) -> UpdateSessionLoggerResponse

Updates the details of a session logger.

Parameters:

Raises:

Examples:

Update Session Logger Event Filter Updates a session logger to capture specific events instead of all events

>>> await client.update_session_logger(session_logger_arn='arn:aws:workspaces-web:us-west-2:123456789012:sessionLogger/12345678-1234-1234-1234-123456789012', event_filter={'include': ['SessionStart', 'SessionEnd', 'UrlLoad', 'WebsiteInteract']})
Update Session Logger Configuration
Updates the log configuration of a session logger
>>> await client.update_session_logger(session_logger_arn='arn:aws:workspaces-web:us-west-2:123456789012:sessionLogger/87654321-4321-4321-4321-210987654321', log_configuration={'s3': {'bucket': 'updated-my-session-logs-bucket-2', 'keyPrefix': 'updated/key/prefix', 'bucketOwner': '123456789012', 'logFileFormat': 'Json', 'folderStructure': 'Flat'}})
Source code in docs_src/capo_workspaces_web/_services/async_work_spaces_web.py
async def update_session_logger(
    self,
    session_logger_arn: "capo_workspaces_web.types.arn.ARN",
    *,
    config_overrides: Optional[AsyncWorkSpacesWebClientConfig] = None,
    event_filter: Optional[
        "capo_workspaces_web.types.event_filter.EventFilter"
    ] = None,
    log_configuration: Optional[
        "capo_workspaces_web.types.log_configuration.LogConfiguration"
    ] = None,
    display_name: Optional[
        "capo_workspaces_web.types.display_name_safe.DisplayNameSafe"
    ] = None,
) -> "capo_workspaces_web.types.update_session_logger_response.UpdateSessionLoggerResponse":
    """<p>Updates the details of a session logger.</p>

    Args:
        session_logger_arn: <p>The ARN of the session logger to update.</p>
        event_filter: <p>The updated eventFilter.</p>
        log_configuration: <p>The updated logConfiguration.</p>
        display_name: <p>The updated display name.</p>

    Raises:
        capo_workspaces_web.errors.access_denied_exception.AccessDeniedException: <p>Access is denied.</p>
        capo_workspaces_web.errors.internal_server_exception.InternalServerException: <p>There is an internal server error.</p>
        capo_workspaces_web.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource cannot be found.</p>
        capo_workspaces_web.errors.throttling_exception.ThrottlingException: <p>There is a throttling error.</p>
        capo_workspaces_web.errors.validation_exception.ValidationException: <p>There is a validation error.</p>
        capo_workspaces_web.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Update Session Logger Event Filter
        Updates a session logger to capture specific events instead of all events

        >>> await client.update_session_logger(session_logger_arn='arn:aws:workspaces-web:us-west-2:123456789012:sessionLogger/12345678-1234-1234-1234-123456789012', event_filter={'include': ['SessionStart', 'SessionEnd', 'UrlLoad', 'WebsiteInteract']})
        Update Session Logger Configuration
        Updates the log configuration of a session logger

        >>> await client.update_session_logger(session_logger_arn='arn:aws:workspaces-web:us-west-2:123456789012:sessionLogger/87654321-4321-4321-4321-210987654321', log_configuration={'s3': {'bucket': 'updated-my-session-logs-bucket-2', 'keyPrefix': 'updated/key/prefix', 'bucketOwner': '123456789012', 'logFileFormat': 'Json', 'folderStructure': 'Flat'}})
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_workspaces_web.types.update_session_logger_request.UpdateSessionLoggerRequest]",
    ) -> AsyncOperationResponse[
        "capo_workspaces_web.types.update_session_logger_response.UpdateSessionLoggerResponse"
    ]:
        import capo_workspaces_web._operations.aws_ermine_control_plane_service.update_session_logger

        (
            output,
            http_response,
        ) = await capo_workspaces_web._operations.aws_ermine_control_plane_service.update_session_logger.async_update_session_logger(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_workspaces_web.types.update_session_logger_request.UpdateSessionLoggerRequest",
    ) -> dict[str, Any]:
        import capo_workspaces_web.types.update_session_logger_request

        return capo_workspaces_web.types.update_session_logger_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_workspaces_web.types.update_session_logger_response.UpdateSessionLoggerResponse",
    ) -> dict[str, Any]:
        import capo_workspaces_web.types.update_session_logger_response

        return capo_workspaces_web.types.update_session_logger_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdateSessionLogger",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_workspaces_web.types.update_session_logger_request.UpdateSessionLoggerRequest = {
        "session_logger_arn": session_logger_arn
    }
    if event_filter is not None:
        input_["event_filter"] = event_filter
    if log_configuration is not None:
        input_["log_configuration"] = log_configuration
    if display_name is not None:
        input_["display_name"] = display_name

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output