:doc:`DeviceFarm <../../devicefarm>` / Client / get_job

*******
get_job
*******



.. py:method:: DeviceFarm.Client.get_job(**kwargs)

  

  Gets information about a job.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob>`_  


  **Request Syntax**
  ::

    response = client.get_job(
        arn='string'
    )
    
  :type arn: string
  :param arn: **[REQUIRED]** 

    The job's ARN.

    

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

    
    ::

      {
          'job': {
              'arn': 'string',
              'name': 'string',
              'type': 'BUILTIN_FUZZ'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'INSTRUMENTATION'|'XCTEST'|'XCTEST_UI',
              'created': datetime(2015, 1, 1),
              'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING',
              'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED',
              'started': datetime(2015, 1, 1),
              'stopped': datetime(2015, 1, 1),
              'counters': {
                  'total': 123,
                  'passed': 123,
                  'failed': 123,
                  'warned': 123,
                  'errored': 123,
                  'stopped': 123,
                  'skipped': 123
              },
              'message': 'string',
              'device': {
                  'arn': 'string',
                  'name': 'string',
                  'manufacturer': 'string',
                  'model': 'string',
                  'modelId': 'string',
                  'formFactor': 'PHONE'|'TABLET',
                  'platform': 'ANDROID'|'IOS',
                  'os': 'string',
                  'cpu': {
                      'frequency': 'string',
                      'architecture': 'string',
                      'clock': 123.0
                  },
                  'resolution': {
                      'width': 123,
                      'height': 123
                  },
                  'heapSize': 123,
                  'memory': 123,
                  'image': 'string',
                  'carrier': 'string',
                  'radio': 'string',
                  'remoteAccessEnabled': True|False,
                  'remoteDebugEnabled': True|False,
                  'fleetType': 'string',
                  'fleetName': 'string',
                  'instances': [
                      {
                          'arn': 'string',
                          'deviceArn': 'string',
                          'labels': [
                              'string',
                          ],
                          'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE',
                          'udid': 'string',
                          'instanceProfile': {
                              'arn': 'string',
                              'packageCleanup': True|False,
                              'excludeAppPackagesFromCleanup': [
                                  'string',
                              ],
                              'rebootAfterUse': True|False,
                              'name': 'string',
                              'description': 'string'
                          }
                      },
                  ],
                  'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE'
              },
              'instanceArn': 'string',
              'deviceMinutes': {
                  'total': 123.0,
                  'metered': 123.0,
                  'unmetered': 123.0
              },
              'videoEndpoint': 'string',
              'videoCapture': True|False
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Represents the result of a get job request.

      
      

      - **job** *(dict) --* 

        An object that contains information about the requested job.

        
        

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

          The job's ARN.

          
        

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

          The job's name.

          
        

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

          The job's type.

           

          Allowed values include the following:

           

          
          * BUILTIN_FUZZ
           
          * APPIUM_JAVA_JUNIT
           
          * APPIUM_JAVA_TESTNG
           
          * APPIUM_PYTHON
           
          * APPIUM_NODE
           
          * APPIUM_RUBY
           
          * APPIUM_WEB_JAVA_JUNIT
           
          * APPIUM_WEB_JAVA_TESTNG
           
          * APPIUM_WEB_PYTHON
           
          * APPIUM_WEB_NODE
           
          * APPIUM_WEB_RUBY
           
          * INSTRUMENTATION
           
          * XCTEST
           
          * XCTEST_UI
          

          
        

        - **created** *(datetime) --* 

          When the job was created.

          
        

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

          The job's status.

           

          Allowed values include:

           

          
          * PENDING
           
          * PENDING_CONCURRENCY
           
          * PENDING_DEVICE
           
          * PROCESSING
           
          * SCHEDULING
           
          * PREPARING
           
          * RUNNING
           
          * COMPLETED
           
          * STOPPING
          

          
        

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

          The job's result.

           

          Allowed values include:

           

          
          * PENDING
           
          * PASSED
           
          * WARNED
           
          * FAILED
           
          * SKIPPED
           
          * ERRORED
           
          * STOPPED
          

          
        

        - **started** *(datetime) --* 

          The job's start time.

          
        

        - **stopped** *(datetime) --* 

          The job's stop time.

          
        

        - **counters** *(dict) --* 

          The job's result counters.

          
          

          - **total** *(integer) --* 

            The total number of entities.

            
          

          - **passed** *(integer) --* 

            The number of passed entities.

            
          

          - **failed** *(integer) --* 

            The number of failed entities.

            
          

          - **warned** *(integer) --* 

            The number of warned entities.

            
          

          - **errored** *(integer) --* 

            The number of errored entities.

            
          

          - **stopped** *(integer) --* 

            The number of stopped entities.

            
          

          - **skipped** *(integer) --* 

            The number of skipped entities.

            
      
        

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

          A message about the job's result.

          
        

        - **device** *(dict) --* 

          The device (phone or tablet).

          
          

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

            The device's ARN.

            
          

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

            The device's display name.

            
          

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

            The device's manufacturer name.

            
          

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

            The device's model name.

            
          

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

            The device's model ID.

            
          

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

            The device's form factor.

             

            Allowed values include:

             

            
            * PHONE
             
            * TABLET
            

            
          

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

            The device's platform.

             

            Allowed values include:

             

            
            * ANDROID
             
            * IOS
            

            
          

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

            The device's operating system type.

            
          

          - **cpu** *(dict) --* 

            Information about the device's CPU.

            
            

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

              The CPU's frequency.

              
            

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

              The CPU's architecture (for example, x86 or ARM).

              
            

            - **clock** *(float) --* 

              The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.

              
        
          

          - **resolution** *(dict) --* 

            The resolution of the device.

            
            

            - **width** *(integer) --* 

              The screen resolution's width, expressed in pixels.

              
            

            - **height** *(integer) --* 

              The screen resolution's height, expressed in pixels.

              
        
          

          - **heapSize** *(integer) --* 

            The device's heap size, expressed in bytes.

            
          

          - **memory** *(integer) --* 

            The device's total memory size, expressed in bytes.

            
          

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

            The device's image name.

            
          

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

            The device's carrier.

            
          

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

            The device's radio.

            
          

          - **remoteAccessEnabled** *(boolean) --* 

            Specifies whether remote access has been enabled for the specified device.

            
          

          - **remoteDebugEnabled** *(boolean) --* 

            This flag is set to ``true`` if remote debugging is enabled for the device.

             

            Remote debugging is `no longer supported <https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html>`__.

            
          

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

            The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.

            
          

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

            The name of the fleet to which this device belongs.

            
          

          - **instances** *(list) --* 

            The instances that belong to this device.

            
            

            - *(dict) --* 

              Represents the device instance.

              
              

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

                The Amazon Resource Name (ARN) of the device instance.

                
              

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

                The ARN of the device.

                
              

              - **labels** *(list) --* 

                An array of strings that describe the device instance.

                
                

                - *(string) --* 
            
              

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

                The status of the device instance. Valid values are listed here.

                
              

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

                Unique device identifier for the device instance.

                
              

              - **instanceProfile** *(dict) --* 

                A object that contains information about the instance profile.

                
                

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

                  The Amazon Resource Name (ARN) of the instance profile.

                  
                

                - **packageCleanup** *(boolean) --* 

                  When set to ``true``, Device Farm removes app packages after a test run. The default value is ``false`` for private devices.

                  
                

                - **excludeAppPackagesFromCleanup** *(list) --* 

                  An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.

                   

                  The list of packages is considered only if you set ``packageCleanup`` to ``true``.

                  
                  

                  - *(string) --* 
              
                

                - **rebootAfterUse** *(boolean) --* 

                  When set to ``true``, Device Farm reboots the instance after a test run. The default value is ``true``.

                  
                

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

                  The name of the instance profile.

                  
                

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

                  The description of the instance profile.

                  
            
          
        
          

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

            Indicates how likely a device is available for a test run. Currently available in the  ListDevices and GetDevice API methods.

            
      
        

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

          The ARN of the instance.

          
        

        - **deviceMinutes** *(dict) --* 

          Represents the total (metered or unmetered) minutes used by the job.

          
          

          - **total** *(float) --* 

            When specified, represents the total minutes used by the resource to run tests.

            
          

          - **metered** *(float) --* 

            When specified, represents only the sum of metered minutes used by the resource to run tests.

            
          

          - **unmetered** *(float) --* 

            When specified, represents only the sum of unmetered minutes used by the resource to run tests.

            
      
        

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

          The endpoint for streaming device video.

          
        

        - **videoCapture** *(boolean) --* 

          This value is set to true if video capture is enabled. Otherwise, it is set to false.

          
    
  
  **Exceptions**
  
  *   :py:class:`DeviceFarm.Client.exceptions.ArgumentException`

  
  *   :py:class:`DeviceFarm.Client.exceptions.NotFoundException`

  
  *   :py:class:`DeviceFarm.Client.exceptions.LimitExceededException`

  
  *   :py:class:`DeviceFarm.Client.exceptions.ServiceAccountException`

  

  **Examples**

  The following example returns information about a specific job.
  ::

    response = client.get_job(
        # You can get the job ARN by using the list-jobs CLI command.
        arn='arn:aws:devicefarm:us-west-2::job:123-456-EXAMPLE-GUID',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'job': {
        },
        'ResponseMetadata': {
            '...': '...',
        },
    }

  