Skip to content

list_devices async

list_devices(
    *,
    config_overrides: Optional[AsyncDeviceFarmClientConfig] = None,
    arn: Optional[AmazonResourceName] = None,
    next_token: Optional[PaginationToken] = None,
    filters: Optional[DeviceFilters] = None,
) -> ListDevicesResult

Gets information about unique device types.

Parameters:

  • arn (Optional[AmazonResourceName], default: None ) –

    The Amazon Resource Name (ARN) of the project.

  • next_token (Optional[PaginationToken], default: None ) –

    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.

  • filters (Optional[DeviceFilters], default: None ) –

    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.

Raises:

Examples:

To get information about devices The following example returns information about the available devices in a specific project.

>>> await client.list_devices(arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456')
Source code in docs_src/capo_device_farm/_services/async_device_farm.py
async def list_devices(
    self,
    *,
    config_overrides: Optional[AsyncDeviceFarmClientConfig] = None,
    arn: Optional[
        "capo_device_farm.types.amazon_resource_name.AmazonResourceName"
    ] = None,
    next_token: Optional[
        "capo_device_farm.types.pagination_token.PaginationToken"
    ] = None,
    filters: Optional["capo_device_farm.types.device_filters.DeviceFilters"] = None,
) -> "capo_device_farm.types.list_devices_result.ListDevicesResult":
    """<p>Gets information about unique device types.</p>

    Args:
        arn: <p>The Amazon Resource Name (ARN) of the project.</p>
        next_token: <p>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.</p>
        filters: <p>Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values.</p> <ul> <li> <p>Attribute: The aspect of a device such as platform or model used as the selection criteria in a device filter.</p> <p>Allowed values include:</p> <ul> <li> <p>ARN: The Amazon Resource Name (ARN) of the device (for example, <code>arn:aws:devicefarm:us-west-2::device:12345Example</code>).</p> </li> <li> <p>PLATFORM: The device platform. Valid values are ANDROID or IOS.</p> </li> <li> <p>OS_VERSION: The operating system version (for example, 10.3.2).</p> </li> <li> <p>MODEL: The device model (for example, iPad 5th Gen).</p> </li> <li> <p>AVAILABILITY: The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.</p> </li> <li> <p>FORM_FACTOR: The device form factor. Valid values are PHONE or TABLET.</p> </li> <li> <p>MANUFACTURER: The device manufacturer (for example, Apple).</p> </li> <li> <p>REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are TRUE or FALSE.</p> </li> <li> <p>REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is <a href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no longer supported</a>, this attribute is ignored.</p> </li> <li> <p>INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.</p> </li> <li> <p>INSTANCE_LABELS: The label of the device instance.</p> </li> <li> <p>FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.</p> </li> </ul> </li> <li> <p>Operator: The filter operator.</p> <ul> <li> <p>The EQUALS operator is available for every attribute except INSTANCE_LABELS.</p> </li> <li> <p>The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.</p> </li> <li> <p>The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.</p> </li> <li> <p>The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.</p> </li> </ul> </li> <li> <p>Values: An array of one or more filter values.</p> <ul> <li> <p>The IN and NOT_IN operators take a values array that has one or more elements.</p> </li> <li> <p>The other operators require an array with a single element.</p> </li> <li> <p>In a request, the AVAILABILITY attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.</p> </li> </ul> </li> </ul>

    Raises:
        capo_device_farm.errors.argument_exception.ArgumentException: <p>An invalid argument was specified.</p>
        capo_device_farm.errors.limit_exceeded_exception.LimitExceededException: <p>A limit was exceeded.</p>
        capo_device_farm.errors.not_found_exception.NotFoundException: <p>The specified entity was not found.</p>
        capo_device_farm.errors.service_account_exception.ServiceAccountException: <p>There was a problem with the service account.</p>
        capo_device_farm.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To get information about devices
        The following example returns information about the available devices in a specific project.

        >>> await client.list_devices(arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_device_farm.types.list_devices_request.ListDevicesRequest]",
    ) -> AsyncOperationResponse[
        "capo_device_farm.types.list_devices_result.ListDevicesResult"
    ]:
        import capo_device_farm._operations.device_farm_20150623.list_devices

        (
            output,
            http_response,
        ) = await capo_device_farm._operations.device_farm_20150623.list_devices.async_list_devices(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListDevices")
    )
    input_: capo_device_farm.types.list_devices_request.ListDevicesRequest = {}
    if arn is not None:
        input_["arn"] = arn
    if next_token is not None:
        input_["next_token"] = next_token
    if filters is not None:
        input_["filters"] = filters

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output