/** * 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 AlexaForBusiness { namespace Model { /** *

A device with attributes.

See Also:

AWS * API Reference

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The ARN of a device.

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

The serial number of a device.

*/ inline const Aws::String& GetDeviceSerialNumber() const{ return m_deviceSerialNumber; } /** *

The serial number of a device.

*/ inline bool DeviceSerialNumberHasBeenSet() const { return m_deviceSerialNumberHasBeenSet; } /** *

The serial number of a device.

*/ inline void SetDeviceSerialNumber(const Aws::String& value) { m_deviceSerialNumberHasBeenSet = true; m_deviceSerialNumber = value; } /** *

The serial number of a device.

*/ inline void SetDeviceSerialNumber(Aws::String&& value) { m_deviceSerialNumberHasBeenSet = true; m_deviceSerialNumber = std::move(value); } /** *

The serial number of a device.

*/ inline void SetDeviceSerialNumber(const char* value) { m_deviceSerialNumberHasBeenSet = true; m_deviceSerialNumber.assign(value); } /** *

The serial number of a device.

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

The serial number of a device.

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

The serial number of a device.

*/ inline Device& WithDeviceSerialNumber(const char* value) { SetDeviceSerialNumber(value); return *this;} /** *

The type of a device.

*/ inline const Aws::String& GetDeviceType() const{ return m_deviceType; } /** *

The type of a device.

*/ inline bool DeviceTypeHasBeenSet() const { return m_deviceTypeHasBeenSet; } /** *

The type of a device.

*/ inline void SetDeviceType(const Aws::String& value) { m_deviceTypeHasBeenSet = true; m_deviceType = value; } /** *

The type of a device.

*/ inline void SetDeviceType(Aws::String&& value) { m_deviceTypeHasBeenSet = true; m_deviceType = std::move(value); } /** *

The type of a device.

*/ inline void SetDeviceType(const char* value) { m_deviceTypeHasBeenSet = true; m_deviceType.assign(value); } /** *

The type of a device.

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

The type of a device.

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

The type of a device.

*/ inline Device& WithDeviceType(const char* value) { SetDeviceType(value); return *this;} /** *

The name of a device.

*/ inline const Aws::String& GetDeviceName() const{ return m_deviceName; } /** *

The name of a device.

*/ inline bool DeviceNameHasBeenSet() const { return m_deviceNameHasBeenSet; } /** *

The name of a device.

*/ inline void SetDeviceName(const Aws::String& value) { m_deviceNameHasBeenSet = true; m_deviceName = value; } /** *

The name of a device.

*/ inline void SetDeviceName(Aws::String&& value) { m_deviceNameHasBeenSet = true; m_deviceName = std::move(value); } /** *

The name of a device.

*/ inline void SetDeviceName(const char* value) { m_deviceNameHasBeenSet = true; m_deviceName.assign(value); } /** *

The name of a device.

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

The name of a device.

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

The name of a device.

*/ inline Device& WithDeviceName(const char* value) { SetDeviceName(value); return *this;} /** *

The software version of a device.

*/ inline const Aws::String& GetSoftwareVersion() const{ return m_softwareVersion; } /** *

The software version of a device.

*/ inline bool SoftwareVersionHasBeenSet() const { return m_softwareVersionHasBeenSet; } /** *

The software version of a device.

*/ inline void SetSoftwareVersion(const Aws::String& value) { m_softwareVersionHasBeenSet = true; m_softwareVersion = value; } /** *

The software version of a device.

*/ inline void SetSoftwareVersion(Aws::String&& value) { m_softwareVersionHasBeenSet = true; m_softwareVersion = std::move(value); } /** *

The software version of a device.

*/ inline void SetSoftwareVersion(const char* value) { m_softwareVersionHasBeenSet = true; m_softwareVersion.assign(value); } /** *

The software version of a device.

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

The software version of a device.

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

The software version of a device.

*/ inline Device& WithSoftwareVersion(const char* value) { SetSoftwareVersion(value); return *this;} /** *

The MAC address of a device.

*/ inline const Aws::String& GetMacAddress() const{ return m_macAddress; } /** *

The MAC address of a device.

*/ inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; } /** *

The MAC address of a device.

*/ inline void SetMacAddress(const Aws::String& value) { m_macAddressHasBeenSet = true; m_macAddress = value; } /** *

The MAC address of a device.

*/ inline void SetMacAddress(Aws::String&& value) { m_macAddressHasBeenSet = true; m_macAddress = std::move(value); } /** *

The MAC address of a device.

*/ inline void SetMacAddress(const char* value) { m_macAddressHasBeenSet = true; m_macAddress.assign(value); } /** *

The MAC address of a device.

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

The MAC address of a device.

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

The MAC address of a device.

*/ inline Device& WithMacAddress(const char* value) { SetMacAddress(value); return *this;} /** *

The room ARN of a device.

*/ inline const Aws::String& GetRoomArn() const{ return m_roomArn; } /** *

The room ARN of a device.

*/ inline bool RoomArnHasBeenSet() const { return m_roomArnHasBeenSet; } /** *

The room ARN of a device.

*/ inline void SetRoomArn(const Aws::String& value) { m_roomArnHasBeenSet = true; m_roomArn = value; } /** *

The room ARN of a device.

*/ inline void SetRoomArn(Aws::String&& value) { m_roomArnHasBeenSet = true; m_roomArn = std::move(value); } /** *

The room ARN of a device.

*/ inline void SetRoomArn(const char* value) { m_roomArnHasBeenSet = true; m_roomArn.assign(value); } /** *

The room ARN of a device.

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

The room ARN of a device.

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

The room ARN of a device.

*/ inline Device& WithRoomArn(const char* value) { SetRoomArn(value); return *this;} /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline const DeviceStatus& GetDeviceStatus() const{ return m_deviceStatus; } /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline bool DeviceStatusHasBeenSet() const { return m_deviceStatusHasBeenSet; } /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline void SetDeviceStatus(const DeviceStatus& value) { m_deviceStatusHasBeenSet = true; m_deviceStatus = value; } /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline void SetDeviceStatus(DeviceStatus&& value) { m_deviceStatusHasBeenSet = true; m_deviceStatus = std::move(value); } /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline Device& WithDeviceStatus(const DeviceStatus& value) { SetDeviceStatus(value); return *this;} /** *

The status of a device. If the status is not READY, check the * DeviceStatusInfo value for details.

*/ inline Device& WithDeviceStatus(DeviceStatus&& value) { SetDeviceStatus(std::move(value)); return *this;} /** *

Detailed information about a device's status.

*/ inline const DeviceStatusInfo& GetDeviceStatusInfo() const{ return m_deviceStatusInfo; } /** *

Detailed information about a device's status.

*/ inline bool DeviceStatusInfoHasBeenSet() const { return m_deviceStatusInfoHasBeenSet; } /** *

Detailed information about a device's status.

*/ inline void SetDeviceStatusInfo(const DeviceStatusInfo& value) { m_deviceStatusInfoHasBeenSet = true; m_deviceStatusInfo = value; } /** *

Detailed information about a device's status.

*/ inline void SetDeviceStatusInfo(DeviceStatusInfo&& value) { m_deviceStatusInfoHasBeenSet = true; m_deviceStatusInfo = std::move(value); } /** *

Detailed information about a device's status.

*/ inline Device& WithDeviceStatusInfo(const DeviceStatusInfo& value) { SetDeviceStatusInfo(value); return *this;} /** *

Detailed information about a device's status.

*/ inline Device& WithDeviceStatusInfo(DeviceStatusInfo&& value) { SetDeviceStatusInfo(std::move(value)); return *this;} /** *

Detailed information about a device's network profile.

*/ inline const DeviceNetworkProfileInfo& GetNetworkProfileInfo() const{ return m_networkProfileInfo; } /** *

Detailed information about a device's network profile.

*/ inline bool NetworkProfileInfoHasBeenSet() const { return m_networkProfileInfoHasBeenSet; } /** *

Detailed information about a device's network profile.

*/ inline void SetNetworkProfileInfo(const DeviceNetworkProfileInfo& value) { m_networkProfileInfoHasBeenSet = true; m_networkProfileInfo = value; } /** *

Detailed information about a device's network profile.

*/ inline void SetNetworkProfileInfo(DeviceNetworkProfileInfo&& value) { m_networkProfileInfoHasBeenSet = true; m_networkProfileInfo = std::move(value); } /** *

Detailed information about a device's network profile.

*/ inline Device& WithNetworkProfileInfo(const DeviceNetworkProfileInfo& value) { SetNetworkProfileInfo(value); return *this;} /** *

Detailed information about a device's network profile.

*/ inline Device& WithNetworkProfileInfo(DeviceNetworkProfileInfo&& value) { SetNetworkProfileInfo(std::move(value)); return *this;} private: Aws::String m_deviceArn; bool m_deviceArnHasBeenSet = false; Aws::String m_deviceSerialNumber; bool m_deviceSerialNumberHasBeenSet = false; Aws::String m_deviceType; bool m_deviceTypeHasBeenSet = false; Aws::String m_deviceName; bool m_deviceNameHasBeenSet = false; Aws::String m_softwareVersion; bool m_softwareVersionHasBeenSet = false; Aws::String m_macAddress; bool m_macAddressHasBeenSet = false; Aws::String m_roomArn; bool m_roomArnHasBeenSet = false; DeviceStatus m_deviceStatus; bool m_deviceStatusHasBeenSet = false; DeviceStatusInfo m_deviceStatusInfo; bool m_deviceStatusInfoHasBeenSet = false; DeviceNetworkProfileInfo m_networkProfileInfo; bool m_networkProfileInfoHasBeenSet = false; }; } // namespace Model } // namespace AlexaForBusiness } // namespace Aws