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

**********
get_device
**********



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

  

  Gets information about a unique device type.

  

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


  **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',
              'modelId': 'string',
              'formFactor': 'PHONE'|'TABLET',
              'platform': 'ANDROID'|'IOS',
              'os': 'string',
              'cpu': {
                  'frequency': 'string',
                  'architecture': 'string',
                  'clock': 123.0
              },
              'resolution': {
                  'width': 123,
                  'height': 123
              },
              'heapSize': 123,
              'memory': 123,
              'image': 'string',
              'carrier': 'string',
              'radio': 'string',
              'remoteAccessEnabled': True|False,
              'remoteDebugEnabled': True|False,
              'fleetType': 'string',
              'fleetName': 'string',
              'instances': [
                  {
                      'arn': 'string',
                      'deviceArn': 'string',
                      'labels': [
                          'string',
                      ],
                      'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE',
                      'udid': 'string',
                      'instanceProfile': {
                          'arn': 'string',
                          'packageCleanup': True|False,
                          'excludeAppPackagesFromCleanup': [
                              'string',
                          ],
                          'rebootAfterUse': True|False,
                          'name': 'string',
                          'description': 'string'
                      }
                  },
              ],
              'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Represents the result of a get device request.

      
      

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

        An object that contains information about the requested 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.

          
        

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

          The device's model ID.

          
        

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

          The device's form factor.

           

          Allowed values include:

           

          
          * PHONE
           
          * TABLET
          

          
        

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

          The device's platform.

           

          Allowed values include:

           

          
          * ANDROID
           
          * IOS
          

          
        

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

          The device's operating system type.

          
        

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

          Information about the device's CPU.

          
          

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

            The CPU's frequency.

            
          

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

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

            
          

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

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

            
      
        

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

          The resolution of the device.

          
          

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

            The screen resolution's width, expressed in pixels.

            
          

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

            The screen resolution's height, expressed in pixels.

            
      
        

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

          The device's heap size, expressed in bytes.

          
        

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

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

          
        

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

          The device's image name.

          
        

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

          The device's carrier.

          
        

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

          The device's radio.

          
        

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

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

          
        

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

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

           

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

          
        

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

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

          
        

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

          The name of the fleet to which this device belongs.

          
        

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

          The instances that belong to this device.

          
          

          - *(dict) --* 

            Represents the device instance.

            
            

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

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

              
            

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

              The ARN of the device.

              
            

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

              An array of strings that describe the device instance.

              
              

              - *(string) --* 
          
            

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

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

              
            

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

              Unique device identifier for the device instance.

              
            

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

              A object that contains information about the instance profile.

              
              

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

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

                
              

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

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

                
              

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

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

                 

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

                
                

                - *(string) --* 
            
              

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

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

                
              

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

                The name of the instance profile.

                
              

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

                The description of the instance profile.

                
          
        
      
        

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

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

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

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

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

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

  

  **Examples**

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

    response = client.get_device(
        arn='arn:aws:devicefarm:us-west-2::device:123EXAMPLE',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'device': {
            'name': 'LG G2 (Sprint)',
            'arn': 'arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C',
            'cpu': {
                'architecture': 'armeabi-v7a',
                'clock': 2265.6,
                'frequency': 'MHz',
            },
            'formFactor': 'PHONE',
            'heapSize': 256000000,
            'image': '75B2B7EF6C12345EXAMPLE',
            'manufacturer': 'LG',
            'memory': 16000000000,
            'model': 'G2 (Sprint)',
            'os': '4.2.2',
            'platform': 'ANDROID',
            'resolution': {
                'height': 1920,
                'width': 1080,
            },
        },
        'ResponseMetadata': {
            '...': '...',
        },
    }

  