

**********
DeviceFarm
**********

.. contents:: Table of Contents
   :depth: 2


======
Client
======



.. py:class:: DeviceFarm.Client

  A low-level client representing AWS Device Farm::

    
    import boto3
    
    client = boto3.client('devicefarm')

  
  These are the available methods:
  
  *   :py:meth:`can_paginate`

  
  *   :py:meth:`create_device_pool`

  
  *   :py:meth:`create_project`

  
  *   :py:meth:`create_upload`

  
  *   :py:meth:`generate_presigned_url`

  
  *   :py:meth:`get_account_settings`

  
  *   :py:meth:`get_device`

  
  *   :py:meth:`get_device_pool`

  
  *   :py:meth:`get_device_pool_compatibility`

  
  *   :py:meth:`get_job`

  
  *   :py:meth:`get_paginator`

  
  *   :py:meth:`get_project`

  
  *   :py:meth:`get_run`

  
  *   :py:meth:`get_suite`

  
  *   :py:meth:`get_test`

  
  *   :py:meth:`get_upload`

  
  *   :py:meth:`get_waiter`

  
  *   :py:meth:`list_artifacts`

  
  *   :py:meth:`list_device_pools`

  
  *   :py:meth:`list_devices`

  
  *   :py:meth:`list_jobs`

  
  *   :py:meth:`list_projects`

  
  *   :py:meth:`list_runs`

  
  *   :py:meth:`list_samples`

  
  *   :py:meth:`list_suites`

  
  *   :py:meth:`list_tests`

  
  *   :py:meth:`list_unique_problems`

  
  *   :py:meth:`list_uploads`

  
  *   :py:meth:`schedule_run`

  

  .. py:method:: can_paginate(operation_name)

        
    Check if an operation can be paginated.
    
    :type operation_name: string
    :param operation_name: The operation name.  This is the same name
        as the method name on the client.  For example, if the
        method name is ``create_foo``, and you'd normally invoke the
        operation as ``client.create_foo(**kwargs)``, if the
        ``create_foo`` operation can be paginated, you can use the
        call ``client.get_paginator("create_foo")``.
    
    :return: ``True`` if the operation can be paginated,
        ``False`` otherwise.


  .. py:method:: create_device_pool(**kwargs)

    

    Creates a device pool.

    

    **Request Syntax** 
    ::

      response = client.create_device_pool(
          projectArn='string',
          name='string',
          description='string',
          rules=[
              {
                  'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER',
                  'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN',
                  'value': 'string'
              },
          ]
      )
    :type projectArn: string
    :param projectArn: **[REQUIRED]** 

      The ARN of the project for the device pool.

      

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

      The device pool's name.

      

    
    :type description: string
    :param description: 

      The device pool's description.

      

    
    :type rules: list
    :param rules: **[REQUIRED]** 

      The device pool's rules.

      

    
      - *(dict) --* 

        Represents a condition for a device pool.

        

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

          The rule's attribute.

           

          Allowed values include:

           

           
          * ARN: The ARN.
           
          * FORM_FACTOR: The form factor (for example, phone or tablet).
           
          * MANUFACTURER: The manufacturer.
           
          * PLATFORM: The platform (for example, Android or iOS).
           

          

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

          The rule's operator.

           

           
          * EQUALS: The equals operator.
           
          * GREATER_THAN: The greater-than operator.
           
          * IN: The in operator.
           
          * LESS_THAN: The less-than operator.
           
          * NOT_IN: The not-in operator.
           

          

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

          The rule's value.

          

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

      
      ::

        {
            'devicePool': {
                'arn': 'string',
                'name': 'string',
                'description': 'string',
                'type': 'CURATED'|'PRIVATE',
                'rules': [
                    {
                        'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER',
                        'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN',
                        'value': 'string'
                    },
                ]
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a create device pool request.

        
        

        - **devicePool** *(dict) --* 

          The newly created device pool.

          
          

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

            The device pool's ARN.

            
          

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

            The device pool's name.

            
          

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

            The device pool's description.

            
          

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

            The device pool's type.

             

            Allowed values include:

             

             
            * CURATED: A device pool that is created and managed by AWS Device Farm.
             
            * PRIVATE: A device pool that is created and managed by the device pool developer.
             

            
          

          - **rules** *(list) --* 

            Information about the device pool's rules.

            
            

            - *(dict) --* 

              Represents a condition for a device pool.

              
              

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

                The rule's attribute.

                 

                Allowed values include:

                 

                 
                * ARN: The ARN.
                 
                * FORM_FACTOR: The form factor (for example, phone or tablet).
                 
                * MANUFACTURER: The manufacturer.
                 
                * PLATFORM: The platform (for example, Android or iOS).
                 

                
              

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

                The rule's operator.

                 

                 
                * EQUALS: The equals operator.
                 
                * GREATER_THAN: The greater-than operator.
                 
                * IN: The in operator.
                 
                * LESS_THAN: The less-than operator.
                 
                * NOT_IN: The not-in operator.
                 

                
              

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

                The rule's value.

                
          
        
      
    

  .. py:method:: create_project(**kwargs)

    

    Creates a new project.

    

    **Request Syntax** 
    ::

      response = client.create_project(
          name='string'
      )
    :type name: string
    :param name: **[REQUIRED]** 

      The project's name.

      

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

      
      ::

        {
            'project': {
                'arn': 'string',
                'name': 'string',
                'created': datetime(2015, 1, 1)
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a create project request.

        
        

        - **project** *(dict) --* 

          The newly created project.

          
          

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

            The project's ARN.

            
          

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

            The project's name.

            
          

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

            When the project was created.

            
      
    

  .. py:method:: create_upload(**kwargs)

    

    Uploads an app or test scripts.

    

    **Request Syntax** 
    ::

      response = client.create_upload(
          projectArn='string',
          name='string',
          type='ANDROID_APP'|'IOS_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE',
          contentType='string'
      )
    :type projectArn: string
    :param projectArn: **[REQUIRED]** 

      The ARN of the project for the upload.

      

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

      The upload's file name.

      

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

      The upload's upload type.

       

      Must be one of the following values:

       

       
      * ANDROID_APP: An Android upload.
       
      * IOS_APP: An iOS upload.
       
      * EXTERNAL_DATA: An external data upload.
       
      * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
       
      * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
       
      * CALABASH_TEST_PACKAGE: A Calabash test package upload.
       
      * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
       
      * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
       
      * XCTEST_TEST_PACKAGE: An XCode test package upload.
       

      

    
    :type contentType: string
    :param contentType: 

      The upload's content type (for example, "application/octet-stream").

      

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

      
      ::

        {
            'upload': {
                'arn': 'string',
                'name': 'string',
                'created': datetime(2015, 1, 1),
                'type': 'ANDROID_APP'|'IOS_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE',
                'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
                'url': 'string',
                'metadata': 'string',
                'contentType': 'string',
                'message': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a create upload request.

        
        

        - **upload** *(dict) --* 

          The newly created upload.

          
          

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

            The upload's ARN.

            
          

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

            The upload's file name.

            
          

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

            When the upload was created.

            
          

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

            The upload's type.

             

            Must be one of the following values:

             

             
            * ANDROID_APP: An Android upload.
             
            * IOS_APP: An iOS upload.
             
            * EXTERNAL_DATA: An external data upload.
             
            * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
             
            * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
             
            * CALABASH_TEST_PACKAGE: A Calabash test package upload.
             
            * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
             
            * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
             
            * XCTEST_TEST_PACKAGE: An XCode test package upload.
             

            
          

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

            The upload's status.

             

            Must be one of the following values:

             

             
            * FAILED: A failed status.
             
            * INITIALIZED: An initialized status.
             
            * PROCESSING: A processing status.
             
            * SUCCEEDED: A succeeded status.
             

            
          

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

            The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.

            
          

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

            The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.

            
          

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

            The upload's content type (for example, "application/octet-stream").

            
          

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

            A message about the upload's result.

            
      
    

  .. py:method:: generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

        
    Generate a presigned url given a client, its method, and arguments
    
    :type ClientMethod: string
    :param ClientMethod: The client method to presign for
    
    :type Params: dict
    :param Params: The parameters normally passed to
        ``ClientMethod``.
    
    :type ExpiresIn: int
    :param ExpiresIn: The number of seconds the presigned url is valid
        for. By default it expires in an hour (3600 seconds)
    
    :type HttpMethod: string
    :param HttpMethod: The http method to use on the generated url. By
        default, the http method is whatever is used in the method's model.
    
    :returns: The presigned url


  .. py:method:: get_account_settings()

    

    Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.

    

    **Request Syntax** 
    ::

      response = client.get_account_settings()
      
    
    :rtype: dict
    :returns: 
      
      **Response Syntax** 

      
      ::

        {
            'accountSettings': {
                'awsAccountNumber': 'string',
                'unmeteredDevices': {
                    'string': 123
                }
            }
        }
      **Response Structure** 

      

      - *(dict) --* 
        

        - **accountSettings** *(dict) --* 

          A container for account-level settings within AWS Device Farm.

          
          

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

            The AWS account number specified in the ``AccountSettings`` container.

            
          

          - **unmeteredDevices** *(dict) --* 

            Returns the unmetered devices you have purchased.

            
            

            - *(string) --* 
              

              - *(integer) --* 
        
      
      
    

  .. py:method:: get_device(**kwargs)

    

    Gets information about a unique device type.

    

    **Request Syntax** 
    ::

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

      The device type's ARN.

      

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

      
      ::

        {
            'device': {
                'arn': 'string',
                'name': 'string',
                'manufacturer': 'string',
                'model': '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'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get device request.

        
        

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

          Represents a device type that an app is tested against.

          
          

          - **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.

            
          

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

            The device's form factor.

             

            Allowed values include:

             

             
            * PHONE: The phone form factor.
             
            * TABLET: The tablet form factor.
             

            
          

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

            The device's platform.

             

            Allowed values include:

             

             
            * ANDROID: The Android platform.
             
            * IOS: The iOS platform.
             

            
          

          - **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) --* 

            Represents the screen resolution of a device in height and width, expressed in pixels.

            
            

            - **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.

            
      
    

  .. py:method:: get_device_pool(**kwargs)

    

    Gets information about a device pool.

    

    **Request Syntax** 
    ::

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

      The device pool's ARN.

      

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

      
      ::

        {
            'devicePool': {
                'arn': 'string',
                'name': 'string',
                'description': 'string',
                'type': 'CURATED'|'PRIVATE',
                'rules': [
                    {
                        'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER',
                        'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN',
                        'value': 'string'
                    },
                ]
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get device pool request.

        
        

        - **devicePool** *(dict) --* 

          Represents a collection of device types.

          
          

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

            The device pool's ARN.

            
          

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

            The device pool's name.

            
          

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

            The device pool's description.

            
          

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

            The device pool's type.

             

            Allowed values include:

             

             
            * CURATED: A device pool that is created and managed by AWS Device Farm.
             
            * PRIVATE: A device pool that is created and managed by the device pool developer.
             

            
          

          - **rules** *(list) --* 

            Information about the device pool's rules.

            
            

            - *(dict) --* 

              Represents a condition for a device pool.

              
              

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

                The rule's attribute.

                 

                Allowed values include:

                 

                 
                * ARN: The ARN.
                 
                * FORM_FACTOR: The form factor (for example, phone or tablet).
                 
                * MANUFACTURER: The manufacturer.
                 
                * PLATFORM: The platform (for example, Android or iOS).
                 

                
              

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

                The rule's operator.

                 

                 
                * EQUALS: The equals operator.
                 
                * GREATER_THAN: The greater-than operator.
                 
                * IN: The in operator.
                 
                * LESS_THAN: The less-than operator.
                 
                * NOT_IN: The not-in operator.
                 

                
              

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

                The rule's value.

                
          
        
      
    

  .. py:method:: get_device_pool_compatibility(**kwargs)

    

    Gets information about compatibility with a device pool.

    

    **Request Syntax** 
    ::

      response = client.get_device_pool_compatibility(
          devicePoolArn='string',
          appArn='string',
          testType='BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'
      )
    :type devicePoolArn: string
    :param devicePoolArn: **[REQUIRED]** 

      The device pool's ARN.

      

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

      The ARN of the app that is associated with the specified device pool.

      

    
    :type testType: string
    :param testType: 

      The test type for the specified device pool.

       

      Allowed values include the following:

       

       
      * BUILTIN_FUZZ: The built-in fuzz type.
       
      * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
       
      * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
       
      * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
       
      * CALABASH: The Calabash type.
       
      * INSTRUMENTATION: The Instrumentation type.
       
      * UIAUTOMATION: The uiautomation type.
       
      * UIAUTOMATOR: The uiautomator type.
       
      * XCTEST: The XCode test type.
       

      

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

      
      ::

        {
            'compatibleDevices': [
                {
                    'device': {
                        'arn': 'string',
                        'name': 'string',
                        'manufacturer': 'string',
                        'model': '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'
                    },
                    'compatible': True|False,
                    'incompatibilityMessages': [
                        {
                            'message': 'string',
                            'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'
                        },
                    ]
                },
            ],
            'incompatibleDevices': [
                {
                    'device': {
                        'arn': 'string',
                        'name': 'string',
                        'manufacturer': 'string',
                        'model': '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'
                    },
                    'compatible': True|False,
                    'incompatibilityMessages': [
                        {
                            'message': 'string',
                            'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'
                        },
                    ]
                },
            ]
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of describe device pool compatibility request.

        
        

        - **compatibleDevices** *(list) --* 

          Information about compatible devices.

          
          

          - *(dict) --* 

            Represents a device pool compatibility result.

            
            

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

              Represents a device type that an app is tested against.

              
              

              - **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.

                
              

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

                The device's form factor.

                 

                Allowed values include:

                 

                 
                * PHONE: The phone form factor.
                 
                * TABLET: The tablet form factor.
                 

                
              

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

                The device's platform.

                 

                Allowed values include:

                 

                 
                * ANDROID: The Android platform.
                 
                * IOS: The iOS platform.
                 

                
              

              - **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) --* 

                Represents the screen resolution of a device in height and width, expressed in pixels.

                
                

                - **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.

                
          
            

            - **compatible** *(boolean) --* 

              Whether the result was compatible with the device pool.

              
            

            - **incompatibilityMessages** *(list) --* 

              Information about the compatibility.

              
              

              - *(dict) --* 

                Represents information about incompatibility.

                
                

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

                  A message about the incompatibility.

                  
                

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

                  The type of incompatibility.

                   

                  Allowed values include:

                   

                   
                  * ARN: The ARN.
                   
                  * FORM_FACTOR: The form factor (for example, phone or tablet).
                   
                  * MANUFACTURER: The manufacturer.
                   
                  * PLATFORM: The platform (for example, Android or iOS).
                   

                  
            
          
        
      
        

        - **incompatibleDevices** *(list) --* 

          Information about incompatible devices.

          
          

          - *(dict) --* 

            Represents a device pool compatibility result.

            
            

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

              Represents a device type that an app is tested against.

              
              

              - **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.

                
              

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

                The device's form factor.

                 

                Allowed values include:

                 

                 
                * PHONE: The phone form factor.
                 
                * TABLET: The tablet form factor.
                 

                
              

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

                The device's platform.

                 

                Allowed values include:

                 

                 
                * ANDROID: The Android platform.
                 
                * IOS: The iOS platform.
                 

                
              

              - **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) --* 

                Represents the screen resolution of a device in height and width, expressed in pixels.

                
                

                - **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.

                
          
            

            - **compatible** *(boolean) --* 

              Whether the result was compatible with the device pool.

              
            

            - **incompatibilityMessages** *(list) --* 

              Information about the compatibility.

              
              

              - *(dict) --* 

                Represents information about incompatibility.

                
                

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

                  A message about the incompatibility.

                  
                

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

                  The type of incompatibility.

                   

                  Allowed values include:

                   

                   
                  * ARN: The ARN.
                   
                  * FORM_FACTOR: The form factor (for example, phone or tablet).
                   
                  * MANUFACTURER: The manufacturer.
                   
                  * PLATFORM: The platform (for example, Android or iOS).
                   

                  
            
          
        
      
    

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

    

    Gets information about a job.

    

    **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'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                'created': datetime(2015, 1, 1),
                'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                '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',
                    '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'
                }
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get job request.

        
        

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

          Represents a device.

          
          

          - **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: The built-in fuzz type.
             
            * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
             
            * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
             
            * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
             
            * CALABASH: The Calabash type.
             
            * INSTRUMENTATION: The Instrumentation type.
             
            * UIAUTOMATION: The uiautomation type.
             
            * UIAUTOMATOR: The uiautomator type.
             
            * XCTEST: The XCode test type.
             

            
          

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

            When the job was created.

            
          

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

            The job's status.

             

            Allowed values include:

             

             
            * COMPLETED: A completed status.
             
            * PENDING: A pending status.
             
            * PROCESSING: A processing status.
             
            * RUNNING: A running status.
             
            * SCHEDULING: A scheduling status.
             

            
          

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

            The job's result.

             

            Allowed values include:

             

             
            * ERRORED: An error condition.
             
            * FAILED: A failed condition.
             
            * SKIPPED: A skipped condition.
             
            * STOPPED: A stopped condition.
             
            * PASSED: A passing condition.
             
            * PENDING: A pending condition.
             
            * WARNED: A warning condition.
             

            
          

          - **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) --* 

            Represents a device type that an app is tested against.

            
            

            - **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.

              
            

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

              The device's form factor.

               

              Allowed values include:

               

               
              * PHONE: The phone form factor.
               
              * TABLET: The tablet form factor.
               

              
            

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

              The device's platform.

               

              Allowed values include:

               

               
              * ANDROID: The Android platform.
               
              * IOS: The iOS platform.
               

              
            

            - **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) --* 

              Represents the screen resolution of a device in height and width, expressed in pixels.

              
              

              - **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.

              
        
      
    

  .. py:method:: get_paginator(operation_name)

        
    Create a paginator for an operation.
    
    :type operation_name: string
    :param operation_name: The operation name.  This is the same name
        as the method name on the client.  For example, if the
        method name is ``create_foo``, and you'd normally invoke the
        operation as ``client.create_foo(**kwargs)``, if the
        ``create_foo`` operation can be paginated, you can use the
        call ``client.get_paginator("create_foo")``.
    
    :raise OperationNotPageableError: Raised if the operation is not
        pageable.  You can use the ``client.can_paginate`` method to
        check if an operation is pageable.
    
    :rtype: L{botocore.paginate.Paginator}
    :return: A paginator object.


  .. py:method:: get_project(**kwargs)

    

    Gets information about a project.

    

    **Request Syntax** 
    ::

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

      The project's ARN.

      

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

      
      ::

        {
            'project': {
                'arn': 'string',
                'name': 'string',
                'created': datetime(2015, 1, 1)
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get project request.

        
        

        - **project** *(dict) --* 

          Represents an operating-system neutral workspace for running and managing tests.

          
          

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

            The project's ARN.

            
          

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

            The project's name.

            
          

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

            When the project was created.

            
      
    

  .. py:method:: get_run(**kwargs)

    

    Gets information about a run.

    

    **Request Syntax** 
    ::

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

      The run's ARN.

      

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

      
      ::

        {
            'run': {
                'arn': 'string',
                'name': 'string',
                'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                'platform': 'ANDROID'|'IOS',
                'created': datetime(2015, 1, 1),
                'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                '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',
                'totalJobs': 123,
                'completedJobs': 123,
                'billingMethod': 'METERED'|'UNMETERED'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get run request.

        
        

        - **run** *(dict) --* 

          Represents an app on a set of devices with a specific test and configuration.

          
          

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

            The run's ARN.

            
          

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

            The run's name.

            
          

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

            The run's type.

             

            Must be one of the following values:

             

             
            * BUILTIN_FUZZ: The built-in fuzz type.
             
            * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
             
            * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
             
            * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
             
            * CALABASH: The Calabash type.
             
            * INSTRUMENTATION: The Instrumentation type.
             
            * UIAUTOMATION: The uiautomation type.
             
            * UIAUTOMATOR: The uiautomator type.
             
            * XCTEST: The XCode test type.
             

            
          

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

            The run's platform.

             

            Allowed values include:

             

             
            * ANDROID: The Android platform.
             
            * IOS: The iOS platform.
             

            
          

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

            When the run was created.

            
          

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

            The run's status.

             

            Allowed values include:

             

             
            * COMPLETED: A completed status.
             
            * PENDING: A pending status.
             
            * PROCESSING: A processing status.
             
            * RUNNING: A running status.
             
            * SCHEDULING: A scheduling status.
             

            
          

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

            The run's result.

             

            Allowed values include:

             

             
            * ERRORED: An error condition.
             
            * FAILED: A failed condition.
             
            * SKIPPED: A skipped condition.
             
            * STOPPED: A stopped condition.
             
            * PASSED: A passing condition.
             
            * PENDING: A pending condition.
             
            * WARNED: A warning condition.
             

            
          

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

            The run's start time.

            
          

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

            The run's stop time.

            
          

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

            The run'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 run's result.

            
          

          - **totalJobs** *(integer) --* 

            The total number of jobs for the run.

            
          

          - **completedJobs** *(integer) --* 

            The total number of completed jobs.

            
          

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

            Specifies the billing method for a test run: ``metered`` or ``unmetered`` . If the parameter is not specified, the default value is ``unmetered`` .

            
      
    

  .. py:method:: get_suite(**kwargs)

    

    Gets information about a suite.

    

    **Request Syntax** 
    ::

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

      The suite's ARN.

      

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

      
      ::

        {
            'suite': {
                'arn': 'string',
                'name': 'string',
                'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                'created': datetime(2015, 1, 1),
                'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                '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'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get suite request.

        
        

        - **suite** *(dict) --* 

          Represents a collection of one or more tests.

          
          

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

            The suite's ARN.

            
          

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

            The suite's name.

            
          

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

            The suite's type.

             

            Must be one of the following values:

             

             
            * BUILTIN_FUZZ: The built-in fuzz type.
             
            * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
             
            * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
             
            * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
             
            * CALABASH: The Calabash type.
             
            * INSTRUMENTATION: The Instrumentation type.
             
            * UIAUTOMATION: The uiautomation type.
             
            * UIAUTOMATOR: The uiautomator type.
             
            * XCTEST: The XCode test type.
             

            
          

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

            When the suite was created.

            
          

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

            The suite's status.

             

            Allowed values include:

             

             
            * COMPLETED: A completed status.
             
            * PENDING: A pending status.
             
            * PROCESSING: A processing status.
             
            * RUNNING: A running status.
             
            * SCHEDULING: A scheduling status.
             

            
          

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

            The suite's result.

             

            Allowed values include:

             

             
            * ERRORED: An error condition.
             
            * FAILED: A failed condition.
             
            * SKIPPED: A skipped condition.
             
            * STOPPED: A stopped condition.
             
            * PASSED: A passing condition.
             
            * PENDING: A pending condition.
             
            * WARNED: A warning condition.
             

            
          

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

            The suite's start time.

            
          

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

            The suite's stop time.

            
          

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

            The suite'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 suite's result.

            
      
    

  .. py:method:: get_test(**kwargs)

    

    Gets information about a test.

    

    **Request Syntax** 
    ::

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

      The test's ARN.

      

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

      
      ::

        {
            'test': {
                'arn': 'string',
                'name': 'string',
                'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                'created': datetime(2015, 1, 1),
                'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                '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'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get test request.

        
        

        - **test** *(dict) --* 

          Represents a condition that is evaluated.

          
          

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

            The test's ARN.

            
          

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

            The test's name.

            
          

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

            The test's type.

             

            Must be one of the following values:

             

             
            * BUILTIN_FUZZ: The built-in fuzz type.
             
            * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
             
            * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
             
            * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
             
            * CALABASH: The Calabash type.
             
            * INSTRUMENTATION: The Instrumentation type.
             
            * UIAUTOMATION: The uiautomation type.
             
            * UIAUTOMATOR: The uiautomator type.
             
            * XCTEST: The XCode test type.
             

            
          

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

            When the test was created.

            
          

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

            The test's status.

             

            Allowed values include:

             

             
            * COMPLETED: A completed status.
             
            * PENDING: A pending status.
             
            * PROCESSING: A processing status.
             
            * RUNNING: A running status.
             
            * SCHEDULING: A scheduling status.
             

            
          

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

            The test's result.

             

            Allowed values include:

             

             
            * ERRORED: An error condition.
             
            * FAILED: A failed condition.
             
            * SKIPPED: A skipped condition.
             
            * STOPPED: A stopped condition.
             
            * PASSED: A passing condition.
             
            * PENDING: A pending condition.
             
            * WARNED: A warning condition.
             

            
          

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

            The test's start time.

            
          

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

            The test's stop time.

            
          

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

            The test'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 test's result.

            
      
    

  .. py:method:: get_upload(**kwargs)

    

    Gets information about an upload.

    

    **Request Syntax** 
    ::

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

      The upload's ARN.

      

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

      
      ::

        {
            'upload': {
                'arn': 'string',
                'name': 'string',
                'created': datetime(2015, 1, 1),
                'type': 'ANDROID_APP'|'IOS_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE',
                'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
                'url': 'string',
                'metadata': 'string',
                'contentType': 'string',
                'message': 'string'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a get upload request.

        
        

        - **upload** *(dict) --* 

          An app or a set of one or more tests to upload or that have been uploaded.

          
          

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

            The upload's ARN.

            
          

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

            The upload's file name.

            
          

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

            When the upload was created.

            
          

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

            The upload's type.

             

            Must be one of the following values:

             

             
            * ANDROID_APP: An Android upload.
             
            * IOS_APP: An iOS upload.
             
            * EXTERNAL_DATA: An external data upload.
             
            * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
             
            * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
             
            * CALABASH_TEST_PACKAGE: A Calabash test package upload.
             
            * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
             
            * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
             
            * XCTEST_TEST_PACKAGE: An XCode test package upload.
             

            
          

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

            The upload's status.

             

            Must be one of the following values:

             

             
            * FAILED: A failed status.
             
            * INITIALIZED: An initialized status.
             
            * PROCESSING: A processing status.
             
            * SUCCEEDED: A succeeded status.
             

            
          

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

            The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.

            
          

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

            The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.

            
          

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

            The upload's content type (for example, "application/octet-stream").

            
          

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

            A message about the upload's result.

            
      
    

  .. py:method:: get_waiter(waiter_name)

        


  .. py:method:: list_artifacts(**kwargs)

    

    Gets information about artifacts.

    

    **Request Syntax** 
    ::

      response = client.list_artifacts(
          arn='string',
          type='SCREENSHOT'|'FILE'|'LOG',
          nextToken='string'
      )
    :type arn: string
    :param arn: **[REQUIRED]** 

      The artifacts' ARNs.

      

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

      The artifacts' type.

       

      Allowed values include:

       

       
      * FILE: The artifacts are files.
       
      * LOG: The artifacts are logs.
       
      * SCREENSHOT: The artifacts are screenshots.
       

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'artifacts': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'type': 'UNKNOWN'|'SCREENSHOT'|'DEVICE_LOG'|'MESSAGE_LOG'|'RESULT_LOG'|'SERVICE_LOG'|'INSTRUMENTATION_OUTPUT'|'EXERCISER_MONKEY_OUTPUT'|'CALABASH_JSON_OUTPUT'|'CALABASH_PRETTY_OUTPUT'|'CALABASH_STANDARD_OUTPUT'|'CALABASH_JAVA_XML_OUTPUT'|'AUTOMATION_OUTPUT'|'APPIUM_SERVER_OUTPUT'|'APPIUM_JAVA_OUTPUT'|'APPIUM_JAVA_XML_OUTPUT',
                    'extension': 'string',
                    'url': 'string'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list artifacts operation.

        
        

        - **artifacts** *(list) --* 

          Information about the artifacts.

          
          

          - *(dict) --* 

            Represents the output of a test. Examples of artifacts include logs and screenshots.

            
            

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

              The artifact's ARN.

              
            

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

              The artifact's name.

              
            

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

              The artifact's type.

               

              Allowed values include the following:

               

               
              * APPIUM_JAVA_OUTPUT: The Appium Java output type.
               
              * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
               
              * APPIUM_SERVER_OUTPUT: The Appium server output type.
               
              * AUTOMATION_OUTPUT: The automation output type.
               
              * CALABASH_JSON_OUTPUT: The Calabash JSON output type.
               
              * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
               
              * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.
               
              * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.
               
              * DEVICE_LOG: The device log type.
               
              * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.
               
              * INSTRUMENTATION_OUTPUT: The instrumentation type.
               
              * MESSAGE_LOG: The message log type.
               
              * RESULT_LOG: The result log type.
               
              * SCREENSHOT: The screenshot type.
               
              * SERVICE_LOG: The service log type.
               
              * UNKNOWN: An unknown type.
               

              
            

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

              The artifact's file extension.

              
            

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

              The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_device_pools(**kwargs)

    

    Gets information about device pools.

    

    **Request Syntax** 
    ::

      response = client.list_device_pools(
          arn='string',
          type='CURATED'|'PRIVATE',
          nextToken='string'
      )
    :type arn: string
    :param arn: **[REQUIRED]** 

      The project ARN.

      

    
    :type type: string
    :param type: 

      The device pools' type.

       

      Allowed values include:

       

       
      * CURATED: A device pool that is created and managed by AWS Device Farm.
       
      * PRIVATE: A device pool that is created and managed by the device pool developer.
       

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'devicePools': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'description': 'string',
                    'type': 'CURATED'|'PRIVATE',
                    'rules': [
                        {
                            'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER',
                            'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN',
                            'value': 'string'
                        },
                    ]
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list device pools request.

        
        

        - **devicePools** *(list) --* 

          Information about the device pools.

          
          

          - *(dict) --* 

            Represents a collection of device types.

            
            

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

              The device pool's ARN.

              
            

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

              The device pool's name.

              
            

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

              The device pool's description.

              
            

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

              The device pool's type.

               

              Allowed values include:

               

               
              * CURATED: A device pool that is created and managed by AWS Device Farm.
               
              * PRIVATE: A device pool that is created and managed by the device pool developer.
               

              
            

            - **rules** *(list) --* 

              Information about the device pool's rules.

              
              

              - *(dict) --* 

                Represents a condition for a device pool.

                
                

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

                  The rule's attribute.

                   

                  Allowed values include:

                   

                   
                  * ARN: The ARN.
                   
                  * FORM_FACTOR: The form factor (for example, phone or tablet).
                   
                  * MANUFACTURER: The manufacturer.
                   
                  * PLATFORM: The platform (for example, Android or iOS).
                   

                  
                

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

                  The rule's operator.

                   

                   
                  * EQUALS: The equals operator.
                   
                  * GREATER_THAN: The greater-than operator.
                   
                  * IN: The in operator.
                   
                  * LESS_THAN: The less-than operator.
                   
                  * NOT_IN: The not-in operator.
                   

                  
                

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

                  The rule's value.

                  
            
          
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_devices(**kwargs)

    

    Gets information about unique device types.

    

    **Request Syntax** 
    ::

      response = client.list_devices(
          arn='string',
          nextToken='string'
      )
    :type arn: string
    :param arn: 

      The device types' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'devices': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'manufacturer': 'string',
                    'model': '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'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list devices operation.

        
        

        - **devices** *(list) --* 

          Information about the devices.

          
          

          - *(dict) --* 

            Represents a device type that an app is tested against.

            
            

            - **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.

              
            

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

              The device's form factor.

               

              Allowed values include:

               

               
              * PHONE: The phone form factor.
               
              * TABLET: The tablet form factor.
               

              
            

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

              The device's platform.

               

              Allowed values include:

               

               
              * ANDROID: The Android platform.
               
              * IOS: The iOS platform.
               

              
            

            - **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) --* 

              Represents the screen resolution of a device in height and width, expressed in pixels.

              
              

              - **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.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_jobs(**kwargs)

    

    Gets information about jobs.

    

    **Request Syntax** 
    ::

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

      The jobs' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'jobs': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                    'created': datetime(2015, 1, 1),
                    'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                    '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',
                        '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'
                    }
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list jobs request.

        
        

        - **jobs** *(list) --* 

          Information about the jobs.

          
          

          - *(dict) --* 

            Represents a device.

            
            

            - **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: The built-in fuzz type.
               
              * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
               
              * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
               
              * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
               
              * CALABASH: The Calabash type.
               
              * INSTRUMENTATION: The Instrumentation type.
               
              * UIAUTOMATION: The uiautomation type.
               
              * UIAUTOMATOR: The uiautomator type.
               
              * XCTEST: The XCode test type.
               

              
            

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

              When the job was created.

              
            

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

              The job's status.

               

              Allowed values include:

               

               
              * COMPLETED: A completed status.
               
              * PENDING: A pending status.
               
              * PROCESSING: A processing status.
               
              * RUNNING: A running status.
               
              * SCHEDULING: A scheduling status.
               

              
            

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

              The job's result.

               

              Allowed values include:

               

               
              * ERRORED: An error condition.
               
              * FAILED: A failed condition.
               
              * SKIPPED: A skipped condition.
               
              * STOPPED: A stopped condition.
               
              * PASSED: A passing condition.
               
              * PENDING: A pending condition.
               
              * WARNED: A warning condition.
               

              
            

            - **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) --* 

              Represents a device type that an app is tested against.

              
              

              - **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.

                
              

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

                The device's form factor.

                 

                Allowed values include:

                 

                 
                * PHONE: The phone form factor.
                 
                * TABLET: The tablet form factor.
                 

                
              

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

                The device's platform.

                 

                Allowed values include:

                 

                 
                * ANDROID: The Android platform.
                 
                * IOS: The iOS platform.
                 

                
              

              - **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) --* 

                Represents the screen resolution of a device in height and width, expressed in pixels.

                
                

                - **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.

                
          
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_projects(**kwargs)

    

    Gets information about projects.

    

    **Request Syntax** 
    ::

      response = client.list_projects(
          arn='string',
          nextToken='string'
      )
    :type arn: string
    :param arn: 

      The projects' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'projects': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'created': datetime(2015, 1, 1)
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list projects request.

        
        

        - **projects** *(list) --* 

          Information about the projects.

          
          

          - *(dict) --* 

            Represents an operating-system neutral workspace for running and managing tests.

            
            

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

              The project's ARN.

              
            

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

              The project's name.

              
            

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

              When the project was created.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_runs(**kwargs)

    

    Gets information about runs.

    

    **Request Syntax** 
    ::

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

      The runs' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'runs': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                    'platform': 'ANDROID'|'IOS',
                    'created': datetime(2015, 1, 1),
                    'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                    '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',
                    'totalJobs': 123,
                    'completedJobs': 123,
                    'billingMethod': 'METERED'|'UNMETERED'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list runs request.

        
        

        - **runs** *(list) --* 

          Information about the runs.

          
          

          - *(dict) --* 

            Represents an app on a set of devices with a specific test and configuration.

            
            

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

              The run's ARN.

              
            

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

              The run's name.

              
            

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

              The run's type.

               

              Must be one of the following values:

               

               
              * BUILTIN_FUZZ: The built-in fuzz type.
               
              * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
               
              * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
               
              * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
               
              * CALABASH: The Calabash type.
               
              * INSTRUMENTATION: The Instrumentation type.
               
              * UIAUTOMATION: The uiautomation type.
               
              * UIAUTOMATOR: The uiautomator type.
               
              * XCTEST: The XCode test type.
               

              
            

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

              The run's platform.

               

              Allowed values include:

               

               
              * ANDROID: The Android platform.
               
              * IOS: The iOS platform.
               

              
            

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

              When the run was created.

              
            

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

              The run's status.

               

              Allowed values include:

               

               
              * COMPLETED: A completed status.
               
              * PENDING: A pending status.
               
              * PROCESSING: A processing status.
               
              * RUNNING: A running status.
               
              * SCHEDULING: A scheduling status.
               

              
            

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

              The run's result.

               

              Allowed values include:

               

               
              * ERRORED: An error condition.
               
              * FAILED: A failed condition.
               
              * SKIPPED: A skipped condition.
               
              * STOPPED: A stopped condition.
               
              * PASSED: A passing condition.
               
              * PENDING: A pending condition.
               
              * WARNED: A warning condition.
               

              
            

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

              The run's start time.

              
            

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

              The run's stop time.

              
            

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

              The run'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 run's result.

              
            

            - **totalJobs** *(integer) --* 

              The total number of jobs for the run.

              
            

            - **completedJobs** *(integer) --* 

              The total number of completed jobs.

              
            

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

              Specifies the billing method for a test run: ``metered`` or ``unmetered`` . If the parameter is not specified, the default value is ``unmetered`` .

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_samples(**kwargs)

    

    Gets information about samples.

    

    **Request Syntax** 
    ::

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

      The samples' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'samples': [
                {
                    'arn': 'string',
                    'type': 'CPU'|'MEMORY'|'THREADS'|'RX_RATE'|'TX_RATE'|'RX'|'TX'|'NATIVE_FRAMES'|'NATIVE_FPS'|'NATIVE_MIN_DRAWTIME'|'NATIVE_AVG_DRAWTIME'|'NATIVE_MAX_DRAWTIME'|'OPENGL_FRAMES'|'OPENGL_FPS'|'OPENGL_MIN_DRAWTIME'|'OPENGL_AVG_DRAWTIME'|'OPENGL_MAX_DRAWTIME',
                    'url': 'string'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list samples request.

        
        

        - **samples** *(list) --* 

          Information about the samples.

          
          

          - *(dict) --* 

            Represents a sample of performance data.

            
            

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

              The sample's ARN.

              
            

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

              The sample's type.

               

              Must be one of the following values:

               

               
              * CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.
               
              * MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.
               
              * NATIVE_AVG_DRAWTIME
               
              * NATIVE_FPS
               
              * NATIVE_FRAMES
               
              * NATIVE_MAX_DRAWTIME
               
              * NATIVE_MIN_DRAWTIME
               
              * OPENGL_AVG_DRAWTIME
               
              * OPENGL_FPS
               
              * OPENGL_FRAMES
               
              * OPENGL_MAX_DRAWTIME
               
              * OPENGL_MIN_DRAWTIME
               
              * RX
               
              * RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.
               
              * THREADS: A threads sample type. This is expressed as the total number of threads per app process.
               
              * TX
               
              * TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.
               

              
            

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

              The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_suites(**kwargs)

    

    Gets information about suites.

    

    **Request Syntax** 
    ::

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

      The suites' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'suites': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                    'created': datetime(2015, 1, 1),
                    'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                    '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'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list suites request.

        
        

        - **suites** *(list) --* 

          Information about the suites.

          
          

          - *(dict) --* 

            Represents a collection of one or more tests.

            
            

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

              The suite's ARN.

              
            

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

              The suite's name.

              
            

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

              The suite's type.

               

              Must be one of the following values:

               

               
              * BUILTIN_FUZZ: The built-in fuzz type.
               
              * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
               
              * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
               
              * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
               
              * CALABASH: The Calabash type.
               
              * INSTRUMENTATION: The Instrumentation type.
               
              * UIAUTOMATION: The uiautomation type.
               
              * UIAUTOMATOR: The uiautomator type.
               
              * XCTEST: The XCode test type.
               

              
            

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

              When the suite was created.

              
            

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

              The suite's status.

               

              Allowed values include:

               

               
              * COMPLETED: A completed status.
               
              * PENDING: A pending status.
               
              * PROCESSING: A processing status.
               
              * RUNNING: A running status.
               
              * SCHEDULING: A scheduling status.
               

              
            

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

              The suite's result.

               

              Allowed values include:

               

               
              * ERRORED: An error condition.
               
              * FAILED: A failed condition.
               
              * SKIPPED: A skipped condition.
               
              * STOPPED: A stopped condition.
               
              * PASSED: A passing condition.
               
              * PENDING: A pending condition.
               
              * WARNED: A warning condition.
               

              
            

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

              The suite's start time.

              
            

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

              The suite's stop time.

              
            

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

              The suite'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 suite's result.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_tests(**kwargs)

    

    Gets information about tests.

    

    **Request Syntax** 
    ::

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

      The tests' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'tests': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                    'created': datetime(2015, 1, 1),
                    'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                    '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'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list tests request.

        
        

        - **tests** *(list) --* 

          Information about the tests.

          
          

          - *(dict) --* 

            Represents a condition that is evaluated.

            
            

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

              The test's ARN.

              
            

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

              The test's name.

              
            

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

              The test's type.

               

              Must be one of the following values:

               

               
              * BUILTIN_FUZZ: The built-in fuzz type.
               
              * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
               
              * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
               
              * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
               
              * CALABASH: The Calabash type.
               
              * INSTRUMENTATION: The Instrumentation type.
               
              * UIAUTOMATION: The uiautomation type.
               
              * UIAUTOMATOR: The uiautomator type.
               
              * XCTEST: The XCode test type.
               

              
            

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

              When the test was created.

              
            

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

              The test's status.

               

              Allowed values include:

               

               
              * COMPLETED: A completed status.
               
              * PENDING: A pending status.
               
              * PROCESSING: A processing status.
               
              * RUNNING: A running status.
               
              * SCHEDULING: A scheduling status.
               

              
            

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

              The test's result.

               

              Allowed values include:

               

               
              * ERRORED: An error condition.
               
              * FAILED: A failed condition.
               
              * SKIPPED: A skipped condition.
               
              * STOPPED: A stopped condition.
               
              * PASSED: A passing condition.
               
              * PENDING: A pending condition.
               
              * WARNED: A warning condition.
               

              
            

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

              The test's start time.

              
            

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

              The test's stop time.

              
            

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

              The test'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 test's result.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_unique_problems(**kwargs)

    

    Gets information about unique problems.

    

    **Request Syntax** 
    ::

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

      The unique problems' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'uniqueProblems': {
                'string': [
                    {
                        'message': 'string',
                        'problems': [
                            {
                                'run': {
                                    'arn': 'string',
                                    'name': 'string'
                                },
                                'job': {
                                    'arn': 'string',
                                    'name': 'string'
                                },
                                'suite': {
                                    'arn': 'string',
                                    'name': 'string'
                                },
                                'test': {
                                    'arn': 'string',
                                    'name': 'string'
                                },
                                'device': {
                                    'arn': 'string',
                                    'name': 'string',
                                    'manufacturer': 'string',
                                    'model': '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'
                                },
                                'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED',
                                'message': 'string'
                            },
                        ]
                    },
                ]
            },
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list unique problems request.

        
        

        - **uniqueProblems** *(dict) --* 

          Information about the unique problems.

           

          Allowed values include:

           

           
          * ERRORED: An error condition.
           
          * FAILED: A failed condition.
           
          * SKIPPED: A skipped condition.
           
          * STOPPED: A stopped condition.
           
          * PASSED: A passing condition.
           
          * PENDING: A pending condition.
           
          * WARNED: A warning condition.
           

          
          

          - *(string) --* 
            

            - *(list) --* 
              

              - *(dict) --* 

                A collection of one or more problems, grouped by their result.

                
                

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

                  A message about the unique problems' result.

                  
                

                - **problems** *(list) --* 

                  Information about the problems.

                  
                  

                  - *(dict) --* 

                    Represents a specific warning or failure.

                    
                    

                    - **run** *(dict) --* 

                      Information about the associated run.

                      
                      

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

                        The problem detail's ARN.

                        
                      

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

                        The problem detail's name.

                        
                  
                    

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

                      Information about the associated job.

                      
                      

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

                        The problem detail's ARN.

                        
                      

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

                        The problem detail's name.

                        
                  
                    

                    - **suite** *(dict) --* 

                      Information about the associated suite.

                      
                      

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

                        The problem detail's ARN.

                        
                      

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

                        The problem detail's name.

                        
                  
                    

                    - **test** *(dict) --* 

                      Information about the associated test.

                      
                      

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

                        The problem detail's ARN.

                        
                      

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

                        The problem detail's name.

                        
                  
                    

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

                      Information about the associated device.

                      
                      

                      - **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.

                        
                      

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

                        The device's form factor.

                         

                        Allowed values include:

                         

                         
                        * PHONE: The phone form factor.
                         
                        * TABLET: The tablet form factor.
                         

                        
                      

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

                        The device's platform.

                         

                        Allowed values include:

                         

                         
                        * ANDROID: The Android platform.
                         
                        * IOS: The iOS platform.
                         

                        
                      

                      - **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) --* 

                        Represents the screen resolution of a device in height and width, expressed in pixels.

                        
                        

                        - **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.

                        
                  
                    

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

                      The problem's result.

                       

                      Allowed values include:

                       

                       
                      * ERRORED: An error condition.
                       
                      * FAILED: A failed condition.
                       
                      * SKIPPED: A skipped condition.
                       
                      * STOPPED: A stopped condition.
                       
                      * PASSED: A passing condition.
                       
                      * PENDING: A pending condition.
                       
                      * WARNED: A warning condition.
                       

                      
                    

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

                      A message about the problem's result.

                      
                
              
            
          
      
    
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: list_uploads(**kwargs)

    

    Gets information about uploads.

    

    **Request Syntax** 
    ::

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

      The uploads' ARNs.

      

    
    :type nextToken: string
    :param nextToken: 

      An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

      

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

      
      ::

        {
            'uploads': [
                {
                    'arn': 'string',
                    'name': 'string',
                    'created': datetime(2015, 1, 1),
                    'type': 'ANDROID_APP'|'IOS_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE',
                    'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
                    'url': 'string',
                    'metadata': 'string',
                    'contentType': 'string',
                    'message': 'string'
                },
            ],
            'nextToken': 'string'
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a list uploads request.

        
        

        - **uploads** *(list) --* 

          Information about the uploads.

          
          

          - *(dict) --* 

            An app or a set of one or more tests to upload or that have been uploaded.

            
            

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

              The upload's ARN.

              
            

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

              The upload's file name.

              
            

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

              When the upload was created.

              
            

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

              The upload's type.

               

              Must be one of the following values:

               

               
              * ANDROID_APP: An Android upload.
               
              * IOS_APP: An iOS upload.
               
              * EXTERNAL_DATA: An external data upload.
               
              * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
               
              * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
               
              * CALABASH_TEST_PACKAGE: A Calabash test package upload.
               
              * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
               
              * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
               
              * XCTEST_TEST_PACKAGE: An XCode test package upload.
               

              
            

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

              The upload's status.

               

              Must be one of the following values:

               

               
              * FAILED: A failed status.
               
              * INITIALIZED: An initialized status.
               
              * PROCESSING: A processing status.
               
              * SUCCEEDED: A succeeded status.
               

              
            

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

              The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.

              
            

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

              The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.

              
            

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

              The upload's content type (for example, "application/octet-stream").

              
            

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

              A message about the upload's result.

              
        
      
        

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

          If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

          
    

  .. py:method:: schedule_run(**kwargs)

    

    Schedules a run.

    

    **Request Syntax** 
    ::

      response = client.schedule_run(
          projectArn='string',
          appArn='string',
          devicePoolArn='string',
          name='string',
          test={
              'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
              'testPackageArn': 'string',
              'filter': 'string',
              'parameters': {
                  'string': 'string'
              }
          },
          configuration={
              'extraDataPackageArn': 'string',
              'networkProfileArn': 'string',
              'locale': 'string',
              'location': {
                  'latitude': 123.0,
                  'longitude': 123.0
              },
              'radios': {
                  'wifi': True|False,
                  'bluetooth': True|False,
                  'nfc': True|False,
                  'gps': True|False
              },
              'auxiliaryApps': [
                  'string',
              ],
              'billingMethod': 'METERED'|'UNMETERED'
          }
      )
    :type projectArn: string
    :param projectArn: **[REQUIRED]** 

      The ARN of the project for the run to be scheduled.

      

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

      The ARN of the app to schedule a run.

      

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

      The ARN of the device pool for the run to be scheduled.

      

    
    :type name: string
    :param name: 

      The name for the run to be scheduled.

      

    
    :type test: dict
    :param test: **[REQUIRED]** 

      Information about the test for the run to be scheduled.

      

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

        The test's type.

         

        Must be one of the following values:

         

         
        * BUILTIN_FUZZ: The built-in fuzz type.
         
        * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
         
        * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
         
        * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
         
        * CALABASH: The Calabash type.
         
        * INSTRUMENTATION: The Instrumentation type.
         
        * UIAUTOMATION: The uiautomation type.
         
        * UIAUTOMATOR: The uiautomator type.
         
        * XCTEST: The XCode test type.
         

        

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

        The ARN of the uploaded test that will be run.

        

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

        The test's filter.

        

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

        The test's parameters, such as test framework parameters and fixture settings.

        

      
        - *(string) --* 

        
          - *(string) --* 

          
    
  
    
    :type configuration: dict
    :param configuration: 

      Information about the settings for the run to be scheduled.

      

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

        The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.

        

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

        Reserved for internal use.

        

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

        Information about the locale that is used for the run.

        

      
      - **location** *(dict) --* 

        Information about the location that is used for the run.

        

      
        - **latitude** *(float) --* **[REQUIRED]** 

          The latitude.

          

        
        - **longitude** *(float) --* **[REQUIRED]** 

          The longitude.

          

        
      
      - **radios** *(dict) --* 

        Information about the radio states for the run.

        

      
        - **wifi** *(boolean) --* 

          True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

          

        
        - **bluetooth** *(boolean) --* 

          True if Bluetooth is enabled at the beginning of the test; otherwise, false.

          

        
        - **nfc** *(boolean) --* 

          True if NFC is enabled at the beginning of the test; otherwise, false.

          

        
        - **gps** *(boolean) --* 

          True if GPS is enabled at the beginning of the test; otherwise, false.

          

        
      
      - **auxiliaryApps** *(list) --* 

        A list of auxiliary apps for the run.

        

      
        - *(string) --* 

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

        Specifies the billing method for a test run: ``metered`` or ``unmetered`` . If the parameter is not specified, the default value is ``unmetered`` .

        

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

      
      ::

        {
            'run': {
                'arn': 'string',
                'name': 'string',
                'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST',
                'platform': 'ANDROID'|'IOS',
                'created': datetime(2015, 1, 1),
                'status': 'PENDING'|'PROCESSING'|'SCHEDULING'|'RUNNING'|'COMPLETED',
                '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',
                'totalJobs': 123,
                'completedJobs': 123,
                'billingMethod': 'METERED'|'UNMETERED'
            }
        }
      **Response Structure** 

      

      - *(dict) --* 

        Represents the result of a schedule run request.

        
        

        - **run** *(dict) --* 

          Information about the scheduled run.

          
          

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

            The run's ARN.

            
          

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

            The run's name.

            
          

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

            The run's type.

             

            Must be one of the following values:

             

             
            * BUILTIN_FUZZ: The built-in fuzz type.
             
            * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
             
            * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
             
            * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
             
            * CALABASH: The Calabash type.
             
            * INSTRUMENTATION: The Instrumentation type.
             
            * UIAUTOMATION: The uiautomation type.
             
            * UIAUTOMATOR: The uiautomator type.
             
            * XCTEST: The XCode test type.
             

            
          

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

            The run's platform.

             

            Allowed values include:

             

             
            * ANDROID: The Android platform.
             
            * IOS: The iOS platform.
             

            
          

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

            When the run was created.

            
          

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

            The run's status.

             

            Allowed values include:

             

             
            * COMPLETED: A completed status.
             
            * PENDING: A pending status.
             
            * PROCESSING: A processing status.
             
            * RUNNING: A running status.
             
            * SCHEDULING: A scheduling status.
             

            
          

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

            The run's result.

             

            Allowed values include:

             

             
            * ERRORED: An error condition.
             
            * FAILED: A failed condition.
             
            * SKIPPED: A skipped condition.
             
            * STOPPED: A stopped condition.
             
            * PASSED: A passing condition.
             
            * PENDING: A pending condition.
             
            * WARNED: A warning condition.
             

            
          

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

            The run's start time.

            
          

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

            The run's stop time.

            
          

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

            The run'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 run's result.

            
          

          - **totalJobs** *(integer) --* 

            The total number of jobs for the run.

            
          

          - **completedJobs** *(integer) --* 

            The total number of completed jobs.

            
          

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

            Specifies the billing method for a test run: ``metered`` or ``unmetered`` . If the parameter is not specified, the default value is ``unmetered`` .

            
      
    