/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DeviceFarm { namespace Model { /** *

Represents a device type that an app is tested against.

See * Also:

AWS * API Reference

*/ class Device { public: AWS_DEVICEFARM_API Device(); AWS_DEVICEFARM_API Device(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API Device& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The device's ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The device's ARN.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The device's ARN.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The device's ARN.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The device's ARN.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The device's ARN.

*/ inline Device& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The device's ARN.

*/ inline Device& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The device's ARN.

*/ inline Device& WithArn(const char* value) { SetArn(value); return *this;} /** *

The device's display name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The device's display name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The device's display name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The device's display name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The device's display name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The device's display name.

*/ inline Device& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The device's display name.

*/ inline Device& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The device's display name.

*/ inline Device& WithName(const char* value) { SetName(value); return *this;} /** *

The device's manufacturer name.

*/ inline const Aws::String& GetManufacturer() const{ return m_manufacturer; } /** *

The device's manufacturer name.

*/ inline bool ManufacturerHasBeenSet() const { return m_manufacturerHasBeenSet; } /** *

The device's manufacturer name.

*/ inline void SetManufacturer(const Aws::String& value) { m_manufacturerHasBeenSet = true; m_manufacturer = value; } /** *

The device's manufacturer name.

*/ inline void SetManufacturer(Aws::String&& value) { m_manufacturerHasBeenSet = true; m_manufacturer = std::move(value); } /** *

The device's manufacturer name.

*/ inline void SetManufacturer(const char* value) { m_manufacturerHasBeenSet = true; m_manufacturer.assign(value); } /** *

The device's manufacturer name.

*/ inline Device& WithManufacturer(const Aws::String& value) { SetManufacturer(value); return *this;} /** *

The device's manufacturer name.

*/ inline Device& WithManufacturer(Aws::String&& value) { SetManufacturer(std::move(value)); return *this;} /** *

The device's manufacturer name.

*/ inline Device& WithManufacturer(const char* value) { SetManufacturer(value); return *this;} /** *

The device's model name.

*/ inline const Aws::String& GetModel() const{ return m_model; } /** *

The device's model name.

*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *

The device's model name.

*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *

The device's model name.

*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *

The device's model name.

*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *

The device's model name.

*/ inline Device& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *

The device's model name.

*/ inline Device& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *

The device's model name.

*/ inline Device& WithModel(const char* value) { SetModel(value); return *this;} /** *

The device's model ID.

*/ inline const Aws::String& GetModelId() const{ return m_modelId; } /** *

The device's model ID.

*/ inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; } /** *

The device's model ID.

*/ inline void SetModelId(const Aws::String& value) { m_modelIdHasBeenSet = true; m_modelId = value; } /** *

The device's model ID.

*/ inline void SetModelId(Aws::String&& value) { m_modelIdHasBeenSet = true; m_modelId = std::move(value); } /** *

The device's model ID.

*/ inline void SetModelId(const char* value) { m_modelIdHasBeenSet = true; m_modelId.assign(value); } /** *

The device's model ID.

*/ inline Device& WithModelId(const Aws::String& value) { SetModelId(value); return *this;} /** *

The device's model ID.

*/ inline Device& WithModelId(Aws::String&& value) { SetModelId(std::move(value)); return *this;} /** *

The device's model ID.

*/ inline Device& WithModelId(const char* value) { SetModelId(value); return *this;} /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline const DeviceFormFactor& GetFormFactor() const{ return m_formFactor; } /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline bool FormFactorHasBeenSet() const { return m_formFactorHasBeenSet; } /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline void SetFormFactor(const DeviceFormFactor& value) { m_formFactorHasBeenSet = true; m_formFactor = value; } /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline void SetFormFactor(DeviceFormFactor&& value) { m_formFactorHasBeenSet = true; m_formFactor = std::move(value); } /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline Device& WithFormFactor(const DeviceFormFactor& value) { SetFormFactor(value); return *this;} /** *

The device's form factor.

Allowed values include:

  • *

    PHONE

  • TABLET

*/ inline Device& WithFormFactor(DeviceFormFactor&& value) { SetFormFactor(std::move(value)); return *this;} /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline const DevicePlatform& GetPlatform() const{ return m_platform; } /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline void SetPlatform(const DevicePlatform& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline void SetPlatform(DevicePlatform&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline Device& WithPlatform(const DevicePlatform& value) { SetPlatform(value); return *this;} /** *

The device's platform.

Allowed values include:

  • *

    ANDROID

  • IOS

*/ inline Device& WithPlatform(DevicePlatform&& value) { SetPlatform(std::move(value)); return *this;} /** *

The device's operating system type.

*/ inline const Aws::String& GetOs() const{ return m_os; } /** *

The device's operating system type.

*/ inline bool OsHasBeenSet() const { return m_osHasBeenSet; } /** *

The device's operating system type.

*/ inline void SetOs(const Aws::String& value) { m_osHasBeenSet = true; m_os = value; } /** *

The device's operating system type.

*/ inline void SetOs(Aws::String&& value) { m_osHasBeenSet = true; m_os = std::move(value); } /** *

The device's operating system type.

*/ inline void SetOs(const char* value) { m_osHasBeenSet = true; m_os.assign(value); } /** *

The device's operating system type.

*/ inline Device& WithOs(const Aws::String& value) { SetOs(value); return *this;} /** *

The device's operating system type.

*/ inline Device& WithOs(Aws::String&& value) { SetOs(std::move(value)); return *this;} /** *

The device's operating system type.

*/ inline Device& WithOs(const char* value) { SetOs(value); return *this;} /** *

Information about the device's CPU.

*/ inline const CPU& GetCpu() const{ return m_cpu; } /** *

Information about the device's CPU.

*/ inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; } /** *

Information about the device's CPU.

*/ inline void SetCpu(const CPU& value) { m_cpuHasBeenSet = true; m_cpu = value; } /** *

Information about the device's CPU.

*/ inline void SetCpu(CPU&& value) { m_cpuHasBeenSet = true; m_cpu = std::move(value); } /** *

Information about the device's CPU.

*/ inline Device& WithCpu(const CPU& value) { SetCpu(value); return *this;} /** *

Information about the device's CPU.

*/ inline Device& WithCpu(CPU&& value) { SetCpu(std::move(value)); return *this;} /** *

The resolution of the device.

*/ inline const Resolution& GetResolution() const{ return m_resolution; } /** *

The resolution of the device.

*/ inline bool ResolutionHasBeenSet() const { return m_resolutionHasBeenSet; } /** *

The resolution of the device.

*/ inline void SetResolution(const Resolution& value) { m_resolutionHasBeenSet = true; m_resolution = value; } /** *

The resolution of the device.

*/ inline void SetResolution(Resolution&& value) { m_resolutionHasBeenSet = true; m_resolution = std::move(value); } /** *

The resolution of the device.

*/ inline Device& WithResolution(const Resolution& value) { SetResolution(value); return *this;} /** *

The resolution of the device.

*/ inline Device& WithResolution(Resolution&& value) { SetResolution(std::move(value)); return *this;} /** *

The device's heap size, expressed in bytes.

*/ inline long long GetHeapSize() const{ return m_heapSize; } /** *

The device's heap size, expressed in bytes.

*/ inline bool HeapSizeHasBeenSet() const { return m_heapSizeHasBeenSet; } /** *

The device's heap size, expressed in bytes.

*/ inline void SetHeapSize(long long value) { m_heapSizeHasBeenSet = true; m_heapSize = value; } /** *

The device's heap size, expressed in bytes.

*/ inline Device& WithHeapSize(long long value) { SetHeapSize(value); return *this;} /** *

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

*/ inline long long GetMemory() const{ return m_memory; } /** *

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

*/ inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; } /** *

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

*/ inline void SetMemory(long long value) { m_memoryHasBeenSet = true; m_memory = value; } /** *

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

*/ inline Device& WithMemory(long long value) { SetMemory(value); return *this;} /** *

The device's image name.

*/ inline const Aws::String& GetImage() const{ return m_image; } /** *

The device's image name.

*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *

The device's image name.

*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *

The device's image name.

*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *

The device's image name.

*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *

The device's image name.

*/ inline Device& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *

The device's image name.

*/ inline Device& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *

The device's image name.

*/ inline Device& WithImage(const char* value) { SetImage(value); return *this;} /** *

The device's carrier.

*/ inline const Aws::String& GetCarrier() const{ return m_carrier; } /** *

The device's carrier.

*/ inline bool CarrierHasBeenSet() const { return m_carrierHasBeenSet; } /** *

The device's carrier.

*/ inline void SetCarrier(const Aws::String& value) { m_carrierHasBeenSet = true; m_carrier = value; } /** *

The device's carrier.

*/ inline void SetCarrier(Aws::String&& value) { m_carrierHasBeenSet = true; m_carrier = std::move(value); } /** *

The device's carrier.

*/ inline void SetCarrier(const char* value) { m_carrierHasBeenSet = true; m_carrier.assign(value); } /** *

The device's carrier.

*/ inline Device& WithCarrier(const Aws::String& value) { SetCarrier(value); return *this;} /** *

The device's carrier.

*/ inline Device& WithCarrier(Aws::String&& value) { SetCarrier(std::move(value)); return *this;} /** *

The device's carrier.

*/ inline Device& WithCarrier(const char* value) { SetCarrier(value); return *this;} /** *

The device's radio.

*/ inline const Aws::String& GetRadio() const{ return m_radio; } /** *

The device's radio.

*/ inline bool RadioHasBeenSet() const { return m_radioHasBeenSet; } /** *

The device's radio.

*/ inline void SetRadio(const Aws::String& value) { m_radioHasBeenSet = true; m_radio = value; } /** *

The device's radio.

*/ inline void SetRadio(Aws::String&& value) { m_radioHasBeenSet = true; m_radio = std::move(value); } /** *

The device's radio.

*/ inline void SetRadio(const char* value) { m_radioHasBeenSet = true; m_radio.assign(value); } /** *

The device's radio.

*/ inline Device& WithRadio(const Aws::String& value) { SetRadio(value); return *this;} /** *

The device's radio.

*/ inline Device& WithRadio(Aws::String&& value) { SetRadio(std::move(value)); return *this;} /** *

The device's radio.

*/ inline Device& WithRadio(const char* value) { SetRadio(value); return *this;} /** *

Specifies whether remote access has been enabled for the specified * device.

*/ inline bool GetRemoteAccessEnabled() const{ return m_remoteAccessEnabled; } /** *

Specifies whether remote access has been enabled for the specified * device.

*/ inline bool RemoteAccessEnabledHasBeenSet() const { return m_remoteAccessEnabledHasBeenSet; } /** *

Specifies whether remote access has been enabled for the specified * device.

*/ inline void SetRemoteAccessEnabled(bool value) { m_remoteAccessEnabledHasBeenSet = true; m_remoteAccessEnabled = value; } /** *

Specifies whether remote access has been enabled for the specified * device.

*/ inline Device& WithRemoteAccessEnabled(bool value) { SetRemoteAccessEnabled(value); return *this;} /** *

This flag is set to true if remote debugging is enabled for the * device.

Remote debugging is no * longer supported.

*/ inline bool GetRemoteDebugEnabled() const{ return m_remoteDebugEnabled; } /** *

This flag is set to true if remote debugging is enabled for the * device.

Remote debugging is no * longer supported.

*/ inline bool RemoteDebugEnabledHasBeenSet() const { return m_remoteDebugEnabledHasBeenSet; } /** *

This flag is set to true if remote debugging is enabled for the * device.

Remote debugging is no * longer supported.

*/ inline void SetRemoteDebugEnabled(bool value) { m_remoteDebugEnabledHasBeenSet = true; m_remoteDebugEnabled = value; } /** *

This flag is set to true if remote debugging is enabled for the * device.

Remote debugging is no * longer supported.

*/ inline Device& WithRemoteDebugEnabled(bool value) { SetRemoteDebugEnabled(value); return *this;} /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline const Aws::String& GetFleetType() const{ return m_fleetType; } /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline bool FleetTypeHasBeenSet() const { return m_fleetTypeHasBeenSet; } /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline void SetFleetType(const Aws::String& value) { m_fleetTypeHasBeenSet = true; m_fleetType = value; } /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline void SetFleetType(Aws::String&& value) { m_fleetTypeHasBeenSet = true; m_fleetType = std::move(value); } /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline void SetFleetType(const char* value) { m_fleetTypeHasBeenSet = true; m_fleetType.assign(value); } /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline Device& WithFleetType(const Aws::String& value) { SetFleetType(value); return *this;} /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline Device& WithFleetType(Aws::String&& value) { SetFleetType(std::move(value)); return *this;} /** *

The type of fleet to which this device belongs. Possible values are PRIVATE * and PUBLIC.

*/ inline Device& WithFleetType(const char* value) { SetFleetType(value); return *this;} /** *

The name of the fleet to which this device belongs.

*/ inline const Aws::String& GetFleetName() const{ return m_fleetName; } /** *

The name of the fleet to which this device belongs.

*/ inline bool FleetNameHasBeenSet() const { return m_fleetNameHasBeenSet; } /** *

The name of the fleet to which this device belongs.

*/ inline void SetFleetName(const Aws::String& value) { m_fleetNameHasBeenSet = true; m_fleetName = value; } /** *

The name of the fleet to which this device belongs.

*/ inline void SetFleetName(Aws::String&& value) { m_fleetNameHasBeenSet = true; m_fleetName = std::move(value); } /** *

The name of the fleet to which this device belongs.

*/ inline void SetFleetName(const char* value) { m_fleetNameHasBeenSet = true; m_fleetName.assign(value); } /** *

The name of the fleet to which this device belongs.

*/ inline Device& WithFleetName(const Aws::String& value) { SetFleetName(value); return *this;} /** *

The name of the fleet to which this device belongs.

*/ inline Device& WithFleetName(Aws::String&& value) { SetFleetName(std::move(value)); return *this;} /** *

The name of the fleet to which this device belongs.

*/ inline Device& WithFleetName(const char* value) { SetFleetName(value); return *this;} /** *

The instances that belong to this device.

*/ inline const Aws::Vector& GetInstances() const{ return m_instances; } /** *

The instances that belong to this device.

*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *

The instances that belong to this device.

*/ inline void SetInstances(const Aws::Vector& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *

The instances that belong to this device.

*/ inline void SetInstances(Aws::Vector&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *

The instances that belong to this device.

*/ inline Device& WithInstances(const Aws::Vector& value) { SetInstances(value); return *this;} /** *

The instances that belong to this device.

*/ inline Device& WithInstances(Aws::Vector&& value) { SetInstances(std::move(value)); return *this;} /** *

The instances that belong to this device.

*/ inline Device& AddInstances(const DeviceInstance& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

The instances that belong to this device.

*/ inline Device& AddInstances(DeviceInstance&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; } /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline const DeviceAvailability& GetAvailability() const{ return m_availability; } /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline bool AvailabilityHasBeenSet() const { return m_availabilityHasBeenSet; } /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline void SetAvailability(const DeviceAvailability& value) { m_availabilityHasBeenSet = true; m_availability = value; } /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline void SetAvailability(DeviceAvailability&& value) { m_availabilityHasBeenSet = true; m_availability = std::move(value); } /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline Device& WithAvailability(const DeviceAvailability& value) { SetAvailability(value); return *this;} /** *

Indicates how likely a device is available for a test run. Currently * available in the ListDevices and GetDevice API methods.

*/ inline Device& WithAvailability(DeviceAvailability&& value) { SetAvailability(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_manufacturer; bool m_manufacturerHasBeenSet = false; Aws::String m_model; bool m_modelHasBeenSet = false; Aws::String m_modelId; bool m_modelIdHasBeenSet = false; DeviceFormFactor m_formFactor; bool m_formFactorHasBeenSet = false; DevicePlatform m_platform; bool m_platformHasBeenSet = false; Aws::String m_os; bool m_osHasBeenSet = false; CPU m_cpu; bool m_cpuHasBeenSet = false; Resolution m_resolution; bool m_resolutionHasBeenSet = false; long long m_heapSize; bool m_heapSizeHasBeenSet = false; long long m_memory; bool m_memoryHasBeenSet = false; Aws::String m_image; bool m_imageHasBeenSet = false; Aws::String m_carrier; bool m_carrierHasBeenSet = false; Aws::String m_radio; bool m_radioHasBeenSet = false; bool m_remoteAccessEnabled; bool m_remoteAccessEnabledHasBeenSet = false; bool m_remoteDebugEnabled; bool m_remoteDebugEnabledHasBeenSet = false; Aws::String m_fleetType; bool m_fleetTypeHasBeenSet = false; Aws::String m_fleetName; bool m_fleetNameHasBeenSet = false; Aws::Vector m_instances; bool m_instancesHasBeenSet = false; DeviceAvailability m_availability; bool m_availabilityHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws