get_device

get_device(**kwargs)

Gets information about a unique device type.

See also: AWS API Documentation

Request Syntax

response = client.get_device(
    arn='string'
)
Parameters
arn (string) --

[REQUIRED]

The device type's ARN.

Return type
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.

      • 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

  • DeviceFarm.Client.exceptions.ArgumentException
  • DeviceFarm.Client.exceptions.NotFoundException
  • DeviceFarm.Client.exceptions.LimitExceededException
  • 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': {
        '...': '...',
    },
}