listDevices method

Future<ListDevicesResult> listDevices({
  1. String? arn,
  2. List<DeviceFilter>? filters,
  3. String? nextToken,
})

Gets information about unique device types.

May throw ArgumentException. May throw NotFoundException. May throw LimitExceededException. May throw ServiceAccountException.

Parameter arn : The Amazon Resource Name (ARN) of the project.

Parameter filters : Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute: The aspect of a device such as platform or model used as the selection criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
    • PLATFORM: The device platform. Valid values are ANDROID or IOS.
    • OS_VERSION: The operating system version (for example, 10.3.2).
    • MODEL: The device model (for example, iPad 5th Gen).
    • AVAILABILITY: The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
    • FORM_FACTOR: The device form factor. Valid values are PHONE or TABLET.
    • MANUFACTURER: The device manufacturer (for example, Apple).
    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is no longer supported, this attribute is ignored.
    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.
    • INSTANCE_LABELS: The label of the device instance.
    • FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
  • Operator: The filter operator.
    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.
    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.
    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.
    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.
  • Values: An array of one or more filter values.
    • The IN and NOT_IN operators take a values array that has one or more elements.
    • The other operators require an array with a single element.
    • In a request, the AVAILABILITY attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

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

Implementation

Future<ListDevicesResult> listDevices({
  String? arn,
  List<DeviceFilter>? filters,
  String? nextToken,
}) async {
  _s.validateStringLength(
    'arn',
    arn,
    32,
    1011,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    4,
    1024,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'DeviceFarm_20150623.ListDevices'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (arn != null) 'arn': arn,
      if (filters != null) 'filters': filters,
      if (nextToken != null) 'nextToken': nextToken,
    },
  );

  return ListDevicesResult.fromJson(jsonResponse.body);
}