:doc:`WorkSpacesWeb <../../workspaces-web>` / Client / update_session_logger

*********************
update_session_logger
*********************



.. py:method:: WorkSpacesWeb.Client.update_session_logger(**kwargs)

  

  Updates the details of a session logger.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateSessionLogger>`_  


  **Request Syntax**
  ::

    response = client.update_session_logger(
        sessionLoggerArn='string',
        eventFilter={
            'all': {}
            ,
            'include': [
                'WebsiteInteract'|'FileDownloadFromSecureBrowserToRemoteDisk'|'FileTransferFromRemoteToLocalDisk'|'FileTransferFromLocalToRemoteDisk'|'FileUploadFromRemoteDiskToSecureBrowser'|'ContentPasteToWebsite'|'ContentTransferFromLocalToRemoteClipboard'|'ContentCopyFromWebsite'|'UrlLoad'|'TabOpen'|'TabClose'|'PrintJobSubmit'|'SessionConnect'|'SessionStart'|'SessionDisconnect'|'SessionEnd'|'UrlBlockByContentFilter',
            ]
        },
        logConfiguration={
            's3': {
                'bucket': 'string',
                'keyPrefix': 'string',
                'bucketOwner': 'string',
                'logFileFormat': 'JSONLines'|'Json',
                'folderStructure': 'Flat'|'NestedByDate'
            }
        },
        displayName='string'
    )
    
  :type sessionLoggerArn: string
  :param sessionLoggerArn: **[REQUIRED]** 

    The ARN of the session logger to update.

    

  
  :type eventFilter: dict
  :param eventFilter: 

    The updated eventFilter.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``all``, ``include``. 

  
    - **all** *(dict) --* 

      The filter that monitors all of the available events, including any new events emitted in the future.

      

    
    
    - **include** *(list) --* 

      The filter that monitors only the listed set of events. New events are not auto-monitored.

      

    
      - *(string) --* 

      
  
  
  :type logConfiguration: dict
  :param logConfiguration: 

    The updated logConfiguration.

    

  
    - **s3** *(dict) --* 

      The configuration for delivering the logs to S3.

      

    
      - **bucket** *(string) --* **[REQUIRED]** 

        The S3 bucket name where logs are delivered.

        

      
      - **keyPrefix** *(string) --* 

        The S3 path prefix that determines where log files are stored.

        

      
      - **bucketOwner** *(string) --* 

        The expected bucket owner of the target S3 bucket. The caller must have permissions to write to the target bucket.

        

      
      - **logFileFormat** *(string) --* **[REQUIRED]** 

        The format of the LogFile that is written to S3.

        

      
      - **folderStructure** *(string) --* **[REQUIRED]** 

        The folder structure that defines the organizational structure for log files in S3.

        

      
    
  
  :type displayName: string
  :param displayName: 

    The updated display name.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'sessionLogger': {
              'sessionLoggerArn': 'string',
              'eventFilter': {
                  'all': {},
                  'include': [
                      'WebsiteInteract'|'FileDownloadFromSecureBrowserToRemoteDisk'|'FileTransferFromRemoteToLocalDisk'|'FileTransferFromLocalToRemoteDisk'|'FileUploadFromRemoteDiskToSecureBrowser'|'ContentPasteToWebsite'|'ContentTransferFromLocalToRemoteClipboard'|'ContentCopyFromWebsite'|'UrlLoad'|'TabOpen'|'TabClose'|'PrintJobSubmit'|'SessionConnect'|'SessionStart'|'SessionDisconnect'|'SessionEnd'|'UrlBlockByContentFilter',
                  ]
              },
              'logConfiguration': {
                  's3': {
                      'bucket': 'string',
                      'keyPrefix': 'string',
                      'bucketOwner': 'string',
                      'logFileFormat': 'JSONLines'|'Json',
                      'folderStructure': 'Flat'|'NestedByDate'
                  }
              },
              'customerManagedKey': 'string',
              'additionalEncryptionContext': {
                  'string': 'string'
              },
              'associatedPortalArns': [
                  'string',
              ],
              'displayName': 'string',
              'creationDate': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **sessionLogger** *(dict) --* 

        The updated details of the session logger.

        
        

        - **sessionLoggerArn** *(string) --* 

          The ARN of the session logger resource.

          
        

        - **eventFilter** *(dict) --* 

          The filter that specifies which events to monitor.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``all``, ``include``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


        
          

          - **all** *(dict) --* 

            The filter that monitors all of the available events, including any new events emitted in the future.

            
        
          

          - **include** *(list) --* 

            The filter that monitors only the listed set of events. New events are not auto-monitored.

            
            

            - *(string) --* 
        
      
        

        - **logConfiguration** *(dict) --* 

          The configuration that specifies where logs are fowarded.

          
          

          - **s3** *(dict) --* 

            The configuration for delivering the logs to S3.

            
            

            - **bucket** *(string) --* 

              The S3 bucket name where logs are delivered.

              
            

            - **keyPrefix** *(string) --* 

              The S3 path prefix that determines where log files are stored.

              
            

            - **bucketOwner** *(string) --* 

              The expected bucket owner of the target S3 bucket. The caller must have permissions to write to the target bucket.

              
            

            - **logFileFormat** *(string) --* 

              The format of the LogFile that is written to S3.

              
            

            - **folderStructure** *(string) --* 

              The folder structure that defines the organizational structure for log files in S3.

              
        
      
        

        - **customerManagedKey** *(string) --* 

          The custom managed key of the session logger.

          
        

        - **additionalEncryptionContext** *(dict) --* 

          The additional encryption context of the session logger.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **associatedPortalArns** *(list) --* 

          The associated portal ARN.

          
          

          - *(string) --* 
      
        

        - **displayName** *(string) --* 

          The human-readable display name.

          
        

        - **creationDate** *(datetime) --* 

          The date the session logger resource was created.

          
    
  
  **Exceptions**
  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.InternalServerException`

  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.ThrottlingException`

  
  *   :py:class:`WorkSpacesWeb.Client.exceptions.ValidationException`

  