/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 the device instance.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The Amazon Resource Name (ARN) of the device instance.

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

The ARN of the device.

*/ inline const Aws::String& GetDeviceArn() const{ return m_deviceArn; } /** *

The ARN of the device.

*/ inline bool DeviceArnHasBeenSet() const { return m_deviceArnHasBeenSet; } /** *

The ARN of the device.

*/ inline void SetDeviceArn(const Aws::String& value) { m_deviceArnHasBeenSet = true; m_deviceArn = value; } /** *

The ARN of the device.

*/ inline void SetDeviceArn(Aws::String&& value) { m_deviceArnHasBeenSet = true; m_deviceArn = std::move(value); } /** *

The ARN of the device.

*/ inline void SetDeviceArn(const char* value) { m_deviceArnHasBeenSet = true; m_deviceArn.assign(value); } /** *

The ARN of the device.

*/ inline DeviceInstance& WithDeviceArn(const Aws::String& value) { SetDeviceArn(value); return *this;} /** *

The ARN of the device.

*/ inline DeviceInstance& WithDeviceArn(Aws::String&& value) { SetDeviceArn(std::move(value)); return *this;} /** *

The ARN of the device.

*/ inline DeviceInstance& WithDeviceArn(const char* value) { SetDeviceArn(value); return *this;} /** *

An array of strings that describe the device instance.

*/ inline const Aws::Vector& GetLabels() const{ return m_labels; } /** *

An array of strings that describe the device instance.

*/ inline bool LabelsHasBeenSet() const { return m_labelsHasBeenSet; } /** *

An array of strings that describe the device instance.

*/ inline void SetLabels(const Aws::Vector& value) { m_labelsHasBeenSet = true; m_labels = value; } /** *

An array of strings that describe the device instance.

*/ inline void SetLabels(Aws::Vector&& value) { m_labelsHasBeenSet = true; m_labels = std::move(value); } /** *

An array of strings that describe the device instance.

*/ inline DeviceInstance& WithLabels(const Aws::Vector& value) { SetLabels(value); return *this;} /** *

An array of strings that describe the device instance.

*/ inline DeviceInstance& WithLabels(Aws::Vector&& value) { SetLabels(std::move(value)); return *this;} /** *

An array of strings that describe the device instance.

*/ inline DeviceInstance& AddLabels(const Aws::String& value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

An array of strings that describe the device instance.

*/ inline DeviceInstance& AddLabels(Aws::String&& value) { m_labelsHasBeenSet = true; m_labels.push_back(std::move(value)); return *this; } /** *

An array of strings that describe the device instance.

*/ inline DeviceInstance& AddLabels(const char* value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

The status of the device instance. Valid values are listed here.

*/ inline const InstanceStatus& GetStatus() const{ return m_status; } /** *

The status of the device instance. Valid values are listed here.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the device instance. Valid values are listed here.

*/ inline void SetStatus(const InstanceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the device instance. Valid values are listed here.

*/ inline void SetStatus(InstanceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the device instance. Valid values are listed here.

*/ inline DeviceInstance& WithStatus(const InstanceStatus& value) { SetStatus(value); return *this;} /** *

The status of the device instance. Valid values are listed here.

*/ inline DeviceInstance& WithStatus(InstanceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

Unique device identifier for the device instance.

*/ inline const Aws::String& GetUdid() const{ return m_udid; } /** *

Unique device identifier for the device instance.

*/ inline bool UdidHasBeenSet() const { return m_udidHasBeenSet; } /** *

Unique device identifier for the device instance.

*/ inline void SetUdid(const Aws::String& value) { m_udidHasBeenSet = true; m_udid = value; } /** *

Unique device identifier for the device instance.

*/ inline void SetUdid(Aws::String&& value) { m_udidHasBeenSet = true; m_udid = std::move(value); } /** *

Unique device identifier for the device instance.

*/ inline void SetUdid(const char* value) { m_udidHasBeenSet = true; m_udid.assign(value); } /** *

Unique device identifier for the device instance.

*/ inline DeviceInstance& WithUdid(const Aws::String& value) { SetUdid(value); return *this;} /** *

Unique device identifier for the device instance.

*/ inline DeviceInstance& WithUdid(Aws::String&& value) { SetUdid(std::move(value)); return *this;} /** *

Unique device identifier for the device instance.

*/ inline DeviceInstance& WithUdid(const char* value) { SetUdid(value); return *this;} /** *

A object that contains information about the instance profile.

*/ inline const InstanceProfile& GetInstanceProfile() const{ return m_instanceProfile; } /** *

A object that contains information about the instance profile.

*/ inline bool InstanceProfileHasBeenSet() const { return m_instanceProfileHasBeenSet; } /** *

A object that contains information about the instance profile.

*/ inline void SetInstanceProfile(const InstanceProfile& value) { m_instanceProfileHasBeenSet = true; m_instanceProfile = value; } /** *

A object that contains information about the instance profile.

*/ inline void SetInstanceProfile(InstanceProfile&& value) { m_instanceProfileHasBeenSet = true; m_instanceProfile = std::move(value); } /** *

A object that contains information about the instance profile.

*/ inline DeviceInstance& WithInstanceProfile(const InstanceProfile& value) { SetInstanceProfile(value); return *this;} /** *

A object that contains information about the instance profile.

*/ inline DeviceInstance& WithInstanceProfile(InstanceProfile&& value) { SetInstanceProfile(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_deviceArn; bool m_deviceArnHasBeenSet = false; Aws::Vector m_labels; bool m_labelsHasBeenSet = false; InstanceStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_udid; bool m_udidHasBeenSet = false; InstanceProfile m_instanceProfile; bool m_instanceProfileHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws