/** * 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 { /** *

Detailed information about a device's status.

See Also:

AWS * API Reference

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

One or more device status detail descriptions.

*/ inline const Aws::Vector& GetDeviceStatusDetails() const{ return m_deviceStatusDetails; } /** *

One or more device status detail descriptions.

*/ inline bool DeviceStatusDetailsHasBeenSet() const { return m_deviceStatusDetailsHasBeenSet; } /** *

One or more device status detail descriptions.

*/ inline void SetDeviceStatusDetails(const Aws::Vector& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails = value; } /** *

One or more device status detail descriptions.

*/ inline void SetDeviceStatusDetails(Aws::Vector&& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails = std::move(value); } /** *

One or more device status detail descriptions.

*/ inline DeviceStatusInfo& WithDeviceStatusDetails(const Aws::Vector& value) { SetDeviceStatusDetails(value); return *this;} /** *

One or more device status detail descriptions.

*/ inline DeviceStatusInfo& WithDeviceStatusDetails(Aws::Vector&& value) { SetDeviceStatusDetails(std::move(value)); return *this;} /** *

One or more device status detail descriptions.

*/ inline DeviceStatusInfo& AddDeviceStatusDetails(const DeviceStatusDetail& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails.push_back(value); return *this; } /** *

One or more device status detail descriptions.

*/ inline DeviceStatusInfo& AddDeviceStatusDetails(DeviceStatusDetail&& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails.push_back(std::move(value)); return *this; } /** *

The latest available information about the connection status of a device. *

*/ inline const ConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } /** *

The latest available information about the connection status of a device. *

*/ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** *

The latest available information about the connection status of a device. *

*/ inline void SetConnectionStatus(const ConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** *

The latest available information about the connection status of a device. *

*/ inline void SetConnectionStatus(ConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** *

The latest available information about the connection status of a device. *

*/ inline DeviceStatusInfo& WithConnectionStatus(const ConnectionStatus& value) { SetConnectionStatus(value); return *this;} /** *

The latest available information about the connection status of a device. *

*/ inline DeviceStatusInfo& WithConnectionStatus(ConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} /** *

The time (in epoch) when the device connection status changed.

*/ inline const Aws::Utils::DateTime& GetConnectionStatusUpdatedTime() const{ return m_connectionStatusUpdatedTime; } /** *

The time (in epoch) when the device connection status changed.

*/ inline bool ConnectionStatusUpdatedTimeHasBeenSet() const { return m_connectionStatusUpdatedTimeHasBeenSet; } /** *

The time (in epoch) when the device connection status changed.

*/ inline void SetConnectionStatusUpdatedTime(const Aws::Utils::DateTime& value) { m_connectionStatusUpdatedTimeHasBeenSet = true; m_connectionStatusUpdatedTime = value; } /** *

The time (in epoch) when the device connection status changed.

*/ inline void SetConnectionStatusUpdatedTime(Aws::Utils::DateTime&& value) { m_connectionStatusUpdatedTimeHasBeenSet = true; m_connectionStatusUpdatedTime = std::move(value); } /** *

The time (in epoch) when the device connection status changed.

*/ inline DeviceStatusInfo& WithConnectionStatusUpdatedTime(const Aws::Utils::DateTime& value) { SetConnectionStatusUpdatedTime(value); return *this;} /** *

The time (in epoch) when the device connection status changed.

*/ inline DeviceStatusInfo& WithConnectionStatusUpdatedTime(Aws::Utils::DateTime&& value) { SetConnectionStatusUpdatedTime(std::move(value)); return *this;} private: Aws::Vector m_deviceStatusDetails; bool m_deviceStatusDetailsHasBeenSet = false; ConnectionStatus m_connectionStatus; bool m_connectionStatusHasBeenSet = false; Aws::Utils::DateTime m_connectionStatusUpdatedTime; bool m_connectionStatusUpdatedTimeHasBeenSet = false; }; } // namespace Model } // namespace AlexaForBusiness } // namespace Aws