The AWS SDK for JavaScript v2 has reached end-of-support.
We recommend that you migrate to AWS SDK for JavaScript v3. For additional details and information on how to migrate, please refer to the announcement.

Class: AWS.DeviceFarm

Inherits:
AWS.Service show all
Identifier:
devicefarm
API Version:
2015-06-23
Defined in:
(unknown)

Overview

Constructs a service interface object. Each API operation is exposed as a function on service.

Service Description

Welcome to the AWS Device Farm API documentation, which contains APIs for:

  • Testing on desktop browsers

    Device Farm makes it possible for you to test your web applications on desktop browsers using Selenium. The APIs for desktop browser testing contain TestGrid in their names. For more information, see Testing Web Applications on Selenium with Device Farm.

  • Testing on real mobile devices

    Device Farm makes it possible for you to test apps on physical phones, tablets, and other devices in the cloud. For more information, see the Device Farm Developer Guide.

Sending a Request Using DeviceFarm

var devicefarm = new AWS.DeviceFarm();
devicefarm.createDevicePool(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Locking the API Version

In order to ensure that the DeviceFarm object uses this specific API, you can construct the object by passing the apiVersion option to the constructor:

var devicefarm = new AWS.DeviceFarm({apiVersion: '2015-06-23'});

You can also set the API version globally in AWS.config.apiVersions using the devicefarm service identifier:

AWS.config.apiVersions = {
  devicefarm: '2015-06-23',
  // other service API versions
};

var devicefarm = new AWS.DeviceFarm();

Version:

  • 2015-06-23

Constructor Summary collapse

Property Summary collapse

Properties inherited from AWS.Service

apiVersions

Method Summary collapse

Methods inherited from AWS.Service

makeRequest, makeUnauthenticatedRequest, waitFor, setupRequestListeners, defineService

Constructor Details

new AWS.DeviceFarm(options = {}) ⇒ Object

Constructs a service object. This object has one method for each API operation.

Examples:

Constructing a DeviceFarm object

var devicefarm = new AWS.DeviceFarm({apiVersion: '2015-06-23'});

Options Hash (options):

  • params (map)

    An optional map of parameters to bind to every request sent by this service object. For more information on bound parameters, see "Working with Services" in the Getting Started Guide.

  • endpoint (String|AWS.Endpoint)

    The endpoint URI to send requests to. The default endpoint is built from the configured region. The endpoint should be a string like 'https://{service}.{region}.amazonaws.com' or an Endpoint object.

  • accessKeyId (String)

    your AWS access key ID.

  • secretAccessKey (String)

    your AWS secret access key.

  • sessionToken (AWS.Credentials)

    the optional AWS session token to sign requests with.

  • credentials (AWS.Credentials)

    the AWS credentials to sign requests with. You can either specify this object, or specify the accessKeyId and secretAccessKey options directly.

  • credentialProvider (AWS.CredentialProviderChain)

    the provider chain used to resolve credentials if no static credentials property is set.

  • region (String)

    the region to send service requests to. See AWS.DeviceFarm.region for more information.

  • maxRetries (Integer)

    the maximum amount of retries to attempt with a request. See AWS.DeviceFarm.maxRetries for more information.

  • maxRedirects (Integer)

    the maximum amount of redirects to follow with a request. See AWS.DeviceFarm.maxRedirects for more information.

  • sslEnabled (Boolean)

    whether to enable SSL for requests.

  • paramValidation (Boolean|map)

    whether input parameters should be validated against the operation description before sending the request. Defaults to true. Pass a map to enable any of the following specific validation features:

    • min [Boolean] — Validates that a value meets the min constraint. This is enabled by default when paramValidation is set to true.
    • max [Boolean] — Validates that a value meets the max constraint.
    • pattern [Boolean] — Validates that a string value matches a regular expression.
    • enum [Boolean] — Validates that a string value matches one of the allowable enum values.
  • computeChecksums (Boolean)

    whether to compute checksums for payload bodies when the service accepts it (currently supported in S3 only)

  • convertResponseTypes (Boolean)

    whether types are converted when parsing response data. Currently only supported for JSON based services. Turning this off may improve performance on large response payloads. Defaults to true.

  • correctClockSkew (Boolean)

    whether to apply a clock skew correction and retry requests that fail because of an skewed client clock. Defaults to false.

  • s3ForcePathStyle (Boolean)

    whether to force path style URLs for S3 objects.

  • s3BucketEndpoint (Boolean)

    whether the provided endpoint addresses an individual bucket (false if it addresses the root API endpoint). Note that setting this configuration option requires an endpoint to be provided explicitly to the service constructor.

  • s3DisableBodySigning (Boolean)

    whether S3 body signing should be disabled when using signature version v4. Body signing can only be disabled when using https. Defaults to true.

  • s3UsEast1RegionalEndpoint ('legacy'|'regional')

    when region is set to 'us-east-1', whether to send s3 request to global endpoints or 'us-east-1' regional endpoints. This config is only applicable to S3 client. Defaults to legacy

  • s3UseArnRegion (Boolean)

    whether to override the request region with the region inferred from requested resource's ARN. Only available for S3 buckets Defaults to true

  • retryDelayOptions (map)

    A set of options to configure the retry delay on retryable errors. Currently supported options are:

    • base [Integer] — The base number of milliseconds to use in the exponential backoff for operation retries. Defaults to 100 ms for all services except DynamoDB, where it defaults to 50ms.
    • customBackoff [function] — A custom function that accepts a retry count and error and returns the amount of time to delay in milliseconds. If the result is a non-zero negative value, no further retry attempts will be made. The base option will be ignored if this option is supplied. The function is only called for retryable errors.
  • httpOptions (map)

    A set of options to pass to the low-level HTTP request. Currently supported options are:

    • proxy [String] — the URL to proxy requests through
    • agent [http.Agent, https.Agent] — the Agent object to perform HTTP requests with. Used for connection pooling. Defaults to the global agent (http.globalAgent) for non-SSL connections. Note that for SSL connections, a special Agent object is used in order to enable peer certificate verification. This feature is only available in the Node.js environment.
    • connectTimeout [Integer] — Sets the socket to timeout after failing to establish a connection with the server after connectTimeout milliseconds. This timeout has no effect once a socket connection has been established.
    • timeout [Integer] — Sets the socket to timeout after timeout milliseconds of inactivity on the socket. Defaults to two minutes (120000).
    • xhrAsync [Boolean] — Whether the SDK will send asynchronous HTTP requests. Used in the browser environment only. Set to false to send requests synchronously. Defaults to true (async on).
    • xhrWithCredentials [Boolean] — Sets the "withCredentials" property of an XMLHttpRequest object. Used in the browser environment only. Defaults to false.
  • apiVersion (String, Date)

    a String in YYYY-MM-DD format (or a date) that represents the latest possible API version that can be used in all services (unless overridden by apiVersions). Specify 'latest' to use the latest possible version.

  • apiVersions (map<String, String|Date>)

    a map of service identifiers (the lowercase service class name) with the API version to use when instantiating a service. Specify 'latest' for each individual that can use the latest available version.

  • logger (#write, #log)

    an object that responds to .write() (like a stream) or .log() (like the console object) in order to log information about requests

  • systemClockOffset (Number)

    an offset value in milliseconds to apply to all signing times. Use this to compensate for clock skew when your system may be out of sync with the service time. Note that this configuration option can only be applied to the global AWS.config object and cannot be overridden in service-specific configuration. Defaults to 0 milliseconds.

  • signatureVersion (String)

    the signature version to sign requests with (overriding the API configuration). Possible values are: 'v2', 'v3', 'v4'.

  • signatureCache (Boolean)

    whether the signature to sign requests with (overriding the API configuration) is cached. Only applies to the signature version 'v4'. Defaults to true.

  • dynamoDbCrc32 (Boolean)

    whether to validate the CRC32 checksum of HTTP response bodies returned by DynamoDB. Default: true.

  • useAccelerateEndpoint (Boolean)

    Whether to use the S3 Transfer Acceleration endpoint with the S3 service. Default: false.

  • clientSideMonitoring (Boolean)

    whether to collect and publish this client's performance metrics of all its API requests.

  • endpointDiscoveryEnabled (Boolean|undefined)

    whether to call operations with endpoints given by service dynamically. Setting this

  • endpointCacheSize (Number)

    the size of the global cache storing endpoints from endpoint discovery operations. Once endpoint cache is created, updating this setting cannot change existing cache size. Defaults to 1000

  • hostPrefixEnabled (Boolean)

    whether to marshal request parameters to the prefix of hostname. Defaults to true.

  • stsRegionalEndpoints ('legacy'|'regional')

    whether to send sts request to global endpoints or regional endpoints. Defaults to 'legacy'.

  • useFipsEndpoint (Boolean)

    Enables FIPS compatible endpoints. Defaults to false.

  • useDualstackEndpoint (Boolean)

    Enables IPv6 dualstack endpoint. Defaults to false.

Property Details

endpointAWS.Endpoint (readwrite)

Returns an Endpoint object representing the endpoint URL for service requests.

Returns:

  • (AWS.Endpoint)

    an Endpoint object representing the endpoint URL for service requests.

Method Details

createDevicePool(params = {}, callback) ⇒ AWS.Request

Creates a device pool.

Service Reference:

Examples:

To create a new device pool


/* The following example creates a new device pool named MyDevicePool inside an existing project. */

 var params = {
  name: "MyDevicePool", // A device pool contains related devices, such as devices that run only on Android or that run only on iOS.
  description: "My Android devices", 
  projectArn: "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", // You can get the project ARN by using the list-projects CLI command.
  rules: [
  ]
 };
 devicefarm.createDevicePool(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    devicePool: {
    }
   }
   */
 });

Calling the createDevicePool operation

var params = {
  name: 'STRING_VALUE', /* required */
  projectArn: 'STRING_VALUE', /* required */
  rules: [ /* required */
    {
      attribute: ARN | PLATFORM | FORM_FACTOR | MANUFACTURER | REMOTE_ACCESS_ENABLED | REMOTE_DEBUG_ENABLED | APPIUM_VERSION | INSTANCE_ARN | INSTANCE_LABELS | FLEET_TYPE | OS_VERSION | MODEL | AVAILABILITY,
      operator: EQUALS | LESS_THAN | LESS_THAN_OR_EQUALS | GREATER_THAN | GREATER_THAN_OR_EQUALS | IN | NOT_IN | CONTAINS,
      value: 'STRING_VALUE'
    },
    /* more items */
  ],
  description: 'STRING_VALUE',
  maxDevices: 'NUMBER_VALUE'
};
devicefarm.createDevicePool(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • projectArn — (String)

      The ARN of the project for the device pool.

    • name — (String)

      The device pool's name.

    • description — (String)

      The device pool's description.

    • rules — (Array<map>)

      The device pool's rules.

      • attribute — (String)

        The rule's stringified attribute. For example, specify the value as "\"abc\"".

        The supported operators for each attribute are provided in the following list.

        APPIUM_VERSION

        The Appium version for the test.

        Supported operators: CONTAINS

        ARN

        The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.

        Supported operators: EQUALS, IN, NOT_IN

        AVAILABILITY

        The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

        Supported operators: EQUALS

        FLEET_TYPE

        The fleet type. Valid values are PUBLIC or PRIVATE.

        Supported operators: EQUALS

        FORM_FACTOR

        The device form factor. Valid values are PHONE or TABLET.

        Supported operators: EQUALS, IN, NOT_IN

        INSTANCE_ARN

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

        Supported operators: IN, NOT_IN

        INSTANCE_LABELS

        The label of the device instance.

        Supported operators: CONTAINS

        MANUFACTURER

        The device manufacturer (for example, Apple).

        Supported operators: EQUALS, IN, NOT_IN

        MODEL

        The device model, such as Apple iPad Air 2 or Google Pixel.

        Supported operators: CONTAINS, EQUALS, IN, NOT_IN

        OS_VERSION

        The operating system version (for example, 10.3.2).

        Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

        PLATFORM

        The device platform. Valid values are ANDROID or IOS.

        Supported operators: EQUALS, IN, NOT_IN

        REMOTE_ACCESS_ENABLED

        Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

        Supported operators: EQUALS

        REMOTE_DEBUG_ENABLED

        Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.

        Supported operators: EQUALS

        Because remote debugging is no longer supported, this filter is ignored.

        Possible values include:
        • "ARN"
        • "PLATFORM"
        • "FORM_FACTOR"
        • "MANUFACTURER"
        • "REMOTE_ACCESS_ENABLED"
        • "REMOTE_DEBUG_ENABLED"
        • "APPIUM_VERSION"
        • "INSTANCE_ARN"
        • "INSTANCE_LABELS"
        • "FLEET_TYPE"
        • "OS_VERSION"
        • "MODEL"
        • "AVAILABILITY"
      • operator — (String)

        Specifies how Device Farm compares the rule's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

        Possible values include:
        • "EQUALS"
        • "LESS_THAN"
        • "LESS_THAN_OR_EQUALS"
        • "GREATER_THAN"
        • "GREATER_THAN_OR_EQUALS"
        • "IN"
        • "NOT_IN"
        • "CONTAINS"
      • value — (String)

        The rule's value.

    • maxDevices — (Integer)

      The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

      By specifying the maximum number of devices, you can control the costs that you incur by running tests.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • devicePool — (map)

        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.

          Possible values include:
          • "CURATED"
          • "PRIVATE"
        • rules — (Array<map>)

          Information about the device pool's rules.

          • attribute — (String)

            The rule's stringified attribute. For example, specify the value as "\"abc\"".

            The supported operators for each attribute are provided in the following list.

            APPIUM_VERSION

            The Appium version for the test.

            Supported operators: CONTAINS

            ARN

            The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.

            Supported operators: EQUALS, IN, NOT_IN

            AVAILABILITY

            The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

            Supported operators: EQUALS

            FLEET_TYPE

            The fleet type. Valid values are PUBLIC or PRIVATE.

            Supported operators: EQUALS

            FORM_FACTOR

            The device form factor. Valid values are PHONE or TABLET.

            Supported operators: EQUALS, IN, NOT_IN

            INSTANCE_ARN

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

            Supported operators: IN, NOT_IN

            INSTANCE_LABELS

            The label of the device instance.

            Supported operators: CONTAINS

            MANUFACTURER

            The device manufacturer (for example, Apple).

            Supported operators: EQUALS, IN, NOT_IN

            MODEL

            The device model, such as Apple iPad Air 2 or Google Pixel.

            Supported operators: CONTAINS, EQUALS, IN, NOT_IN

            OS_VERSION

            The operating system version (for example, 10.3.2).

            Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

            PLATFORM

            The device platform. Valid values are ANDROID or IOS.

            Supported operators: EQUALS, IN, NOT_IN

            REMOTE_ACCESS_ENABLED

            Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

            Supported operators: EQUALS

            REMOTE_DEBUG_ENABLED

            Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.

            Supported operators: EQUALS

            Because remote debugging is no longer supported, this filter is ignored.

            Possible values include:
            • "ARN"
            • "PLATFORM"
            • "FORM_FACTOR"
            • "MANUFACTURER"
            • "REMOTE_ACCESS_ENABLED"
            • "REMOTE_DEBUG_ENABLED"
            • "APPIUM_VERSION"
            • "INSTANCE_ARN"
            • "INSTANCE_LABELS"
            • "FLEET_TYPE"
            • "OS_VERSION"
            • "MODEL"
            • "AVAILABILITY"
          • operator — (String)

            Specifies how Device Farm compares the rule's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

            Possible values include:
            • "EQUALS"
            • "LESS_THAN"
            • "LESS_THAN_OR_EQUALS"
            • "GREATER_THAN"
            • "GREATER_THAN_OR_EQUALS"
            • "IN"
            • "NOT_IN"
            • "CONTAINS"
          • value — (String)

            The rule's value.

        • maxDevices — (Integer)

          The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

          By specifying the maximum number of devices, you can control the costs that you incur by running tests.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createInstanceProfile(params = {}, callback) ⇒ AWS.Request

Creates a profile that can be applied to one or more private fleet device instances.

Service Reference:

Examples:

Calling the createInstanceProfile operation

var params = {
  name: 'STRING_VALUE', /* required */
  description: 'STRING_VALUE',
  excludeAppPackagesFromCleanup: [
    'STRING_VALUE',
    /* more items */
  ],
  packageCleanup: true || false,
  rebootAfterUse: true || false
};
devicefarm.createInstanceProfile(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • name — (String)

      The name of your instance profile.

    • description — (String)

      The description of your 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 — (Array<String>)

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

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

    • rebootAfterUse — (Boolean)

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

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • instanceProfile — (map)

        An object that contains information about your 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 — (Array<String>)

          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.

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

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createNetworkProfile(params = {}, callback) ⇒ AWS.Request

Creates a network profile.

Service Reference:

Examples:

Calling the createNetworkProfile operation

var params = {
  name: 'STRING_VALUE', /* required */
  projectArn: 'STRING_VALUE', /* required */
  description: 'STRING_VALUE',
  downlinkBandwidthBits: 'NUMBER_VALUE',
  downlinkDelayMs: 'NUMBER_VALUE',
  downlinkJitterMs: 'NUMBER_VALUE',
  downlinkLossPercent: 'NUMBER_VALUE',
  type: CURATED | PRIVATE,
  uplinkBandwidthBits: 'NUMBER_VALUE',
  uplinkDelayMs: 'NUMBER_VALUE',
  uplinkJitterMs: 'NUMBER_VALUE',
  uplinkLossPercent: 'NUMBER_VALUE'
};
devicefarm.createNetworkProfile(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • projectArn — (String)

      The Amazon Resource Name (ARN) of the project for which you want to create a network profile.

    • name — (String)

      The name for the new network profile.

    • description — (String)

      The description of the network profile.

    • type — (String)

      The type of network profile to create. Valid values are listed here.

      Possible values include:
      • "CURATED"
      • "PRIVATE"
    • uplinkBandwidthBits — (Integer)

      The data throughput rate in bits per second, as an integer from 0 to 104857600.

    • downlinkBandwidthBits — (Integer)

      The data throughput rate in bits per second, as an integer from 0 to 104857600.

    • uplinkDelayMs — (Integer)

      Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

    • downlinkDelayMs — (Integer)

      Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

    • uplinkJitterMs — (Integer)

      Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

    • downlinkJitterMs — (Integer)

      Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

    • uplinkLossPercent — (Integer)

      Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

    • downlinkLossPercent — (Integer)

      Proportion of received packets that fail to arrive from 0 to 100 percent.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • networkProfile — (map)

        The network profile that is returned by the create network profile request.

        • arn — (String)

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

        • name — (String)

          The name of the network profile.

        • description — (String)

          The description of the network profile.

        • type — (String)

          The type of network profile. Valid values are listed here.

          Possible values include:
          • "CURATED"
          • "PRIVATE"
        • uplinkBandwidthBits — (Integer)

          The data throughput rate in bits per second, as an integer from 0 to 104857600.

        • downlinkBandwidthBits — (Integer)

          The data throughput rate in bits per second, as an integer from 0 to 104857600.

        • uplinkDelayMs — (Integer)

          Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

        • downlinkDelayMs — (Integer)

          Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

        • uplinkJitterMs — (Integer)

          Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

        • downlinkJitterMs — (Integer)

          Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

        • uplinkLossPercent — (Integer)

          Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

        • downlinkLossPercent — (Integer)

          Proportion of received packets that fail to arrive from 0 to 100 percent.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createProject(params = {}, callback) ⇒ AWS.Request

Creates a project.

Service Reference:

Examples:

To create a new project


/* The following example creates a new project named MyProject. */

 var params = {
  name: "MyProject"// A project in Device Farm is a workspace that contains test runs. A run is a test of a single app against one or more devices.
 };
 devicefarm.createProject(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    project: {
     name: "MyProject", 
     arn: "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", 
     created: <Date Representation>
    }
   }
   */
 });

Calling the createProject operation

var params = {
  name: 'STRING_VALUE', /* required */
  defaultJobTimeoutMinutes: 'NUMBER_VALUE',
  vpcConfig: {
    securityGroupIds: [ /* required */
      'STRING_VALUE',
      /* more items */
    ],
    subnetIds: [ /* required */
      'STRING_VALUE',
      /* more items */
    ],
    vpcId: 'STRING_VALUE' /* required */
  }
};
devicefarm.createProject(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • name — (String)

      The project's name.

    • defaultJobTimeoutMinutes — (Integer)

      Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run.

    • vpcConfig — (map)

      The VPC security groups and subnets that are attached to a project.

      • securityGroupIdsrequired — (Array<String>)

        An array of one or more security groups IDs in your Amazon VPC.

      • subnetIdsrequired — (Array<String>)

        An array of one or more subnet IDs in your Amazon VPC.

      • vpcIdrequired — (String)

        The ID of the Amazon VPC.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • project — (map)

        The newly created project.

        • arn — (String)

          The project's ARN.

        • name — (String)

          The project's name.

        • defaultJobTimeoutMinutes — (Integer)

          The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.

        • created — (Date)

          When the project was created.

        • vpcConfig — (map)

          The VPC security groups and subnets that are attached to a project.

          • securityGroupIdsrequired — (Array<String>)

            An array of one or more security groups IDs in your Amazon VPC.

          • subnetIdsrequired — (Array<String>)

            An array of one or more subnet IDs in your Amazon VPC.

          • vpcIdrequired — (String)

            The ID of the Amazon VPC.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createRemoteAccessSession(params = {}, callback) ⇒ AWS.Request

Specifies and starts a remote access session.

Service Reference:

Examples:

To create a remote access session


/* The following example creates a remote access session named MySession. */

 var params = {
  name: "MySession", 
  configuration: {
   billingMethod: "METERED"
  }, 
  deviceArn: "arn:aws:devicefarm:us-west-2::device:123EXAMPLE", // You can get the device ARN by using the list-devices CLI command.
  projectArn: "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456"// You can get the project ARN by using the list-projects CLI command.
 };
 devicefarm.createRemoteAccessSession(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    remoteAccessSession: {
    }
   }
   */
 });

Calling the createRemoteAccessSession operation

var params = {
  deviceArn: 'STRING_VALUE', /* required */
  projectArn: 'STRING_VALUE', /* required */
  clientId: 'STRING_VALUE',
  configuration: {
    billingMethod: METERED | UNMETERED,
    vpceConfigurationArns: [
      'STRING_VALUE',
      /* more items */
    ]
  },
  instanceArn: 'STRING_VALUE',
  interactionMode: INTERACTIVE | NO_VIDEO | VIDEO_ONLY,
  name: 'STRING_VALUE',
  remoteDebugEnabled: true || false,
  remoteRecordAppArn: 'STRING_VALUE',
  remoteRecordEnabled: true || false,
  skipAppResign: true || false,
  sshPublicKey: 'STRING_VALUE'
};
devicefarm.createRemoteAccessSession(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • projectArn — (String)

      The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.

    • deviceArn — (String)

      The ARN of the device for which you want to create a remote access session.

    • instanceArn — (String)

      The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.

    • sshPublicKey — (String)

      Ignored. The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if remoteDebugEnabled is set to true.

      Remote debugging is no longer supported.

    • remoteDebugEnabled — (Boolean)

      Set to true if you want to access devices remotely for debugging in your remote access session.

      Remote debugging is no longer supported.

    • remoteRecordEnabled — (Boolean)

      Set to true to enable remote recording for the remote access session.

    • remoteRecordAppArn — (String)

      The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

    • name — (String)

      The name of the remote access session to create.

    • clientId — (String)

      Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled is set to true.

      Remote debugging is no longer supported.

    • configuration — (map)

      The configuration information for the remote access session request.

      • billingMethod — (String)

        The billing method for the remote access session.

        Possible values include:
        • "METERED"
        • "UNMETERED"
      • vpceConfigurationArns — (Array<String>)

        An array of ARNs included in the VPC endpoint configuration.

    • interactionMode — (String)

      The interaction mode of the remote access session. Valid values are:

      • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

      • NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

      • VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

      Possible values include:
      • "INTERACTIVE"
      • "NO_VIDEO"
      • "VIDEO_ONLY"
    • skipAppResign — (Boolean)

      When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

      For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • remoteAccessSession — (map)

        A container that describes the remote access session when the request to create a remote access session is sent.

        • arn — (String)

          The Amazon Resource Name (ARN) of the remote access session.

        • name — (String)

          The name of the remote access session.

        • created — (Date)

          The date and time the remote access session was created.

        • status — (String)

          The status of the remote access session. Can be any of the following:

          • PENDING.

          • PENDING_CONCURRENCY.

          • PENDING_DEVICE.

          • PROCESSING.

          • SCHEDULING.

          • PREPARING.

          • RUNNING.

          • COMPLETED.

          • STOPPING.

          Possible values include:
          • "PENDING"
          • "PENDING_CONCURRENCY"
          • "PENDING_DEVICE"
          • "PROCESSING"
          • "SCHEDULING"
          • "PREPARING"
          • "RUNNING"
          • "COMPLETED"
          • "STOPPING"
        • result — (String)

          The result of the remote access session. Can be any of the following:

          • PENDING.

          • PASSED.

          • WARNED.

          • FAILED.

          • SKIPPED.

          • ERRORED.

          • STOPPED.

          Possible values include:
          • "PENDING"
          • "PASSED"
          • "WARNED"
          • "FAILED"
          • "SKIPPED"
          • "ERRORED"
          • "STOPPED"
        • message — (String)

          A message about the remote access session.

        • started — (Date)

          The date and time the remote access session was started.

        • stopped — (Date)

          The date and time the remote access session was stopped.

        • device — (map)

          The device (phone or tablet) used in the remote access session.

          • 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

            Possible values include:
            • "PHONE"
            • "TABLET"
          • platform — (String)

            The device's platform.

            Allowed values include:

            • ANDROID

            • IOS

            Possible values include:
            • "ANDROID"
            • "IOS"
          • os — (String)

            The device's operating system type.

          • cpu — (map)

            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 — (map)

            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 — (Array<map>)

            The instances that belong to this device.

            • arn — (String)

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

            • deviceArn — (String)

              The ARN of the device.

            • labels — (Array<String>)

              An array of strings that describe the device instance.

            • status — (String)

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

              Possible values include:
              • "IN_USE"
              • "PREPARING"
              • "AVAILABLE"
              • "NOT_AVAILABLE"
            • udid — (String)

              Unique device identifier for the device instance.

            • instanceProfile — (map)

              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 — (Array<String>)

                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.

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

            Possible values include:
            • "TEMPORARY_NOT_AVAILABLE"
            • "BUSY"
            • "AVAILABLE"
            • "HIGHLY_AVAILABLE"
        • instanceArn — (String)

          The ARN of the instance.

        • remoteDebugEnabled — (Boolean)

          This flag is set to true if remote debugging is enabled for the remote access session.

          Remote debugging is no longer supported.

        • remoteRecordEnabled — (Boolean)

          This flag is set to true if remote recording is enabled for the remote access session.

        • remoteRecordAppArn — (String)

          The ARN for the app to be recorded in the remote access session.

        • hostAddress — (String)

          IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.

          Remote debugging is no longer supported.

        • clientId — (String)

          Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.

          Remote debugging is no longer supported.

        • billingMethod — (String)

          The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.

          Possible values include:
          • "METERED"
          • "UNMETERED"
        • deviceMinutes — (map)

          The number of minutes a device is used in a remote access session (including setup and teardown minutes).

          • total — (Float)

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

          • metered — (Float)

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

          • unmetered — (Float)

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

        • endpoint — (String)

          The endpoint for the remote access sesssion.

        • deviceUdid — (String)

          Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.

          Remote debugging is no longer supported.

        • interactionMode — (String)

          The interaction mode of the remote access session. Valid values are:

          • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

          • NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

          • VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

          Possible values include:
          • "INTERACTIVE"
          • "NO_VIDEO"
          • "VIDEO_ONLY"
        • skipAppResign — (Boolean)

          When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

          For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

        • vpcConfig — (map)

          The VPC security groups and subnets that are attached to a project.

          • securityGroupIdsrequired — (Array<String>)

            An array of one or more security groups IDs in your Amazon VPC.

          • subnetIdsrequired — (Array<String>)

            An array of one or more subnet IDs in your Amazon VPC.

          • vpcIdrequired — (String)

            The ID of the Amazon VPC.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createTestGridProject(params = {}, callback) ⇒ AWS.Request

Creates a Selenium testing project. Projects are used to track TestGridSession instances.

Service Reference:

Examples:

Calling the createTestGridProject operation

var params = {
  name: 'STRING_VALUE', /* required */
  description: 'STRING_VALUE',
  vpcConfig: {
    securityGroupIds: [ /* required */
      'STRING_VALUE',
      /* more items */
    ],
    subnetIds: [ /* required */
      'STRING_VALUE',
      /* more items */
    ],
    vpcId: 'STRING_VALUE' /* required */
  }
};
devicefarm.createTestGridProject(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • name — (String)

      Human-readable name of the Selenium testing project.

    • description — (String)

      Human-readable description of the project.

    • vpcConfig — (map)

      The VPC security groups and subnets that are attached to a project.

      • securityGroupIdsrequired — (Array<String>)

        A list of VPC security group IDs in your Amazon VPC.

      • subnetIdsrequired — (Array<String>)

        A list of VPC subnet IDs in your Amazon VPC.

      • vpcIdrequired — (String)

        The ID of the Amazon VPC.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • testGridProject — (map)

        ARN of the Selenium testing project that was created.

        • arn — (String)

          The ARN for the project.

        • name — (String)

          A human-readable name for the project.

        • description — (String)

          A human-readable description for the project.

        • vpcConfig — (map)

          The VPC security groups and subnets that are attached to a project.

          • securityGroupIdsrequired — (Array<String>)

            A list of VPC security group IDs in your Amazon VPC.

          • subnetIdsrequired — (Array<String>)

            A list of VPC subnet IDs in your Amazon VPC.

          • vpcIdrequired — (String)

            The ID of the Amazon VPC.

        • created — (Date)

          When the project was created.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createTestGridUrl(params = {}, callback) ⇒ AWS.Request

Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver constructor.

Service Reference:

Examples:

Calling the createTestGridUrl operation

var params = {
  expiresInSeconds: 'NUMBER_VALUE', /* required */
  projectArn: 'STRING_VALUE' /* required */
};
devicefarm.createTestGridUrl(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createUpload(params = {}, callback) ⇒ AWS.Request

Uploads an app or test scripts.

Service Reference:

Examples:

To create a new test package upload


/* The following example creates a new Appium Python test package upload inside an existing project. */

 var params = {
  name: "MyAppiumPythonUpload", 
  type: "APPIUM_PYTHON_TEST_PACKAGE", 
  projectArn: "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456"// You can get the project ARN by using the list-projects CLI command.
 };
 devicefarm.createUpload(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    upload: {
     name: "MyAppiumPythonUpload", 
     type: "APPIUM_PYTHON_TEST_PACKAGE", 
     arn: "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE", 
     created: <Date Representation>, 
     status: "INITIALIZED", 
     url: "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789101%3Aproject%3A5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789101%3Aupload%3A5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE/MyAppiumPythonUpload?AWSAccessKeyId=1234567891011EXAMPLE&Expires=1472747804&Signature=1234567891011EXAMPLE"
    }
   }
   */
 });

Calling the createUpload operation

var params = {
  name: 'STRING_VALUE', /* required */
  projectArn: 'STRING_VALUE', /* required */
  type: ANDROID_APP | IOS_APP | WEB_APP | EXTERNAL_DATA | APPIUM_JAVA_JUNIT_TEST_PACKAGE | APPIUM_JAVA_TESTNG_TEST_PACKAGE | APPIUM_PYTHON_TEST_PACKAGE | APPIUM_NODE_TEST_PACKAGE | APPIUM_RUBY_TEST_PACKAGE | APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE | APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE | APPIUM_WEB_PYTHON_TEST_PACKAGE | APPIUM_WEB_NODE_TEST_PACKAGE | APPIUM_WEB_RUBY_TEST_PACKAGE | CALABASH_TEST_PACKAGE | INSTRUMENTATION_TEST_PACKAGE | UIAUTOMATION_TEST_PACKAGE | UIAUTOMATOR_TEST_PACKAGE | XCTEST_TEST_PACKAGE | XCTEST_UI_TEST_PACKAGE | APPIUM_JAVA_JUNIT_TEST_SPEC | APPIUM_JAVA_TESTNG_TEST_SPEC | APPIUM_PYTHON_TEST_SPEC | APPIUM_NODE_TEST_SPEC | APPIUM_RUBY_TEST_SPEC | APPIUM_WEB_JAVA_JUNIT_TEST_SPEC | APPIUM_WEB_JAVA_TESTNG_TEST_SPEC | APPIUM_WEB_PYTHON_TEST_SPEC | APPIUM_WEB_NODE_TEST_SPEC | APPIUM_WEB_RUBY_TEST_SPEC | INSTRUMENTATION_TEST_SPEC | XCTEST_UI_TEST_SPEC, /* required */
  contentType: 'STRING_VALUE'
};
devicefarm.createUpload(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • projectArn — (String)

      The ARN of the project for the upload.

    • name — (String)

      The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.

    • type — (String)

      The upload's upload type.

      Must be one of the following values:

      • ANDROID_APP

      • IOS_APP

      • WEB_APP

      • EXTERNAL_DATA

      • APPIUM_JAVA_JUNIT_TEST_PACKAGE

      • APPIUM_JAVA_TESTNG_TEST_PACKAGE

      • APPIUM_PYTHON_TEST_PACKAGE

      • APPIUM_NODE_TEST_PACKAGE

      • APPIUM_RUBY_TEST_PACKAGE

      • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

      • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

      • APPIUM_WEB_PYTHON_TEST_PACKAGE

      • APPIUM_WEB_NODE_TEST_PACKAGE

      • APPIUM_WEB_RUBY_TEST_PACKAGE

      • INSTRUMENTATION_TEST_PACKAGE

      • XCTEST_TEST_PACKAGE

      • XCTEST_UI_TEST_PACKAGE

      • APPIUM_JAVA_JUNIT_TEST_SPEC

      • APPIUM_JAVA_TESTNG_TEST_SPEC

      • APPIUM_PYTHON_TEST_SPEC

      • APPIUM_NODE_TEST_SPEC

      • APPIUM_RUBY_TEST_SPEC

      • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

      • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

      • APPIUM_WEB_PYTHON_TEST_SPEC

      • APPIUM_WEB_NODE_TEST_SPEC

      • APPIUM_WEB_RUBY_TEST_SPEC

      • INSTRUMENTATION_TEST_SPEC

      • XCTEST_UI_TEST_SPEC

      If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

      Possible values include:
      • "ANDROID_APP"
      • "IOS_APP"
      • "WEB_APP"
      • "EXTERNAL_DATA"
      • "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
      • "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
      • "APPIUM_PYTHON_TEST_PACKAGE"
      • "APPIUM_NODE_TEST_PACKAGE"
      • "APPIUM_RUBY_TEST_PACKAGE"
      • "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
      • "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
      • "APPIUM_WEB_PYTHON_TEST_PACKAGE"
      • "APPIUM_WEB_NODE_TEST_PACKAGE"
      • "APPIUM_WEB_RUBY_TEST_PACKAGE"
      • "CALABASH_TEST_PACKAGE"
      • "INSTRUMENTATION_TEST_PACKAGE"
      • "UIAUTOMATION_TEST_PACKAGE"
      • "UIAUTOMATOR_TEST_PACKAGE"
      • "XCTEST_TEST_PACKAGE"
      • "XCTEST_UI_TEST_PACKAGE"
      • "APPIUM_JAVA_JUNIT_TEST_SPEC"
      • "APPIUM_JAVA_TESTNG_TEST_SPEC"
      • "APPIUM_PYTHON_TEST_SPEC"
      • "APPIUM_NODE_TEST_SPEC"
      • "APPIUM_RUBY_TEST_SPEC"
      • "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC"
      • "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC"
      • "APPIUM_WEB_PYTHON_TEST_SPEC"
      • "APPIUM_WEB_NODE_TEST_SPEC"
      • "APPIUM_WEB_RUBY_TEST_SPEC"
      • "INSTRUMENTATION_TEST_SPEC"
      • "XCTEST_UI_TEST_SPEC"
    • contentType — (String)

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

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • upload — (map)

        The newly created upload.

        • arn — (String)

          The upload's ARN.

        • name — (String)

          The upload's file name.

        • created — (Date)

          When the upload was created.

        • type — (String)

          The upload's type.

          Must be one of the following values:

          • ANDROID_APP

          • IOS_APP

          • WEB_APP

          • EXTERNAL_DATA

          • APPIUM_JAVA_JUNIT_TEST_PACKAGE

          • APPIUM_JAVA_TESTNG_TEST_PACKAGE

          • APPIUM_PYTHON_TEST_PACKAGE

          • APPIUM_NODE_TEST_PACKAGE

          • APPIUM_RUBY_TEST_PACKAGE

          • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

          • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

          • APPIUM_WEB_PYTHON_TEST_PACKAGE

          • APPIUM_WEB_NODE_TEST_PACKAGE

          • APPIUM_WEB_RUBY_TEST_PACKAGE

          • INSTRUMENTATION_TEST_PACKAGE

          • XCTEST_TEST_PACKAGE

          • XCTEST_UI_TEST_PACKAGE

          • APPIUM_JAVA_JUNIT_TEST_SPEC

          • APPIUM_JAVA_TESTNG_TEST_SPEC

          • APPIUM_PYTHON_TEST_SPEC

          • APPIUM_NODE_TEST_SPEC

          • APPIUM_RUBY_TEST_SPEC

          • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

          • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

          • APPIUM_WEB_PYTHON_TEST_SPEC

          • APPIUM_WEB_NODE_TEST_SPEC

          • APPIUM_WEB_RUBY_TEST_SPEC

          • INSTRUMENTATION_TEST_SPEC

          • XCTEST_UI_TEST_SPEC

          Possible values include:
          • "ANDROID_APP"
          • "IOS_APP"
          • "WEB_APP"
          • "EXTERNAL_DATA"
          • "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
          • "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
          • "APPIUM_PYTHON_TEST_PACKAGE"
          • "APPIUM_NODE_TEST_PACKAGE"
          • "APPIUM_RUBY_TEST_PACKAGE"
          • "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
          • "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
          • "APPIUM_WEB_PYTHON_TEST_PACKAGE"
          • "APPIUM_WEB_NODE_TEST_PACKAGE"
          • "APPIUM_WEB_RUBY_TEST_PACKAGE"
          • "CALABASH_TEST_PACKAGE"
          • "INSTRUMENTATION_TEST_PACKAGE"
          • "UIAUTOMATION_TEST_PACKAGE"
          • "UIAUTOMATOR_TEST_PACKAGE"
          • "XCTEST_TEST_PACKAGE"
          • "XCTEST_UI_TEST_PACKAGE"
          • "APPIUM_JAVA_JUNIT_TEST_SPEC"
          • "APPIUM_JAVA_TESTNG_TEST_SPEC"
          • "APPIUM_PYTHON_TEST_SPEC"
          • "APPIUM_NODE_TEST_SPEC"
          • "APPIUM_RUBY_TEST_SPEC"
          • "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC"
          • "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC"
          • "APPIUM_WEB_PYTHON_TEST_SPEC"
          • "APPIUM_WEB_NODE_TEST_SPEC"
          • "APPIUM_WEB_RUBY_TEST_SPEC"
          • "INSTRUMENTATION_TEST_SPEC"
          • "XCTEST_UI_TEST_SPEC"
        • status — (String)

          The upload's status.

          Must be one of the following values:

          • FAILED

          • INITIALIZED

          • PROCESSING

          • SUCCEEDED

          Possible values include:
          • "INITIALIZED"
          • "PROCESSING"
          • "SUCCEEDED"
          • "FAILED"
        • url — (String)

          The presigned Amazon S3 URL that was used to store a file using a 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.

        • category — (String)

          The upload's category. Allowed values include:

          • CURATED: An upload managed by AWS Device Farm.

          • PRIVATE: An upload managed by the AWS Device Farm customer.

          Possible values include:
          • "CURATED"
          • "PRIVATE"

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createVPCEConfiguration(params = {}, callback) ⇒ AWS.Request

Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint.

Service Reference:

Examples:

Calling the createVPCEConfiguration operation

var params = {
  serviceDnsName: 'STRING_VALUE', /* required */
  vpceConfigurationName: 'STRING_VALUE', /* required */
  vpceServiceName: 'STRING_VALUE', /* required */
  vpceConfigurationDescription: 'STRING_VALUE'
};
devicefarm.createVPCEConfiguration(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • vpceConfigurationName — (String)

      The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

    • vpceServiceName — (String)

      The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

    • serviceDnsName — (String)

      The DNS name of the service running in your VPC that you want Device Farm to test.

    • vpceConfigurationDescription — (String)

      An optional description that provides details about your VPC endpoint configuration.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • vpceConfiguration — (map)

        An object that contains information about your VPC endpoint configuration.

        • arn — (String)

          The Amazon Resource Name (ARN) of the VPC endpoint configuration.

        • vpceConfigurationName — (String)

          The friendly name you give to your VPC endpoint configuration to manage your configurations more easily.

        • vpceServiceName — (String)

          The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

        • serviceDnsName — (String)

          The DNS name that maps to the private IP address of the service you want to access.

        • vpceConfigurationDescription — (String)

          An optional description that provides details about your VPC endpoint configuration.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteDevicePool(params = {}, callback) ⇒ AWS.Request

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

Service Reference:

Examples:

To delete a device pool


/* The following example deletes a specific device pool. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID"// You can get the device pool ARN by using the list-device-pools CLI command.
 };
 devicefarm.deleteDevicePool(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
   }
   */
 });

Calling the deleteDevicePool operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteDevicePool(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      Represents the Amazon Resource Name (ARN) of the Device Farm device pool to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteInstanceProfile(params = {}, callback) ⇒ AWS.Request

Deletes a profile that can be applied to one or more private device instances.

Service Reference:

Examples:

Calling the deleteInstanceProfile operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteInstanceProfile(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The Amazon Resource Name (ARN) of the instance profile you are requesting to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteNetworkProfile(params = {}, callback) ⇒ AWS.Request

Deletes a network profile.

Service Reference:

Examples:

Calling the deleteNetworkProfile operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteNetworkProfile(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The ARN of the network profile to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteProject(params = {}, callback) ⇒ AWS.Request

Deletes an AWS Device Farm project, given the project ARN.

Deleting this resource does not stop an in-progress run.

Service Reference:

Examples:

To delete a project


/* The following example deletes a specific project. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456"// You can get the project ARN by using the list-projects CLI command.
 };
 devicefarm.deleteProject(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
   }
   */
 });

Calling the deleteProject operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteProject(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      Represents the Amazon Resource Name (ARN) of the Device Farm project to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteRemoteAccessSession(params = {}, callback) ⇒ AWS.Request

Deletes a completed remote access session and its results.

Service Reference:

Examples:

To delete a specific remote access session


/* The following example deletes a specific remote access session. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456"// You can get the remote access session ARN by using the list-remote-access-sessions CLI command.
 };
 devicefarm.deleteRemoteAccessSession(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
   }
   */
 });

Calling the deleteRemoteAccessSession operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteRemoteAccessSession(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The Amazon Resource Name (ARN) of the session for which you want to delete remote access.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteRun(params = {}, callback) ⇒ AWS.Request

Deletes the run, given the run ARN.

Deleting this resource does not stop an in-progress run.

Service Reference:

Examples:

To delete a run


/* The following example deletes a specific test run. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456"// You can get the run ARN by using the list-runs CLI command.
 };
 devicefarm.deleteRun(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
   }
   */
 });

Calling the deleteRun operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteRun(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The Amazon Resource Name (ARN) for the run to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteTestGridProject(params = {}, callback) ⇒ AWS.Request

Deletes a Selenium testing project and all content generated under it.

You cannot undo this operation.

Note: You cannot delete a project if it has active sessions.

Service Reference:

Examples:

Calling the deleteTestGridProject operation

var params = {
  projectArn: 'STRING_VALUE' /* required */
};
devicefarm.deleteTestGridProject(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteUpload(params = {}, callback) ⇒ AWS.Request

Deletes an upload given the upload ARN.

Service Reference:

Examples:

To delete a specific upload


/* The following example deletes a specific upload. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456"// You can get the upload ARN by using the list-uploads CLI command.
 };
 devicefarm.deleteUpload(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
   }
   */
 });

Calling the deleteUpload operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteUpload(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

deleteVPCEConfiguration(params = {}, callback) ⇒ AWS.Request

Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.

Service Reference:

Examples:

Calling the deleteVPCEConfiguration operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.deleteVPCEConfiguration(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

getAccountSettings(params = {}, callback) ⇒ AWS.Request

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

Service Reference:

Examples:

To get information about account settings


/* The following example returns information about your Device Farm account settings. */

 var params = {
 };
 devicefarm.getAccountSettings(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    accountSettings: {
     awsAccountNumber: "123456789101", 
     unmeteredDevices: {
      "ANDROID": 1, 
      "IOS": 2
     }
    }
   }
   */
 });

Calling the getAccountSettings operation

var params = {
};
devicefarm.getAccountSettings(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • accountSettings — (map)

        The account settings.

        • awsAccountNumber — (String)

          The AWS account number specified in the AccountSettings container.

        • unmeteredDevices — (map<Integer>)

          Returns the unmetered devices you have purchased or want to purchase.

        • unmeteredRemoteAccessDevices — (map<Integer>)

          Returns the unmetered remote access devices you have purchased or want to purchase.

        • maxJobTimeoutMinutes — (Integer)

          The maximum number of minutes a test run executes before it times out.

        • trialMinutes — (map)

          Information about an AWS account's usage of free trial device minutes.

          • total — (Float)

            The total number of free trial minutes that the account started with.

          • remaining — (Float)

            The number of free trial minutes remaining in the account.

        • maxSlots — (map<Integer>)

          The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an offering-id:number pair, where the offering-id represents one of the IDs returned by the ListOfferings command.

        • defaultJobTimeoutMinutes — (Integer)

          The default number of minutes (at the account level) a test run executes before it times out. The default value is 150 minutes.

        • skipAppResign — (Boolean)

          When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

          For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

getDevice(params = {}, callback) ⇒ AWS.Request

Gets information about a unique device type.

Service Reference:

Examples:

To get information about a device


/* The following example returns information about a specific device. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2::device:123EXAMPLE"
 };
 devicefarm.getDevice(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    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
     }
    }
   }
   */
 });

Calling the getDevice operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.getDevice(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The device type's ARN.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • device — (map)

        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

          Possible values include:
          • "PHONE"
          • "TABLET"
        • platform — (String)

          The device's platform.

          Allowed values include:

          • ANDROID

          • IOS

          Possible values include:
          • "ANDROID"
          • "IOS"
        • os — (String)

          The device's operating system type.

        • cpu — (map)

          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 — (map)

          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 — (Array<map>)

          The instances that belong to this device.

          • arn — (String)

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

          • deviceArn — (String)

            The ARN of the device.

          • labels — (Array<String>)

            An array of strings that describe the device instance.

          • status — (String)

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

            Possible values include:
            • "IN_USE"
            • "PREPARING"
            • "AVAILABLE"
            • "NOT_AVAILABLE"
          • udid — (String)

            Unique device identifier for the device instance.

          • instanceProfile — (map)

            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 — (Array<String>)

              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.

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

          Possible values include:
          • "TEMPORARY_NOT_AVAILABLE"
          • "BUSY"
          • "AVAILABLE"
          • "HIGHLY_AVAILABLE"

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

getDeviceInstance(params = {}, callback) ⇒ AWS.Request

Returns information about a device instance that belongs to a private device fleet.

Service Reference:

Examples:

Calling the getDeviceInstance operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.getDeviceInstance(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The Amazon Resource Name (ARN) of the instance you're requesting information about.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • deviceInstance — (map)

        An object that contains information about your device instance.

        • arn — (String)

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

        • deviceArn — (String)

          The ARN of the device.

        • labels — (Array<String>)

          An array of strings that describe the device instance.

        • status — (String)

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

          Possible values include:
          • "IN_USE"
          • "PREPARING"
          • "AVAILABLE"
          • "NOT_AVAILABLE"
        • udid — (String)

          Unique device identifier for the device instance.

        • instanceProfile — (map)

          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 — (Array<String>)

            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.

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

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

getDevicePool(params = {}, callback) ⇒ AWS.Request

Gets information about a device pool.

Service Reference:

Examples:

To get information about a device pool


/* The following example returns information about a specific device pool, given a project ARN. */

 var params = {
  arn: "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456"// You can obtain the project ARN by using the list-projects CLI command.
 };
 devicefarm.getDevicePool(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    devicePool: {
    }
   }
   */
 });

Calling the getDevicePool operation

var params = {
  arn: 'STRING_VALUE' /* required */
};
devicefarm.getDevicePool(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • arn — (String)

      The device pool's ARN.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • devicePool — (map)

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

          Possible values include:
          • "CURATED"
          • "PRIVATE"
        • rules — (Array<map>)

          Information about the device pool's rules.

          • attribute — (String)

            The rule's stringified attribute. For example, specify the value as "\"abc\"".

            The supported operators for each attribute are provided in the following list.

            APPIUM_VERSION

            The Appium version for the test.

            Supported operators: CONTAINS

            ARN

            The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.

            Supported operators: EQUALS, IN, NOT_IN

            AVAILABILITY

            The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

            Supported operators: EQUALS

            FLEET_TYPE

            The fleet type. Valid values are PUBLIC or PRIVATE.

            Supported operators: EQUALS

            FORM_FACTOR

            The device form factor. Valid values are PHONE or TABLET.

            Supported operators: EQUALS, IN, NOT_IN

            INSTANCE_ARN

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

            Supported operators: IN, NOT_IN

            INSTANCE_LABELS

            The label of the device instance.

            Supported operators: CONTAINS

            MANUFACTURER

            The device manufacturer (for example, Apple).

            Supported operators: EQUALS, IN, NOT_IN

            MODEL

            The device model, such as Apple iPad Air 2 or Google Pixel.

            Supported operators: CONTAINS, EQUALS, IN, NOT_IN

            OS_VERSION

            The operating system version (for example, 10.3.2).

            Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

            PLATFORM

            The device platform. Valid values are ANDROID or IOS.

            Supported operators: EQUALS, IN, NOT_IN

            REMOTE_ACCESS_ENABLED

            Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

            Supported operators: EQUALS

            REMOTE_DEBUG_ENABLED

            Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.

            Supported operators: EQUALS

            Because remote debugging is no longer supported, this filter is ignored.

            Possible values include:
            • "ARN"
            • "PLATFORM"
            • "FORM_FACTOR"
            • "MANUFACTURER"
            • "REMOTE_ACCESS_ENABLED"
            • "REMOTE_DEBUG_ENABLED"
            • "APPIUM_VERSION"
            • "INSTANCE_ARN"
            • "INSTANCE_LABELS"
            • "FLEET_TYPE"
            • "OS_VERSION"
            • "MODEL"
            • "AVAILABILITY"
          • operator — (String)

            Specifies how Device Farm compares the rule's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

            Possible values include:
            • "EQUALS"
            • "LESS_THAN"
            • "LESS_THAN_OR_EQUALS"
            • "GREATER_THAN"
            • "GREATER_THAN_OR_EQUALS"
            • "IN"
            • "NOT_IN"
            • "CONTAINS"
          • value — (String)

            The rule's value.

        • maxDevices — (Integer)

          The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

          By specifying the maximum number of devices, you can control the costs that you incur by running tests.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

getDevicePoolCompatibility(params = {}, callback) ⇒ AWS.Request

Gets information about compatibility with a device pool.

Service Reference:

Examples:

To get information about the compatibility of a device pool


/* The following example returns information about the compatibility of a specific device pool, given its ARN. */

 var params = {
  appArn: "arn:aws:devicefarm:us-west-2::app:123-456-EXAMPLE-GUID", 
  devicePoolArn: "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID", // You can get the device pool ARN by using the list-device-pools CLI command.
  testType: "APPIUM_PYTHON"
 };
 devicefarm.getDevicePoolCompatibility(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
   /*
   data = {
    compatibleDevices: [
    ], 
    incompatibleDevices: [
    ]
   }
   */
 });

Calling the getDevicePoolCompatibility operation

var params = {
  devicePoolArn: 'STRING_VALUE', /* required */
  appArn: 'STRING_VALUE',
  configuration: {
    auxiliaryApps: [
      'STRING_VALUE',
      /* more items */
    ],
    billingMethod: METERED | UNMETERED,
    customerArtifactPaths: {
      androidPaths: [
        'STRING_VALUE',
        /* more items */
      ],
      deviceHostPaths: [
        'STRING_VALUE',
        /* more items */
      ],
      iosPaths: [
        'STRING_VALUE',
        /* more items */
      ]
    },
    extraDataPackageArn: 'STRING_VALUE',
    locale: 'STRING_VALUE',
    location: {
      latitude: 'NUMBER_VALUE', /* required */
      longitude: 'NUMBER_VALUE' /* required */
    },
    networkProfileArn: 'STRING_VALUE',
    radios: {
      bluetooth: true || false,
      gps: true || false,
      nfc: true || false,
      wifi: true || false
    },
    vpceConfigurationArns: [
      'STRING_VALUE',
      /* more items */
    ]
  },
  test: {
    type: BUILTIN_FUZZ | APPIUM_JAVA_JUNIT | APPIUM_JAVA_TESTNG | APPIUM_PYTHON | APPIUM_NODE | APPIUM_RUBY | APPIUM_WEB_JAVA_JUNIT | APPIUM_WEB_JAVA_TESTNG | APPIUM_WEB_PYTHON | APPIUM_WEB_NODE | APPIUM_WEB_RUBY | INSTRUMENTATION | XCTEST | XCTEST_UI, /* required */
    filter: 'STRING_VALUE',
    parameters: {
      '<String>': 'STRING_VALUE',
      /* '<String>': ... */
    },
    testPackageArn: 'STRING_VALUE',
    testSpecArn: 'STRING_VALUE'
  },
  testType: BUILTIN_FUZZ | APPIUM_JAVA_JUNIT | APPIUM_JAVA_TESTNG | APPIUM_PYTHON | APPIUM_NODE | APPIUM_RUBY | APPIUM_WEB_JAVA_JUNIT | APPIUM_WEB_JAVA_TESTNG | APPIUM_WEB_PYTHON | APPIUM_WEB_NODE | APPIUM_WEB_RUBY | INSTRUMENTATION | XCTEST | XCTEST_UI
};
devicefarm.getDevicePoolCompatibility(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • devicePoolArn — (String)

      The device pool's ARN.

    • appArn — (String)

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

    • testType — (String)

      The test type for the specified device pool.

      Allowed values include the following:

      • BUILTIN_FUZZ.

      • APPIUM_JAVA_JUNIT.

      • APPIUM_JAVA_TESTNG.

      • APPIUM_PYTHON.

      • APPIUM_NODE.

      • APPIUM_RUBY.

      • APPIUM_WEB_JAVA_JUNIT.

      • APPIUM_WEB_JAVA_TESTNG.

      • APPIUM_WEB_PYTHON.

      • APPIUM_WEB_NODE.

      • APPIUM_WEB_RUBY.

      • INSTRUMENTATION.

      • XCTEST.

      • XCTEST_UI.

      Possible values include:
      • "BUILTIN_FUZZ"
      • "APPIUM_JAVA_JUNIT"
      • "APPIUM_JAVA_TESTNG"
      • "APPIUM_PYTHON"
      • "APPIUM_NODE"
      • "APPIUM_RUBY"
      • "APPIUM_WEB_JAVA_JUNIT"
      • "APPIUM_WEB_JAVA_TESTNG"
      • "APPIUM_WEB_PYTHON"
      • "APPIUM_WEB_NODE"
      • "APPIUM_WEB_RUBY"
      • "INSTRUMENTATION"
      • "XCTEST"
      • "XCTEST_UI"
    • test — (map)

      Information about the uploaded test to be run against the device pool.

      • typerequired — (String)

        The test's type.

        Must be one of the following values:

        • BUILTIN_FUZZ

        • APPIUM_JAVA_JUNIT

        • APPIUM_JAVA_TESTNG

        • APPIUM_PYTHON

        • APPIUM_NODE

        • APPIUM_RUBY

        • APPIUM_WEB_JAVA_JUNIT

        • APPIUM_WEB_JAVA_TESTNG

        • APPIUM_WEB_PYTHON

        • APPIUM_WEB_NODE

        • APPIUM_WEB_RUBY

        • INSTRUMENTATION

        • XCTEST

        • XCTEST_UI

        Possible values include:
        • "BUILTIN_FUZZ"
        • "APPIUM_JAVA_JUNIT"
        • "APPIUM_JAVA_TESTNG"
        • "APPIUM_PYTHON"
        • "APPIUM_NODE"
        • "APPIUM_RUBY"
        • "APPIUM_WEB_JAVA_JUNIT"
        • "APPIUM_WEB_JAVA_TESTNG"
        • "APPIUM_WEB_PYTHON"
        • "APPIUM_WEB_NODE"
        • "APPIUM_WEB_RUBY"
        • "INSTRUMENTATION"
        • "XCTEST"
        • "XCTEST_UI"
      • testPackageArn — (String)

        The ARN of the uploaded test to be run.

      • testSpecArn — (String)

        The ARN of the YAML-formatted test specification.

      • filter — (String)

        The test's filter.

      • parameters — (map<String>)

        The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

        For all tests:

        • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to false to disable it.

        For Appium tests (all types):

        • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.

          • latest runs the latest Appium version supported by Device Farm (1.9.1).

          • For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.

          • This behavior is subject to change.

        For fuzz tests (Android only):

        • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

        • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

        • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

        For Instrumentation:

        • filter: A test filter string. Examples:

          • Running a single test case: com.android.abc.Test1

          • Running a single test: com.android.abc.Test1#smoke

          • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

        For XCTest and XCTestUI:

        • filter: A test filter string. Examples:

          • Running a single test class: LoginTests

          • Running a multiple test classes: LoginTests,SmokeTests

          • Running a single test: LoginTests/testValid

          • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid

    • configuration — (map)

      An object that contains information about the settings for a run.

      • extraDataPackageArn — (String)

        The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts 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 — (map)

        Information about the location that is used for the run.

        • latituderequired — (Float)

          The latitude.

        • longituderequired — (Float)

          The longitude.

      • vpceConfigurationArns — (Array<String>)

        An array of ARNs for your VPC endpoint configurations.

      • customerArtifactPaths — (map)

        Input CustomerArtifactPaths object for the scheduled run configuration.

        • iosPaths — (Array<String>)

          Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests are pulled from.

        • androidPaths — (Array<String>)

          Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.

        • deviceHostPaths — (Array<String>)

          Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are pulled from.

      • radios — (map)

        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 — (Array<String>)

        A list of upload ARNs for app packages to be installed with your app.

      • billingMethod — (String)

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

        Note: If you have purchased unmetered device slots, you must set this parameter to unmetered to make use of them. Otherwise, your run counts against your metered time.
        Possible values include:
        • "METERED"
        • "UNMETERED"

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • compatibleDevices — (Array<map>)

        Information about compatible devices.

        • device — (map)

          The device (phone or tablet) to return information about.

          • 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

            Possible values include:
            • "PHONE"
            • "TABLET"
          • platform — (String)

            The device's platform.

            Allowed values include:

            • ANDROID

            • IOS

            Possible values include:
            • "ANDROID"
            • "IOS"
          • os — (String)

            The device's operating system type.

          • cpu — (map)

            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 — (map)

            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 — (Array<map>)

            The instances that belong to this device.

            • arn — (String)

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

            • deviceArn — (String)

              The ARN of the device.

            • labels — (Array<String>)

              An array of strings that describe the device instance.

            • status — (String)

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

              Possible values include:
              • "IN_USE"
              • "PREPARING"
              • "AVAILABLE"
              • "NOT_AVAILABLE"
            • udid — (String)

              Unique device identifier for the device instance.

            • instanceProfile — (map)

              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 — (Array<String>)

                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.

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

            Possible values include:
            • "TEMPORARY_NOT_AVAILABLE"
            • "BUSY"
            • "AVAILABLE"
            • "HIGHLY_AVAILABLE"
        • compatible — (Boolean)

          Whether the result was compatible with the device pool.

        • incompatibilityMessages — (Array<map>)

          Information about the compatibility.

          • message — (String)

            A message about the incompatibility.

          • type — (String)

            The type of incompatibility.

            Allowed values include:

            • ARN

            • FORM_FACTOR (for example, phone or tablet)

            • MANUFACTURER

            • PLATFORM (for example, Android or iOS)

            • REMOTE_ACCESS_ENABLED

            • APPIUM_VERSION

            Possible values include:
            • "ARN"
            • "PLATFORM"
            • "FORM_FACTOR"
            • "MANUFACTURER"
            • "REMOTE_ACCESS_ENABLED"
            • "REMOTE_DEBUG_ENABLED"
            • "APPIUM_VERSION"
            • "INSTANCE_ARN"
            • "INSTANCE_LABELS"
            • "FLEET_TYPE"
            • "OS_VERSION"
            • "MODEL"
            • "AVAILABILITY"
      • incompatibleDevices — (Array<map>)

        Information about incompatible devices.

        • device — (map)

          The device (phone or tablet) to return information about.

          • 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

            Possible values include:
            • "PHONE"
            • "TABLET"
          • platform — (String)

            The device's platform.

            Allowed values include:

            • ANDROID

            • IOS

            Possible values include:
            • "ANDROID"
            • "IOS"
          • os — (String)

            The device's operating system type.

          • cpu — (map)

            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 — (map)

            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 — (Array<map>)

            The instances that belong to this device.

            • arn — (String)

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

            • deviceArn — (String)

              The ARN of the device.

            • labels — (Array<String>)

              An array of strings that describe the device instance.

            • status — (String)

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

              Possible values include:
              • "IN_USE"
              • "PREPARING"
              • "AVAILABLE"
              • "NOT_AVAILABLE"
            • udid — (String)

              Unique device identifier for the device instance.

            • instanceProfile — (map)

              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 — (Array<String>)

                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.

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

            Possible values include:
            • "TEMPORARY_NOT_AVAILABLE"
            • "BUSY"
            • "AVAILABLE"
            • "HIGHLY_AVAILABLE"
        • compatible — (Boolean)

          Whether the result was compatible with the device pool.

        • incompatibilityMessages — (Array<map>)

          Information about the compatibility.

          • message — (String)

            A message about the incompatibility.

          • type — (String)

            The type of incompatibility.

            Allowed values include:

            • ARN

            • FORM_FACTOR (for example, phone or tablet)

            • MANUFACTURER

            • PLATFORM (for example, Android or iOS)

            • REMOTE_ACCESS_ENABLED

            • APPIUM_VERSION

            Possible values include:
            • "ARN"