Class DeviceSelectionConfiguration

java.lang.Object
software.amazon.awssdk.services.devicefarm.model.DeviceSelectionConfiguration
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DeviceSelectionConfiguration.Builder,DeviceSelectionConfiguration>

@Generated("software.amazon.awssdk:codegen") public final class DeviceSelectionConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DeviceSelectionConfiguration.Builder,DeviceSelectionConfiguration>

Represents the device filters used in a test run and the maximum number of devices to be included in the run. It is passed in as the deviceSelectionConfiguration request parameter in ScheduleRun.

See Also:
  • Method Details

    • hasFilters

      public final boolean hasFilters()
      For responses, this returns true if the service returned a value for the Filters property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • filters

      public final List<DeviceFilter> filters()

      Used to dynamically select a set of devices for a test run. 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 filter 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.

        Operator Values

        • The IN and NOT_IN operators can take a values array that has more than one element.

        • The other operators require an array with a single element.

        Attribute Values

        • The PLATFORM attribute can be set to ANDROID or IOS.

        • The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

        • The FORM_FACTOR attribute can be set to PHONE or TABLET.

        • The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasFilters() method.

      Returns:
      Used to dynamically select a set of devices for a test run. 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 filter 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.

        Operator Values

        • The IN and NOT_IN operators can take a values array that has more than one element.

        • The other operators require an array with a single element.

        Attribute Values

        • The PLATFORM attribute can be set to ANDROID or IOS.

        • The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

        • The FORM_FACTOR attribute can be set to PHONE or TABLET.

        • The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

    • maxDevices

      public final Integer maxDevices()

      The maximum number of devices to be included in a test run.

      Returns:
      The maximum number of devices to be included in a test run.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DeviceSelectionConfiguration.Builder,DeviceSelectionConfiguration>
      Returns:
      a builder for type T
    • builder

      public static DeviceSelectionConfiguration.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DeviceSelectionConfiguration.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.