NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class DeviceFarmClient

Client to interact with AWS Device Farm

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Guzzle\Http\Client implements Guzzle\Http\ClientInterface
  Guzzle\Service\Client implements Guzzle\Service\ClientInterface
  Aws\Common\Client\AbstractClient implements Aws\Common\Client\AwsClientInterface
  Aws\DeviceFarm\DeviceFarmClient

Namespace: Aws\DeviceFarm
Link: User guide
Link: API docs
Located at Aws/DeviceFarm/DeviceFarmClient.php

## Methods summary

- `public static` `factory ( array $config = array() )`

  Executes the ScheduleRun operation.

- `public` `createDevicePool ( array $args = array() )`

  Executes the CreateDevicePool operation.

- `public` `createProject ( array $args = array() )`

  Executes the CreateProject operation.

- `public` `createUpload ( array $args = array() )`

  Executes the CreateUpload operation.

- `public` `deleteDevicePool ( array $args = array() )`

  {@command DeviceFarm DeleteDevicePool}

- `public` `deleteProject ( array $args = array() )`

  {@command DeviceFarm DeleteProject}

- `public` `deleteRun ( array $args = array() )`

  {@command DeviceFarm DeleteRun}

- `public` `deleteUpload ( array $args = array() )`

  {@command DeviceFarm DeleteUpload}

- `public` `getAccountSettings ( array $args = array() )`

  Executes the GetAccountSettings operation.

- `public` `getDevice ( array $args = array() )`

  Executes the GetDevice operation.

- `public` `getDevicePool ( array $args = array() )`

  Executes the GetDevicePool operation.

- `public` `getDevicePoolCompatibility ( array $args = array() )`

  Executes the GetDevicePoolCompatibility operation.

- `public` `getJob ( array $args = array() )`

  Executes the GetJob operation.

- `public` `getProject ( array $args = array() )`

  Executes the GetProject operation.

- `public` `getRun ( array $args = array() )`

  Executes the GetRun operation.

- `public` `getSuite ( array $args = array() )`

  Executes the GetSuite operation.

- `public` `getTest ( array $args = array() )`

  Executes the GetTest operation.

- `public` `getUpload ( array $args = array() )`

  Executes the GetUpload operation.

- `public` `listArtifacts ( array $args = array() )`

  Executes the ListArtifacts operation.

- `public` `listDevicePools ( array $args = array() )`

  Executes the ListDevicePools operation.

- `public` `listDevices ( array $args = array() )`

  Executes the ListDevices operation.

- `public` `listJobs ( array $args = array() )`

  Executes the ListJobs operation.

- `public` `listProjects ( array $args = array() )`

  Executes the ListProjects operation.

- `public` `listRuns ( array $args = array() )`

  Executes the ListRuns operation.

- `public` `listSamples ( array $args = array() )`

  Executes the ListSamples operation.

- `public` `listSuites ( array $args = array() )`

  Executes the ListSuites operation.

- `public` `listTests ( array $args = array() )`

  Executes the ListTests operation.

- `public` `listUniqueProblems ( array $args = array() )`

  Executes the ListUniqueProblems operation.

- `public` `listUploads ( array $args = array() )`

  Executes the ListUploads operation.

- `public` `scheduleRun ( array $args = array() )`

  Executes the ScheduleRun operation.

- `public` `updateDevicePool ( array $args = array() )`

  {@command DeviceFarm UpdateDevicePool}

- `public` `updateProject ( array $args = array() )`

  {@command DeviceFarm UpdateProject}

- `public` `getListArtifactsIterator ( array $args = array() )`

  The input array uses the parameters of the ListArtifacts operation

- `public` `getListDevicePoolsIterator ( array $args = array() )`

  The input array uses the parameters of the ListDevicePools operation

- `public` `getListDevicesIterator ( array $args = array() )`

  The input array uses the parameters of the ListDevices operation

- `public` `getListJobsIterator ( array $args = array() )`

  The input array uses the parameters of the ListJobs operation

- `public` `getListProjectsIterator ( array $args = array() )`

  The input array uses the parameters of the ListProjects operation

- `public` `getListRunsIterator ( array $args = array() )`

  The input array uses the parameters of the ListRuns operation

- `public` `getListSamplesIterator ( array $args = array() )`

  The input array uses the parameters of the ListSamples operation

- `public` `getListSuitesIterator ( array $args = array() )`

  The input array uses the parameters of the ListSuites operation

- `public` `getListTestsIterator ( array $args = array() )`

  The input array uses the parameters of the ListTests operation

- `public` `getListUniqueProblemsIterator ( array $args = array() )`

  The input array uses the parameters of the ListUniqueProblems operation

- `public` `getListUploadsIterator ( array $args = array() )`

  The input array uses the parameters of the ListUploads operation

## Methods detail

# `public static `Guzzle\Service\Resource\Model``
`factory( array $config = array() )`

Executes the ScheduleRun operation.

Schedules a run.

#### Parameters

$config
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - projectArn => (string)

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

  - appArn => (string)

    The ARN of the app to schedule a run.

  - devicePoolArn => (string)

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

  - name => (string)

    The name for the run to be scheduled.

  - test => (associative-array)

    Information about the test for the run to be scheduled.

    - => (associative-array)

      Associative array of custom key value pairs

  - configuration => (associative-array)

    Information about the settings for the run to be scheduled.

    - extraDataPackageArn => (string)

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

    - networkProfileArn => (string)

      Reserved for internal use.

    - locale => (string)

      Information about the locale that is used for the run.

    - location => (associative-array)

      Information about the location that is used for the run.

      - latitude => (int)

        The latitude.

      - longitude => (int)

        The longitude.

    - radios => (associative-array)

      Information about the radio states for the run.

      - wifi => (bool)

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

      - bluetooth => (bool)

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

      - nfc => (bool)

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

      - gps => (bool)

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

    - auxiliaryApps => (array<string>)

      A list of auxiliary apps for the run.

    - billingMethod => (string: METERED | UNMETERED )

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- run => (associative-array)

  Information about the scheduled run.

  - => (associative-array)

    Associative array of custom key value pairs

#### Overrides

`Guzzle\Service\Client::factory`
# `public `Guzzle\Service\Resource\Model``
`createDevicePool( array $args = array() )`

Executes the CreateDevicePool operation.

Creates a device pool.

#### Examples

- Basic formatting example

      $result = $client->createDevicePool(array(
          // projectArn is required
          'projectArn' => 'string',
          // name is required
          'name' => 'string',
          'description' => 'string',
          // rules is required
          'rules' => array(
              array(
                  'attribute' => 'string',
                  'operator' => 'string',
                  'value' => 'string',
              ),
              // ... repeated
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - 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<associative-array>)

    The device pool's rules.

    - (associative-array)

      Represents a condition for a device pool.

      - attribute => (string: ARN | PLATFORM | FORM_FACTOR | MANUFACTURER )

        The rule's attribute.

        Allowed values include:

        - ARN: The ARN.

        - FORM_FACTOR: The form factor (for example, phone or tablet).

        - MANUFACTURER: The manufacturer.

        - PLATFORM: The platform (for example, Android or iOS).

      - operator => (string: EQUALS | LESS_THAN | GREATER_THAN | IN | NOT_IN )

        The rule's operator.

        - EQUALS: The equals operator.

        - GREATER_THAN: The greater-than operator.

        - IN: The in operator.

        - LESS_THAN: The less-than operator.

        - NOT_IN: The not-in operator.

      - value => (string)

        The rule's value.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- devicePool => (associative-array)

  The newly created device pool.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`createProject( array $args = array() )`

Executes the CreateProject operation.

Creates a new project.

#### Examples

- Basic formatting example

      $result = $client->createProject(array(
          // name is required
          'name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - name => (string)

    The project's name.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- project => (associative-array)

  The newly created project.

  - arn => (string)

    The project's ARN.

  - name => (string)

    The project's name.

  - created => (string)

    When the project was created.

# `public `Guzzle\Service\Resource\Model``
`createUpload( array $args = array() )`

Executes the CreateUpload operation.

Uploads an app or test scripts.

#### Examples

- Basic formatting example

      $result = $client->createUpload(array(
          '' => array(
              // Associative array of custom key value pairs
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - => (associative-array)

    Associative array of custom key value pairs

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- upload => (associative-array)

  The newly created upload.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`deleteDevicePool( array $args = array() )`

{@command DeviceFarm DeleteDevicePool}

#### Examples

- Basic formatting example

      $result = $client->deleteDevicePool(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\Model``
`deleteProject( array $args = array() )`

{@command DeviceFarm DeleteProject}

#### Examples

- Basic formatting example

      $result = $client->deleteProject(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\Model``
`deleteRun( array $args = array() )`

{@command DeviceFarm DeleteRun}

#### Examples

- Basic formatting example

      $result = $client->deleteRun(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\Model``
`deleteUpload( array $args = array() )`

{@command DeviceFarm DeleteUpload}

#### Examples

- Basic formatting example

      $result = $client->deleteUpload(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\Model``
`getAccountSettings( array $args = array() )`

Executes the GetAccountSettings operation.

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

#### Examples

- Basic formatting example

      $result = $client->getAccountSettings(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- accountSettings => (associative-array)

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

  - awsAccountNumber => (string)

    The AWS account number specified in the AccountSettings container.

  - unmeteredDevices => (associative-array<int>)

    Associative array of <string> keys mapping to (int) values. Each array key should be changed to an appropriate <string>.

    Returns the unmetered devices you have purchased.

    - <string> => (int)

# `public `Guzzle\Service\Resource\Model``
`getDevice( array $args = array() )`

Executes the GetDevice operation.

Gets information about a unique device type.

#### Examples

- Basic formatting example

      $result = $client->getDevice(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The device type's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- device => (associative-array)

  Represents a device type that an app is tested against.

  - arn => (string)

    The device's ARN.

  - name => (string)

    The device's display name.

  - manufacturer => (string)

    The device's manufacturer name.

  - model => (string)

    The device's model name.

  - formFactor => (string)

    The device's form factor.

    Allowed values include:

    - PHONE: The phone form factor.

    - TABLET: The tablet form factor.

  - platform => (string)

    The device's platform.

    Allowed values include:

    - ANDROID: The Android platform.

    - IOS: The iOS platform.

  - os => (string)

    The device's operating system type.

  - cpu => (associative-array)

    Information about the device's CPU.

    - frequency => (string)

      The CPU's frequency.

    - architecture => (string)

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

    - clock => (int)

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

  - resolution => (associative-array)

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

    - width => (int)

      The screen resolution's width, expressed in pixels.

    - height => (int)

      The screen resolution's height, expressed in pixels.

  - heapSize => (int)

    The device's heap size, expressed in bytes.

  - memory => (int)

    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.

# `public `Guzzle\Service\Resource\Model``
`getDevicePool( array $args = array() )`

Executes the GetDevicePool operation.

Gets information about a device pool.

#### Examples

- Basic formatting example

      $result = $client->getDevicePool(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The device pool's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- devicePool => (associative-array)

  Represents a collection of device types.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getDevicePoolCompatibility( array $args = array() )`

Executes the GetDevicePoolCompatibility operation.

Gets information about compatibility with a device pool.

#### Examples

- Basic formatting example

      $result = $client->getDevicePoolCompatibility(array(
          // devicePoolArn is required
          'devicePoolArn' => 'string',
          'appArn' => 'string',
          'testType' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - devicePoolArn => (string)

    The device pool's ARN.

  - appArn => (string)

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

  - testType => (string: BUILTIN_FUZZ | BUILTIN_EXPLORER | APPIUM_JAVA_JUNIT | APPIUM_JAVA_TESTNG | CALABASH | INSTRUMENTATION | UIAUTOMATION | UIAUTOMATOR | XCTEST )

    The test type for the specified device pool.

    Allowed values include the following:

    - BUILTIN_FUZZ: The built-in fuzz type.

    - BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

    - APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

    - APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

    - CALABASH: The Calabash type.

    - INSTRUMENTATION: The Instrumentation type.

    - UIAUTOMATION: The uiautomation type.

    - UIAUTOMATOR: The uiautomator type.

    - XCTEST: The XCode test type.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- compatibleDevices => (array<associative-array>)

  Information about compatible devices.

  - (associative-array)

    Represents a device pool compatibility result.

    - device => (associative-array)

      Represents a device type that an app is tested against.

      - arn => (string)

        The device's ARN.

      - name => (string)

        The device's display name.

      - manufacturer => (string)

        The device's manufacturer name.

      - model => (string)

        The device's model name.

      - formFactor => (string)

        The device's form factor.

        Allowed values include:

        - PHONE: The phone form factor.

        - TABLET: The tablet form factor.

      - platform => (string)

        The device's platform.

        Allowed values include:

        - ANDROID: The Android platform.

        - IOS: The iOS platform.

      - os => (string)

        The device's operating system type.

      - cpu => (associative-array)

        Information about the device's CPU.

        - frequency => (string)

          The CPU's frequency.

        - architecture => (string)

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

        - clock => (int)

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

      - resolution => (associative-array)

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

        - width => (int)

          The screen resolution's width, expressed in pixels.

        - height => (int)

          The screen resolution's height, expressed in pixels.

      - heapSize => (int)

        The device's heap size, expressed in bytes.

      - memory => (int)

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

      - image => (string)

        The device's image name.

      - carrier => (string)

        The device's carrier.

      - radio => (string)

        The device's radio.

    - compatible => (bool)

      Whether the result was compatible with the device pool.

    - incompatibilityMessages => (array<associative-array>)

      Information about the compatibility.

      - (associative-array)

        Represents information about incompatibility.

        - => (associative-array)

          Associative array of custom key value pairs

- incompatibleDevices => (array<associative-array>)

  Information about incompatible devices.

  - (associative-array)

    Represents a device pool compatibility result.

    - device => (associative-array)

      Represents a device type that an app is tested against.

      - arn => (string)

        The device's ARN.

      - name => (string)

        The device's display name.

      - manufacturer => (string)

        The device's manufacturer name.

      - model => (string)

        The device's model name.

      - formFactor => (string)

        The device's form factor.

        Allowed values include:

        - PHONE: The phone form factor.

        - TABLET: The tablet form factor.

      - platform => (string)

        The device's platform.

        Allowed values include:

        - ANDROID: The Android platform.

        - IOS: The iOS platform.

      - os => (string)

        The device's operating system type.

      - cpu => (associative-array)

        Information about the device's CPU.

        - frequency => (string)

          The CPU's frequency.

        - architecture => (string)

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

        - clock => (int)

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

      - resolution => (associative-array)

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

        - width => (int)

          The screen resolution's width, expressed in pixels.

        - height => (int)

          The screen resolution's height, expressed in pixels.

      - heapSize => (int)

        The device's heap size, expressed in bytes.

      - memory => (int)

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

      - image => (string)

        The device's image name.

      - carrier => (string)

        The device's carrier.

      - radio => (string)

        The device's radio.

    - compatible => (bool)

      Whether the result was compatible with the device pool.

    - incompatibilityMessages => (array<associative-array>)

      Information about the compatibility.

      - (associative-array)

        Represents information about incompatibility.

        - => (associative-array)

          Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getJob( array $args = array() )`

Executes the GetJob operation.

Gets information about a job.

#### Examples

- Basic formatting example

      $result = $client->getJob(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The job's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- job => (associative-array)

  Represents a device.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getProject( array $args = array() )`

Executes the GetProject operation.

Gets information about a project.

#### Examples

- Basic formatting example

      $result = $client->getProject(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The project's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- project => (associative-array)

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

  - arn => (string)

    The project's ARN.

  - name => (string)

    The project's name.

  - created => (string)

    When the project was created.

# `public `Guzzle\Service\Resource\Model``
`getRun( array $args = array() )`

Executes the GetRun operation.

Gets information about a run.

#### Examples

- Basic formatting example

      $result = $client->getRun(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The run's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- run => (associative-array)

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

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getSuite( array $args = array() )`

Executes the GetSuite operation.

Gets information about a suite.

#### Examples

- Basic formatting example

      $result = $client->getSuite(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The suite's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- suite => (associative-array)

  Represents a collection of one or more tests.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getTest( array $args = array() )`

Executes the GetTest operation.

Gets information about a test.

#### Examples

- Basic formatting example

      $result = $client->getTest(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The test's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- test => (associative-array)

  Represents a condition that is evaluated.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`getUpload( array $args = array() )`

Executes the GetUpload operation.

Gets information about an upload.

#### Examples

- Basic formatting example

      $result = $client->getUpload(array(
          // arn is required
          'arn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The upload's ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- upload => (associative-array)

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

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`listArtifacts( array $args = array() )`

Executes the ListArtifacts operation.

Gets information about artifacts.

#### Examples

- Basic formatting example

      $result = $client->listArtifacts(array(
          '' => array(
              // Associative array of custom key value pairs
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - => (associative-array)

    Associative array of custom key value pairs

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- artifacts => (array<associative-array>)

  Information about the artifacts.

  - (associative-array)

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

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listDevicePools( array $args = array() )`

Executes the ListDevicePools operation.

Gets information about device pools.

#### Examples

- Basic formatting example

      $result = $client->listDevicePools(array(
          '' => array(
              // Associative array of custom key value pairs
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - => (associative-array)

    Associative array of custom key value pairs

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- devicePools => (array<associative-array>)

  Information about the device pools.

  - (associative-array)

    Represents a collection of device types.

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listDevices( array $args = array() )`

Executes the ListDevices operation.

Gets information about unique device types.

#### Examples

- Basic formatting example

      $result = $client->listDevices(array(
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The device types' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- devices => (array<associative-array>)

  Information about the devices.

  - (associative-array)

    Represents a device type that an app is tested against.

    - arn => (string)

      The device's ARN.

    - name => (string)

      The device's display name.

    - manufacturer => (string)

      The device's manufacturer name.

    - model => (string)

      The device's model name.

    - formFactor => (string)

      The device's form factor.

      Allowed values include:

      - PHONE: The phone form factor.

      - TABLET: The tablet form factor.

    - platform => (string)

      The device's platform.

      Allowed values include:

      - ANDROID: The Android platform.

      - IOS: The iOS platform.

    - os => (string)

      The device's operating system type.

    - cpu => (associative-array)

      Information about the device's CPU.

      - frequency => (string)

        The CPU's frequency.

      - architecture => (string)

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

      - clock => (int)

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

    - resolution => (associative-array)

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

      - width => (int)

        The screen resolution's width, expressed in pixels.

      - height => (int)

        The screen resolution's height, expressed in pixels.

    - heapSize => (int)

      The device's heap size, expressed in bytes.

    - memory => (int)

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

    - image => (string)

      The device's image name.

    - carrier => (string)

      The device's carrier.

    - radio => (string)

      The device's radio.

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listJobs( array $args = array() )`

Executes the ListJobs operation.

Gets information about jobs.

#### Examples

- Basic formatting example

      $result = $client->listJobs(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The jobs' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- jobs => (array<associative-array>)

  Information about the jobs.

  - (associative-array)

    Represents a device.

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listProjects( array $args = array() )`

Executes the ListProjects operation.

Gets information about projects.

#### Examples

- Basic formatting example

      $result = $client->listProjects(array(
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The projects' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- projects => (array<associative-array>)

  Information about the projects.

  - (associative-array)

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

    - arn => (string)

      The project's ARN.

    - name => (string)

      The project's name.

    - created => (string)

      When the project was created.

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listRuns( array $args = array() )`

Executes the ListRuns operation.

Gets information about runs.

#### Examples

- Basic formatting example

      $result = $client->listRuns(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The runs' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- runs => (array<associative-array>)

  Information about the runs.

  - (associative-array)

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

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listSamples( array $args = array() )`

Executes the ListSamples operation.

Gets information about samples.

#### Examples

- Basic formatting example

      $result = $client->listSamples(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The samples' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- samples => (array<associative-array>)

  Information about the samples.

  - (associative-array)

    Represents a sample of performance data.

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listSuites( array $args = array() )`

Executes the ListSuites operation.

Gets information about suites.

#### Examples

- Basic formatting example

      $result = $client->listSuites(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The suites' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- suites => (array<associative-array>)

  Information about the suites.

  - (associative-array)

    Represents a collection of one or more tests.

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listTests( array $args = array() )`

Executes the ListTests operation.

Gets information about tests.

#### Examples

- Basic formatting example

      $result = $client->listTests(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The tests' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- tests => (array<associative-array>)

  Information about the tests.

  - (associative-array)

    Represents a condition that is evaluated.

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listUniqueProblems( array $args = array() )`

Executes the ListUniqueProblems operation.

Gets information about unique problems.

#### Examples

- Basic formatting example

      $result = $client->listUniqueProblems(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The unique problems' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- uniqueProblems => (associative-array<array<associative-array>>)

  Associative array of <string> keys mapping to (array<associative-array>) values. Each array key should be changed to an appropriate <string>.

  Information about the unique problems.

  Allowed values include:

  - ERRORED: An error condition.

  - FAILED: A failed condition.

  - SKIPPED: A skipped condition.

  - STOPPED: A stopped condition.

  - PASSED: A passing condition.

  - PENDING: A pending condition.

  - WARNED: A warning condition.

  - <string> => (array<associative-array>)
    - (associative-array)

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

      - message => (string)

        A message about the unique problems' result.

      - problems => (array<associative-array>)

        Information about the problems.

        - (associative-array)

          Represents a specific warning or failure.

          - run => (associative-array)

            Information about the associated run.

            - arn => (string)

              The problem detail's ARN.

            - name => (string)

              The problem detail's name.

          - job => (associative-array)

            Information about the associated job.

            - arn => (string)

              The problem detail's ARN.

            - name => (string)

              The problem detail's name.

          - suite => (associative-array)

            Information about the associated suite.

            - arn => (string)

              The problem detail's ARN.

            - name => (string)

              The problem detail's name.

          - test => (associative-array)

            Information about the associated test.

            - arn => (string)

              The problem detail's ARN.

            - name => (string)

              The problem detail's name.

          - device => (associative-array)

            Information about the associated device.

            - arn => (string)

              The device's ARN.

            - name => (string)

              The device's display name.

            - manufacturer => (string)

              The device's manufacturer name.

            - model => (string)

              The device's model name.

            - formFactor => (string)

              The device's form factor.

              Allowed values include:

              - PHONE: The phone form factor.

              - TABLET: The tablet form factor.

            - platform => (string)

              The device's platform.

              Allowed values include:

              - ANDROID: The Android platform.

              - IOS: The iOS platform.

            - os => (string)

              The device's operating system type.

            - cpu => (associative-array)

              Information about the device's CPU.

              - frequency => (string)

                The CPU's frequency.

              - architecture => (string)

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

              - clock => (int)

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

            - resolution => (associative-array)

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

              - width => (int)

                The screen resolution's width, expressed in pixels.

              - height => (int)

                The screen resolution's height, expressed in pixels.

            - heapSize => (int)

              The device's heap size, expressed in bytes.

            - memory => (int)

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

            - image => (string)

              The device's image name.

            - carrier => (string)

              The device's carrier.

            - radio => (string)

              The device's radio.

          - result => (string)

            The problem's result.

            Allowed values include:

            - ERRORED: An error condition.

            - FAILED: A failed condition.

            - SKIPPED: A skipped condition.

            - STOPPED: A stopped condition.

            - PASSED: A passing condition.

            - PENDING: A pending condition.

            - WARNED: A warning condition.

          - message => (string)

            A message about the problem's result.

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`listUploads( array $args = array() )`

Executes the ListUploads operation.

Gets information about uploads.

#### Examples

- Basic formatting example

      $result = $client->listUploads(array(
          // arn is required
          'arn' => 'string',
          'nextToken' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - arn => (string)

    The uploads' ARNs.

  - nextToken => (string)

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- uploads => (array<associative-array>)

  Information about the uploads.

  - (associative-array)

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

    - => (associative-array)

      Associative array of custom key value pairs

- nextToken => (string)

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

# `public `Guzzle\Service\Resource\Model``
`scheduleRun( array $args = array() )`

Executes the ScheduleRun operation.

Schedules a run.

#### Examples

- Basic formatting example

      $result = $client->scheduleRun(array(
          // projectArn is required
          'projectArn' => 'string',
          'appArn' => 'string',
          // devicePoolArn is required
          'devicePoolArn' => 'string',
          'name' => 'string',
          // test is required
          'test' => array(
              '' => array(
                  // Associative array of custom key value pairs
              ),
          ),
          'configuration' => array(
              'extraDataPackageArn' => 'string',
              'networkProfileArn' => 'string',
              'locale' => 'string',
              'location' => array(
                  // latitude is required
                  'latitude' => integer,
                  // longitude is required
                  'longitude' => integer,
              ),
              'radios' => array(
                  'wifi' => true || false,
                  'bluetooth' => true || false,
                  'nfc' => true || false,
                  'gps' => true || false,
              ),
              'auxiliaryApps' => array('string', ... ),
              'billingMethod' => 'string',
          ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - projectArn => (string)

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

  - appArn => (string)

    The ARN of the app to schedule a run.

  - devicePoolArn => (string)

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

  - name => (string)

    The name for the run to be scheduled.

  - test => (associative-array)

    Information about the test for the run to be scheduled.

    - => (associative-array)

      Associative array of custom key value pairs

  - configuration => (associative-array)

    Information about the settings for the run to be scheduled.

    - extraDataPackageArn => (string)

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

    - networkProfileArn => (string)

      Reserved for internal use.

    - locale => (string)

      Information about the locale that is used for the run.

    - location => (associative-array)

      Information about the location that is used for the run.

      - latitude => (int)

        The latitude.

      - longitude => (int)

        The longitude.

    - radios => (associative-array)

      Information about the radio states for the run.

      - wifi => (bool)

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

      - bluetooth => (bool)

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

      - nfc => (bool)

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

      - gps => (bool)

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

    - auxiliaryApps => (array<string>)

      A list of auxiliary apps for the run.

    - billingMethod => (string: METERED | UNMETERED )

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

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- run => (associative-array)

  Information about the scheduled run.

  - => (associative-array)

    Associative array of custom key value pairs

# `public `Guzzle\Service\Resource\Model``
`updateDevicePool( array $args = array() )`

{@command DeviceFarm UpdateDevicePool}

#### Examples

- Basic formatting example

      $result = $client->updateDevicePool(array(
          // arn is required
          'arn' => 'string',
          'name' => 'string',
          'description' => 'string',
          'rules' => array(
              array(
                  'attribute' => 'string',
                  'operator' => 'string',
                  'value' => 'string',
              ),
              // ... repeated
          ),
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\Model``
`updateProject( array $args = array() )`

{@command DeviceFarm UpdateProject}

#### Examples

- Basic formatting example

      $result = $client->updateProject(array(
          // arn is required
          'arn' => 'string',
          'name' => 'string',
      ));

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\Model``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListArtifactsIterator( array $args = array() )`

The input array uses the parameters of the ListArtifacts operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListDevicePoolsIterator( array $args = array() )`

The input array uses the parameters of the ListDevicePools operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListDevicesIterator( array $args = array() )`

The input array uses the parameters of the ListDevices operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListJobsIterator( array $args = array() )`

The input array uses the parameters of the ListJobs operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListProjectsIterator( array $args = array() )`

The input array uses the parameters of the ListProjects operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListRunsIterator( array $args = array() )`

The input array uses the parameters of the ListRuns operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListSamplesIterator( array $args = array() )`

The input array uses the parameters of the ListSamples operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListSuitesIterator( array $args = array() )`

The input array uses the parameters of the ListSuites operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListTestsIterator( array $args = array() )`

The input array uses the parameters of the ListTests operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListUniqueProblemsIterator( array $args = array() )`

The input array uses the parameters of the ListUniqueProblems operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListUploadsIterator( array $args = array() )`

The input array uses the parameters of the ListUploads operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``

### Methods inherited from Aws\Common\Client\AbstractClient

`__call()`, `__construct()`, `createRequest()`, `getAllEvents()`, `getApiVersion()`, `getCredentials()`, `getRegion()`, `getRegions()`, `getSignature()`, `getWaiter()`, `getWaiterFactory()`, `send()`, `setCredentials()`, `setRegion()`, `setWaiterFactory()`, `waitUntil()`

### Methods inherited from Guzzle\Service\Client

`execute()`, `executeMultiple()`, `getCommand()`, `getCommandFactory()`, `getDescription()`, `getInflector()`, `getIterator()`, `getResourceIteratorFactory()`, `prepareCommand()`, `setCommandFactory()`, `setDescription()`, `setInflector()`, `setResourceIteratorFactory()`

### Methods inherited from Guzzle\Http\Client

`delete()`, `expandTemplate()`, `extractPharCacert()`, `get()`, `getBaseUrl()`, `getConfig()`, `getCurlMulti()`, `getDefaultOption()`, `getDefaultUserAgent()`, `getUriTemplate()`, `head()`, `initSsl()`, `options()`, `patch()`, `post()`, `prepareRequest()`, `put()`, `sendMultiple()`, `setBaseUrl()`, `setConfig()`, `setCurlMulti()`, `setDefaultOption()`, `setRequestFactory()`, `setSslVerification()`, `setUriTemplate()`, `setUserAgent()`

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

`addSubscriber()`, `dispatch()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Constants summary

`string` | `LATEST_API_VERSION` | `'2015-06-23'` | #

### Constants inherited from Guzzle\Service\Client

`COMMAND_PARAMS`

### Constants inherited from Guzzle\Http\Client

`CURL_OPTIONS`, `DEFAULT_SELECT_TIMEOUT`, `DISABLE_REDIRECTS`, `MAX_HANDLES`, `REQUEST_OPTIONS`, `SSL_CERT_AUTHORITY`

### Constants inherited from Guzzle\Http\ClientInterface

`CREATE_REQUEST`, `HTTP_DATE`

## Properties summary

### Properties inherited from Aws\Common\Client\AbstractClient

`$aggregator`, `$credentials`, `$signature`, `$waiterFactory`

### Properties inherited from Guzzle\Service\Client

`$commandFactory`, `$inflector`, `$resourceIteratorFactory`, `$serviceDescription`

### Properties inherited from Guzzle\Http\Client

`$defaultHeaders`, `$requestFactory`, `$userAgent`

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`