:doc:`DeadlineCloud <../../deadline>` / Client / get_session_action

******************
get_session_action
******************



.. py:method:: DeadlineCloud.Client.get_session_action(**kwargs)

  

  Gets a session action for the job.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/deadline-2023-10-12/GetSessionAction>`_  


  **Request Syntax**
  ::

    response = client.get_session_action(
        farmId='string',
        queueId='string',
        jobId='string',
        sessionActionId='string'
    )
    
  :type farmId: string
  :param farmId: **[REQUIRED]** 

    The farm ID for the session action.

    

  
  :type queueId: string
  :param queueId: **[REQUIRED]** 

    The queue ID for the session action.

    

  
  :type jobId: string
  :param jobId: **[REQUIRED]** 

    The job ID for the session.

    

  
  :type sessionActionId: string
  :param sessionActionId: **[REQUIRED]** 

    The session action ID for the session.

    

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

    
    ::

      {
          'sessionActionId': 'string',
          'status': 'ASSIGNED'|'RUNNING'|'CANCELING'|'SUCCEEDED'|'FAILED'|'INTERRUPTED'|'CANCELED'|'NEVER_ATTEMPTED'|'SCHEDULED'|'RECLAIMING'|'RECLAIMED',
          'startedAt': datetime(2015, 1, 1),
          'endedAt': datetime(2015, 1, 1),
          'workerUpdatedAt': datetime(2015, 1, 1),
          'progressPercent': ...,
          'sessionId': 'string',
          'processExitCode': 123,
          'progressMessage': 'string',
          'definition': {
              'envEnter': {
                  'environmentId': 'string'
              },
              'envExit': {
                  'environmentId': 'string'
              },
              'taskRun': {
                  'taskId': 'string',
                  'stepId': 'string',
                  'parameters': {
                      'string': {
                          'int': 'string',
                          'float': 'string',
                          'string': 'string',
                          'path': 'string',
                          'chunkInt': 'string'
                      }
                  }
              },
              'syncInputJobAttachments': {
                  'stepId': 'string'
              }
          },
          'acquiredLimits': [
              {
                  'limitId': 'string',
                  'count': 123
              },
          ],
          'manifests': [
              {
                  'outputManifestPath': 'string',
                  'outputManifestHash': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **sessionActionId** *(string) --* 

        The session action ID.

        
      

      - **status** *(string) --* 

        The status of the session action.

        
      

      - **startedAt** *(datetime) --* 

        The date and time the resource started running.

        
      

      - **endedAt** *(datetime) --* 

        The date and time the resource ended running.

        
      

      - **workerUpdatedAt** *(datetime) --* 

        The Linux timestamp of the date and time the session action was last updated.

        
      

      - **progressPercent** *(float) --* 

        The percentage completed for a session action.

        
      

      - **sessionId** *(string) --* 

        The session ID for the session action.

        
      

      - **processExitCode** *(integer) --* 

        The process exit code. The default Deadline Cloud worker agent converts unsigned 32-bit exit codes to signed 32-bit exit codes.

        
      

      - **progressMessage** *(string) --* 

        The message that communicates the progress of the session action.

        
      

      - **definition** *(dict) --* 

        The session action definition.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``envEnter``, ``envExit``, ``taskRun``, ``syncInputJobAttachments``.     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'}


      
        

        - **envEnter** *(dict) --* 

          The environment to enter into.

          
          

          - **environmentId** *(string) --* 

            The environment ID.

            
      
        

        - **envExit** *(dict) --* 

          The environment to exit from.

          
          

          - **environmentId** *(string) --* 

            The environment ID.

            
      
        

        - **taskRun** *(dict) --* 

          The task run in the session.

          
          

          - **taskId** *(string) --* 

            The task ID.

            
          

          - **stepId** *(string) --* 

            The step ID.

            
          

          - **parameters** *(dict) --* 

            The task parameters.

            
            

            - *(string) --* 
              

              - *(dict) --* 

                The data types for the task parameters.

                .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``int``, ``float``, ``string``, ``path``, ``chunkInt``.     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'}


              
                

                - **int** *(string) --* 

                  A signed integer represented as a string.

                  
                

                - **float** *(string) --* 

                  A double precision IEEE-754 floating point number represented as a string.

                  
                

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

                  A UTF-8 string.

                  
                

                - **path** *(string) --* 

                  A file system path represented as a string.

                  
                

                - **chunkInt** *(string) --* 

                  A range (for example 1-10) or selection of specific (for example 1,3,7,8,10) integers represented as a string.

                  
            
        
      
      
        

        - **syncInputJobAttachments** *(dict) --* 

          The session action definition for syncing input job attachments.

          
          

          - **stepId** *(string) --* 

            The step ID for the sync input job attachments session action.

            
      
    
      

      - **acquiredLimits** *(list) --* 

        The limits and their amounts acquired during a session action. If no limits were acquired during the session, this field isn't returned.

        
        

        - *(dict) --* 

          Provides information about the number of resources used.

          
          

          - **limitId** *(string) --* 

            The unique identifier of the limit.

            
          

          - **count** *(integer) --* 

            The number of limit resources used.

            
      
    
      

      - **manifests** *(list) --* 

        The list of manifest properties that describe file attachments for the task run.

        
        

        - *(dict) --* 

          The manifest properties for a task run, corresponding to the manifest properties in the job.

          
          

          - **outputManifestPath** *(string) --* 

            The manifest file path.

            
          

          - **outputManifestHash** *(string) --* 

            The hash value of the file.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`DeadlineCloud.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`DeadlineCloud.Client.exceptions.InternalServerErrorException`

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

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

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

  