/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A device.See Also:
AWS API
* Reference
The device's maker.
*/ inline const DeviceBrand& GetBrand() const{ return m_brand; } /** *The device's maker.
*/ inline bool BrandHasBeenSet() const { return m_brandHasBeenSet; } /** *The device's maker.
*/ inline void SetBrand(const DeviceBrand& value) { m_brandHasBeenSet = true; m_brand = value; } /** *The device's maker.
*/ inline void SetBrand(DeviceBrand&& value) { m_brandHasBeenSet = true; m_brand = std::move(value); } /** *The device's maker.
*/ inline Device& WithBrand(const DeviceBrand& value) { SetBrand(value); return *this;} /** *The device's maker.
*/ inline Device& WithBrand(DeviceBrand&& value) { SetBrand(std::move(value)); return *this;} /** *When the device was created.
*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *When the device was created.
*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *When the device was created.
*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *When the device was created.
*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *When the device was created.
*/ inline Device& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *When the device was created.
*/ inline Device& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *A device's current software.
*/ inline const Aws::String& GetCurrentSoftware() const{ return m_currentSoftware; } /** *A device's current software.
*/ inline bool CurrentSoftwareHasBeenSet() const { return m_currentSoftwareHasBeenSet; } /** *A device's current software.
*/ inline void SetCurrentSoftware(const Aws::String& value) { m_currentSoftwareHasBeenSet = true; m_currentSoftware = value; } /** *A device's current software.
*/ inline void SetCurrentSoftware(Aws::String&& value) { m_currentSoftwareHasBeenSet = true; m_currentSoftware = std::move(value); } /** *A device's current software.
*/ inline void SetCurrentSoftware(const char* value) { m_currentSoftwareHasBeenSet = true; m_currentSoftware.assign(value); } /** *A device's current software.
*/ inline Device& WithCurrentSoftware(const Aws::String& value) { SetCurrentSoftware(value); return *this;} /** *A device's current software.
*/ inline Device& WithCurrentSoftware(Aws::String&& value) { SetCurrentSoftware(std::move(value)); return *this;} /** *A device's current software.
*/ inline Device& WithCurrentSoftware(const char* value) { SetCurrentSoftware(value); return *this;} /** *A description for the device.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description for the device.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description for the device.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description for the device.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description for the device.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description for the device.
*/ inline Device& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description for the device.
*/ inline Device& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description for the device.
*/ inline Device& WithDescription(const char* value) { SetDescription(value); return *this;} /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline const DeviceAggregatedStatus& GetDeviceAggregatedStatus() const{ return m_deviceAggregatedStatus; } /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline bool DeviceAggregatedStatusHasBeenSet() const { return m_deviceAggregatedStatusHasBeenSet; } /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline void SetDeviceAggregatedStatus(const DeviceAggregatedStatus& value) { m_deviceAggregatedStatusHasBeenSet = true; m_deviceAggregatedStatus = value; } /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline void SetDeviceAggregatedStatus(DeviceAggregatedStatus&& value) { m_deviceAggregatedStatusHasBeenSet = true; m_deviceAggregatedStatus = std::move(value); } /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline Device& WithDeviceAggregatedStatus(const DeviceAggregatedStatus& value) { SetDeviceAggregatedStatus(value); return *this;} /** *A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.
*/ inline Device& WithDeviceAggregatedStatus(DeviceAggregatedStatus&& value) { SetDeviceAggregatedStatus(std::move(value)); return *this;} /** *The device's ID.
*/ inline const Aws::String& GetDeviceId() const{ return m_deviceId; } /** *The device's ID.
*/ inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } /** *The device's ID.
*/ inline void SetDeviceId(const Aws::String& value) { m_deviceIdHasBeenSet = true; m_deviceId = value; } /** *The device's ID.
*/ inline void SetDeviceId(Aws::String&& value) { m_deviceIdHasBeenSet = true; m_deviceId = std::move(value); } /** *The device's ID.
*/ inline void SetDeviceId(const char* value) { m_deviceIdHasBeenSet = true; m_deviceId.assign(value); } /** *The device's ID.
*/ inline Device& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} /** *The device's ID.
*/ inline Device& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} /** *The device's ID.
*/ inline Device& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} /** *When the device was updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *When the device was updated.
*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *When the device was updated.
*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *When the device was updated.
*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *When the device was updated.
*/ inline Device& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *When the device was updated.
*/ inline Device& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline const LatestDeviceJob& GetLatestDeviceJob() const{ return m_latestDeviceJob; } /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline bool LatestDeviceJobHasBeenSet() const { return m_latestDeviceJobHasBeenSet; } /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline void SetLatestDeviceJob(const LatestDeviceJob& value) { m_latestDeviceJobHasBeenSet = true; m_latestDeviceJob = value; } /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline void SetLatestDeviceJob(LatestDeviceJob&& value) { m_latestDeviceJobHasBeenSet = true; m_latestDeviceJob = std::move(value); } /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline Device& WithLatestDeviceJob(const LatestDeviceJob& value) { SetLatestDeviceJob(value); return *this;} /** *A device's latest job. Includes the target image version, and the update job * status.
*/ inline Device& WithLatestDeviceJob(LatestDeviceJob&& value) { SetLatestDeviceJob(std::move(value)); return *this;} /** *The device's lease expiration time.
*/ inline const Aws::Utils::DateTime& GetLeaseExpirationTime() const{ return m_leaseExpirationTime; } /** *The device's lease expiration time.
*/ inline bool LeaseExpirationTimeHasBeenSet() const { return m_leaseExpirationTimeHasBeenSet; } /** *The device's lease expiration time.
*/ inline void SetLeaseExpirationTime(const Aws::Utils::DateTime& value) { m_leaseExpirationTimeHasBeenSet = true; m_leaseExpirationTime = value; } /** *The device's lease expiration time.
*/ inline void SetLeaseExpirationTime(Aws::Utils::DateTime&& value) { m_leaseExpirationTimeHasBeenSet = true; m_leaseExpirationTime = std::move(value); } /** *The device's lease expiration time.
*/ inline Device& WithLeaseExpirationTime(const Aws::Utils::DateTime& value) { SetLeaseExpirationTime(value); return *this;} /** *The device's lease expiration time.
*/ inline Device& WithLeaseExpirationTime(Aws::Utils::DateTime&& value) { SetLeaseExpirationTime(std::move(value)); return *this;} /** *The device's name.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The device's name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The device's name.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The device's name.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The device's name.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The device's name.
*/ inline Device& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The device's name.
*/ inline Device& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The device's name.
*/ inline Device& WithName(const char* value) { SetName(value); return *this;} /** *The device's provisioning status.
*/ inline const DeviceStatus& GetProvisioningStatus() const{ return m_provisioningStatus; } /** *The device's provisioning status.
*/ inline bool ProvisioningStatusHasBeenSet() const { return m_provisioningStatusHasBeenSet; } /** *The device's provisioning status.
*/ inline void SetProvisioningStatus(const DeviceStatus& value) { m_provisioningStatusHasBeenSet = true; m_provisioningStatus = value; } /** *The device's provisioning status.
*/ inline void SetProvisioningStatus(DeviceStatus&& value) { m_provisioningStatusHasBeenSet = true; m_provisioningStatus = std::move(value); } /** *The device's provisioning status.
*/ inline Device& WithProvisioningStatus(const DeviceStatus& value) { SetProvisioningStatus(value); return *this;} /** *The device's provisioning status.
*/ inline Device& WithProvisioningStatus(DeviceStatus&& value) { SetProvisioningStatus(std::move(value)); return *this;} /** *The device's tags.
*/ inline const Aws::MapThe device's tags.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The device's tags.
*/ inline void SetTags(const Aws::MapThe device's tags.
*/ inline void SetTags(Aws::MapThe device's tags.
*/ inline Device& WithTags(const Aws::MapThe device's tags.
*/ inline Device& WithTags(Aws::MapThe device's tags.
*/ inline Device& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The device's tags.
*/ inline Device& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The device's tags.
*/ inline Device& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The device's tags.
*/ inline Device& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The device's tags.
*/ inline Device& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The device's tags.
*/ inline Device& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The device's tags.
*/ inline Device& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The device's type.
*/ inline const DeviceType& GetType() const{ return m_type; } /** *The device's type.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The device's type.
*/ inline void SetType(const DeviceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The device's type.
*/ inline void SetType(DeviceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The device's type.
*/ inline Device& WithType(const DeviceType& value) { SetType(value); return *this;} /** *The device's type.
*/ inline Device& WithType(DeviceType&& value) { SetType(std::move(value)); return *this;} private: DeviceBrand m_brand; bool m_brandHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::String m_currentSoftware; bool m_currentSoftwareHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; DeviceAggregatedStatus m_deviceAggregatedStatus; bool m_deviceAggregatedStatusHasBeenSet = false; Aws::String m_deviceId; bool m_deviceIdHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; LatestDeviceJob m_latestDeviceJob; bool m_latestDeviceJobHasBeenSet = false; Aws::Utils::DateTime m_leaseExpirationTime; bool m_leaseExpirationTimeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; DeviceStatus m_provisioningStatus; bool m_provisioningStatusHasBeenSet = false; Aws::Map