1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/alexaforbusiness/AlexaForBusiness_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/alexaforbusiness/model/ConnectionStatus.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/alexaforbusiness/model/DeviceStatusDetail.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace AlexaForBusiness 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Detailed information about a device's status.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeviceStatusInfo">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_ALEXAFORBUSINESS_API DeviceStatusInfo 35 { 36 public: 37 DeviceStatusInfo(); 38 DeviceStatusInfo(Aws::Utils::Json::JsonView jsonValue); 39 DeviceStatusInfo& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>One or more device status detail descriptions.</p> 45 */ GetDeviceStatusDetails()46 inline const Aws::Vector<DeviceStatusDetail>& GetDeviceStatusDetails() const{ return m_deviceStatusDetails; } 47 48 /** 49 * <p>One or more device status detail descriptions.</p> 50 */ DeviceStatusDetailsHasBeenSet()51 inline bool DeviceStatusDetailsHasBeenSet() const { return m_deviceStatusDetailsHasBeenSet; } 52 53 /** 54 * <p>One or more device status detail descriptions.</p> 55 */ SetDeviceStatusDetails(const Aws::Vector<DeviceStatusDetail> & value)56 inline void SetDeviceStatusDetails(const Aws::Vector<DeviceStatusDetail>& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails = value; } 57 58 /** 59 * <p>One or more device status detail descriptions.</p> 60 */ SetDeviceStatusDetails(Aws::Vector<DeviceStatusDetail> && value)61 inline void SetDeviceStatusDetails(Aws::Vector<DeviceStatusDetail>&& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails = std::move(value); } 62 63 /** 64 * <p>One or more device status detail descriptions.</p> 65 */ WithDeviceStatusDetails(const Aws::Vector<DeviceStatusDetail> & value)66 inline DeviceStatusInfo& WithDeviceStatusDetails(const Aws::Vector<DeviceStatusDetail>& value) { SetDeviceStatusDetails(value); return *this;} 67 68 /** 69 * <p>One or more device status detail descriptions.</p> 70 */ WithDeviceStatusDetails(Aws::Vector<DeviceStatusDetail> && value)71 inline DeviceStatusInfo& WithDeviceStatusDetails(Aws::Vector<DeviceStatusDetail>&& value) { SetDeviceStatusDetails(std::move(value)); return *this;} 72 73 /** 74 * <p>One or more device status detail descriptions.</p> 75 */ AddDeviceStatusDetails(const DeviceStatusDetail & value)76 inline DeviceStatusInfo& AddDeviceStatusDetails(const DeviceStatusDetail& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails.push_back(value); return *this; } 77 78 /** 79 * <p>One or more device status detail descriptions.</p> 80 */ AddDeviceStatusDetails(DeviceStatusDetail && value)81 inline DeviceStatusInfo& AddDeviceStatusDetails(DeviceStatusDetail&& value) { m_deviceStatusDetailsHasBeenSet = true; m_deviceStatusDetails.push_back(std::move(value)); return *this; } 82 83 84 /** 85 * <p>The latest available information about the connection status of a device. 86 * </p> 87 */ GetConnectionStatus()88 inline const ConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } 89 90 /** 91 * <p>The latest available information about the connection status of a device. 92 * </p> 93 */ ConnectionStatusHasBeenSet()94 inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } 95 96 /** 97 * <p>The latest available information about the connection status of a device. 98 * </p> 99 */ SetConnectionStatus(const ConnectionStatus & value)100 inline void SetConnectionStatus(const ConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } 101 102 /** 103 * <p>The latest available information about the connection status of a device. 104 * </p> 105 */ SetConnectionStatus(ConnectionStatus && value)106 inline void SetConnectionStatus(ConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } 107 108 /** 109 * <p>The latest available information about the connection status of a device. 110 * </p> 111 */ WithConnectionStatus(const ConnectionStatus & value)112 inline DeviceStatusInfo& WithConnectionStatus(const ConnectionStatus& value) { SetConnectionStatus(value); return *this;} 113 114 /** 115 * <p>The latest available information about the connection status of a device. 116 * </p> 117 */ WithConnectionStatus(ConnectionStatus && value)118 inline DeviceStatusInfo& WithConnectionStatus(ConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} 119 120 121 /** 122 * <p>The time (in epoch) when the device connection status changed.</p> 123 */ GetConnectionStatusUpdatedTime()124 inline const Aws::Utils::DateTime& GetConnectionStatusUpdatedTime() const{ return m_connectionStatusUpdatedTime; } 125 126 /** 127 * <p>The time (in epoch) when the device connection status changed.</p> 128 */ ConnectionStatusUpdatedTimeHasBeenSet()129 inline bool ConnectionStatusUpdatedTimeHasBeenSet() const { return m_connectionStatusUpdatedTimeHasBeenSet; } 130 131 /** 132 * <p>The time (in epoch) when the device connection status changed.</p> 133 */ SetConnectionStatusUpdatedTime(const Aws::Utils::DateTime & value)134 inline void SetConnectionStatusUpdatedTime(const Aws::Utils::DateTime& value) { m_connectionStatusUpdatedTimeHasBeenSet = true; m_connectionStatusUpdatedTime = value; } 135 136 /** 137 * <p>The time (in epoch) when the device connection status changed.</p> 138 */ SetConnectionStatusUpdatedTime(Aws::Utils::DateTime && value)139 inline void SetConnectionStatusUpdatedTime(Aws::Utils::DateTime&& value) { m_connectionStatusUpdatedTimeHasBeenSet = true; m_connectionStatusUpdatedTime = std::move(value); } 140 141 /** 142 * <p>The time (in epoch) when the device connection status changed.</p> 143 */ WithConnectionStatusUpdatedTime(const Aws::Utils::DateTime & value)144 inline DeviceStatusInfo& WithConnectionStatusUpdatedTime(const Aws::Utils::DateTime& value) { SetConnectionStatusUpdatedTime(value); return *this;} 145 146 /** 147 * <p>The time (in epoch) when the device connection status changed.</p> 148 */ WithConnectionStatusUpdatedTime(Aws::Utils::DateTime && value)149 inline DeviceStatusInfo& WithConnectionStatusUpdatedTime(Aws::Utils::DateTime&& value) { SetConnectionStatusUpdatedTime(std::move(value)); return *this;} 150 151 private: 152 153 Aws::Vector<DeviceStatusDetail> m_deviceStatusDetails; 154 bool m_deviceStatusDetailsHasBeenSet; 155 156 ConnectionStatus m_connectionStatus; 157 bool m_connectionStatusHasBeenSet; 158 159 Aws::Utils::DateTime m_connectionStatusUpdatedTime; 160 bool m_connectionStatusUpdatedTimeHasBeenSet; 161 }; 162 163 } // namespace Model 164 } // namespace AlexaForBusiness 165 } // namespace Aws 166