/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace Panorama { namespace Model { class DescribeDeviceResult { public: AWS_PANORAMA_API DescribeDeviceResult(); AWS_PANORAMA_API DescribeDeviceResult(const Aws::AmazonWebServiceResult& result); AWS_PANORAMA_API DescribeDeviceResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Beta software releases available for the device.

*/ inline const Aws::Vector& GetAlternateSoftwares() const{ return m_alternateSoftwares; } /** *

Beta software releases available for the device.

*/ inline void SetAlternateSoftwares(const Aws::Vector& value) { m_alternateSoftwares = value; } /** *

Beta software releases available for the device.

*/ inline void SetAlternateSoftwares(Aws::Vector&& value) { m_alternateSoftwares = std::move(value); } /** *

Beta software releases available for the device.

*/ inline DescribeDeviceResult& WithAlternateSoftwares(const Aws::Vector& value) { SetAlternateSoftwares(value); return *this;} /** *

Beta software releases available for the device.

*/ inline DescribeDeviceResult& WithAlternateSoftwares(Aws::Vector&& value) { SetAlternateSoftwares(std::move(value)); return *this;} /** *

Beta software releases available for the device.

*/ inline DescribeDeviceResult& AddAlternateSoftwares(const AlternateSoftwareMetadata& value) { m_alternateSoftwares.push_back(value); return *this; } /** *

Beta software releases available for the device.

*/ inline DescribeDeviceResult& AddAlternateSoftwares(AlternateSoftwareMetadata&& value) { m_alternateSoftwares.push_back(std::move(value)); return *this; } /** *

The device's ARN.

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

The device's ARN.

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

The device's ARN.

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

The device's ARN.

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

The device's ARN.

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

The device's ARN.

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

The device's ARN.

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

The device's maker.

*/ inline const DeviceBrand& GetBrand() const{ return m_brand; } /** *

The device's maker.

*/ inline void SetBrand(const DeviceBrand& value) { m_brand = value; } /** *

The device's maker.

*/ inline void SetBrand(DeviceBrand&& value) { m_brand = std::move(value); } /** *

The device's maker.

*/ inline DescribeDeviceResult& WithBrand(const DeviceBrand& value) { SetBrand(value); return *this;} /** *

The device's maker.

*/ inline DescribeDeviceResult& 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 void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTime = value; } /** *

When the device was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTime = std::move(value); } /** *

When the device was created.

*/ inline DescribeDeviceResult& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

When the device was created.

*/ inline DescribeDeviceResult& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The device's networking status.

*/ inline const NetworkStatus& GetCurrentNetworkingStatus() const{ return m_currentNetworkingStatus; } /** *

The device's networking status.

*/ inline void SetCurrentNetworkingStatus(const NetworkStatus& value) { m_currentNetworkingStatus = value; } /** *

The device's networking status.

*/ inline void SetCurrentNetworkingStatus(NetworkStatus&& value) { m_currentNetworkingStatus = std::move(value); } /** *

The device's networking status.

*/ inline DescribeDeviceResult& WithCurrentNetworkingStatus(const NetworkStatus& value) { SetCurrentNetworkingStatus(value); return *this;} /** *

The device's networking status.

*/ inline DescribeDeviceResult& WithCurrentNetworkingStatus(NetworkStatus&& value) { SetCurrentNetworkingStatus(std::move(value)); return *this;} /** *

The device's current software version.

*/ inline const Aws::String& GetCurrentSoftware() const{ return m_currentSoftware; } /** *

The device's current software version.

*/ inline void SetCurrentSoftware(const Aws::String& value) { m_currentSoftware = value; } /** *

The device's current software version.

*/ inline void SetCurrentSoftware(Aws::String&& value) { m_currentSoftware = std::move(value); } /** *

The device's current software version.

*/ inline void SetCurrentSoftware(const char* value) { m_currentSoftware.assign(value); } /** *

The device's current software version.

*/ inline DescribeDeviceResult& WithCurrentSoftware(const Aws::String& value) { SetCurrentSoftware(value); return *this;} /** *

The device's current software version.

*/ inline DescribeDeviceResult& WithCurrentSoftware(Aws::String&& value) { SetCurrentSoftware(std::move(value)); return *this;} /** *

The device's current software version.

*/ inline DescribeDeviceResult& WithCurrentSoftware(const char* value) { SetCurrentSoftware(value); return *this;} /** *

The device's description.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The device's description.

*/ inline void SetDescription(const Aws::String& value) { m_description = value; } /** *

The device's description.

*/ inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } /** *

The device's description.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

The device's description.

*/ inline DescribeDeviceResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The device's description.

*/ inline DescribeDeviceResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The device's description.

*/ inline DescribeDeviceResult& 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 void SetDeviceAggregatedStatus(const DeviceAggregatedStatus& value) { 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_deviceAggregatedStatus = std::move(value); } /** *

A device's aggregated status. Including the device's connection status, * provisioning status, and lease status.

*/ inline DescribeDeviceResult& 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 DescribeDeviceResult& WithDeviceAggregatedStatus(DeviceAggregatedStatus&& value) { SetDeviceAggregatedStatus(std::move(value)); return *this;} /** *

The device's connection status.

*/ inline const DeviceConnectionStatus& GetDeviceConnectionStatus() const{ return m_deviceConnectionStatus; } /** *

The device's connection status.

*/ inline void SetDeviceConnectionStatus(const DeviceConnectionStatus& value) { m_deviceConnectionStatus = value; } /** *

The device's connection status.

*/ inline void SetDeviceConnectionStatus(DeviceConnectionStatus&& value) { m_deviceConnectionStatus = std::move(value); } /** *

The device's connection status.

*/ inline DescribeDeviceResult& WithDeviceConnectionStatus(const DeviceConnectionStatus& value) { SetDeviceConnectionStatus(value); return *this;} /** *

The device's connection status.

*/ inline DescribeDeviceResult& WithDeviceConnectionStatus(DeviceConnectionStatus&& value) { SetDeviceConnectionStatus(std::move(value)); return *this;} /** *

The device's ID.

*/ inline const Aws::String& GetDeviceId() const{ return m_deviceId; } /** *

The device's ID.

*/ inline void SetDeviceId(const Aws::String& value) { m_deviceId = value; } /** *

The device's ID.

*/ inline void SetDeviceId(Aws::String&& value) { m_deviceId = std::move(value); } /** *

The device's ID.

*/ inline void SetDeviceId(const char* value) { m_deviceId.assign(value); } /** *

The device's ID.

*/ inline DescribeDeviceResult& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} /** *

The device's ID.

*/ inline DescribeDeviceResult& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} /** *

The device's ID.

*/ inline DescribeDeviceResult& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} /** *

The most recent beta software release.

*/ inline const Aws::String& GetLatestAlternateSoftware() const{ return m_latestAlternateSoftware; } /** *

The most recent beta software release.

*/ inline void SetLatestAlternateSoftware(const Aws::String& value) { m_latestAlternateSoftware = value; } /** *

The most recent beta software release.

*/ inline void SetLatestAlternateSoftware(Aws::String&& value) { m_latestAlternateSoftware = std::move(value); } /** *

The most recent beta software release.

*/ inline void SetLatestAlternateSoftware(const char* value) { m_latestAlternateSoftware.assign(value); } /** *

The most recent beta software release.

*/ inline DescribeDeviceResult& WithLatestAlternateSoftware(const Aws::String& value) { SetLatestAlternateSoftware(value); return *this;} /** *

The most recent beta software release.

*/ inline DescribeDeviceResult& WithLatestAlternateSoftware(Aws::String&& value) { SetLatestAlternateSoftware(std::move(value)); return *this;} /** *

The most recent beta software release.

*/ inline DescribeDeviceResult& WithLatestAlternateSoftware(const char* value) { SetLatestAlternateSoftware(value); return *this;} /** *

A device's latest job. Includes the target image version, and the job * status.

*/ inline const LatestDeviceJob& GetLatestDeviceJob() const{ return m_latestDeviceJob; } /** *

A device's latest job. Includes the target image version, and the job * status.

*/ inline void SetLatestDeviceJob(const LatestDeviceJob& value) { m_latestDeviceJob = value; } /** *

A device's latest job. Includes the target image version, and the job * status.

*/ inline void SetLatestDeviceJob(LatestDeviceJob&& value) { m_latestDeviceJob = std::move(value); } /** *

A device's latest job. Includes the target image version, and the job * status.

*/ inline DescribeDeviceResult& WithLatestDeviceJob(const LatestDeviceJob& value) { SetLatestDeviceJob(value); return *this;} /** *

A device's latest job. Includes the target image version, and the job * status.

*/ inline DescribeDeviceResult& WithLatestDeviceJob(LatestDeviceJob&& value) { SetLatestDeviceJob(std::move(value)); return *this;} /** *

The latest software version available for the device.

*/ inline const Aws::String& GetLatestSoftware() const{ return m_latestSoftware; } /** *

The latest software version available for the device.

*/ inline void SetLatestSoftware(const Aws::String& value) { m_latestSoftware = value; } /** *

The latest software version available for the device.

*/ inline void SetLatestSoftware(Aws::String&& value) { m_latestSoftware = std::move(value); } /** *

The latest software version available for the device.

*/ inline void SetLatestSoftware(const char* value) { m_latestSoftware.assign(value); } /** *

The latest software version available for the device.

*/ inline DescribeDeviceResult& WithLatestSoftware(const Aws::String& value) { SetLatestSoftware(value); return *this;} /** *

The latest software version available for the device.

*/ inline DescribeDeviceResult& WithLatestSoftware(Aws::String&& value) { SetLatestSoftware(std::move(value)); return *this;} /** *

The latest software version available for the device.

*/ inline DescribeDeviceResult& WithLatestSoftware(const char* value) { SetLatestSoftware(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 void SetLeaseExpirationTime(const Aws::Utils::DateTime& value) { m_leaseExpirationTime = value; } /** *

The device's lease expiration time.

*/ inline void SetLeaseExpirationTime(Aws::Utils::DateTime&& value) { m_leaseExpirationTime = std::move(value); } /** *

The device's lease expiration time.

*/ inline DescribeDeviceResult& WithLeaseExpirationTime(const Aws::Utils::DateTime& value) { SetLeaseExpirationTime(value); return *this;} /** *

The device's lease expiration time.

*/ inline DescribeDeviceResult& 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 void SetName(const Aws::String& value) { m_name = value; } /** *

The device's name.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The device's name.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The device's name.

*/ inline DescribeDeviceResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The device's name.

*/ inline DescribeDeviceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The device's name.

*/ inline DescribeDeviceResult& WithName(const char* value) { SetName(value); return *this;} /** *

The device's networking configuration.

*/ inline const NetworkPayload& GetNetworkingConfiguration() const{ return m_networkingConfiguration; } /** *

The device's networking configuration.

*/ inline void SetNetworkingConfiguration(const NetworkPayload& value) { m_networkingConfiguration = value; } /** *

The device's networking configuration.

*/ inline void SetNetworkingConfiguration(NetworkPayload&& value) { m_networkingConfiguration = std::move(value); } /** *

The device's networking configuration.

*/ inline DescribeDeviceResult& WithNetworkingConfiguration(const NetworkPayload& value) { SetNetworkingConfiguration(value); return *this;} /** *

The device's networking configuration.

*/ inline DescribeDeviceResult& WithNetworkingConfiguration(NetworkPayload&& value) { SetNetworkingConfiguration(std::move(value)); return *this;} /** *

The device's provisioning status.

*/ inline const DeviceStatus& GetProvisioningStatus() const{ return m_provisioningStatus; } /** *

The device's provisioning status.

*/ inline void SetProvisioningStatus(const DeviceStatus& value) { m_provisioningStatus = value; } /** *

The device's provisioning status.

*/ inline void SetProvisioningStatus(DeviceStatus&& value) { m_provisioningStatus = std::move(value); } /** *

The device's provisioning status.

*/ inline DescribeDeviceResult& WithProvisioningStatus(const DeviceStatus& value) { SetProvisioningStatus(value); return *this;} /** *

The device's provisioning status.

*/ inline DescribeDeviceResult& WithProvisioningStatus(DeviceStatus&& value) { SetProvisioningStatus(std::move(value)); return *this;} /** *

The device's serial number.

*/ inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; } /** *

The device's serial number.

*/ inline void SetSerialNumber(const Aws::String& value) { m_serialNumber = value; } /** *

The device's serial number.

*/ inline void SetSerialNumber(Aws::String&& value) { m_serialNumber = std::move(value); } /** *

The device's serial number.

*/ inline void SetSerialNumber(const char* value) { m_serialNumber.assign(value); } /** *

The device's serial number.

*/ inline DescribeDeviceResult& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;} /** *

The device's serial number.

*/ inline DescribeDeviceResult& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;} /** *

The device's serial number.

*/ inline DescribeDeviceResult& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;} /** *

The device's tags.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The device's tags.

*/ inline void SetTags(const Aws::Map& value) { m_tags = value; } /** *

The device's tags.

*/ inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } /** *

The device's tags.

*/ inline DescribeDeviceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The device's tags.

*/ inline DescribeDeviceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The device's tags.

*/ inline DescribeDeviceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } /** *

The device's type.

*/ inline const DeviceType& GetType() const{ return m_type; } /** *

The device's type.

*/ inline void SetType(const DeviceType& value) { m_type = value; } /** *

The device's type.

*/ inline void SetType(DeviceType&& value) { m_type = std::move(value); } /** *

The device's type.

*/ inline DescribeDeviceResult& WithType(const DeviceType& value) { SetType(value); return *this;} /** *

The device's type.

*/ inline DescribeDeviceResult& WithType(DeviceType&& value) { SetType(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeDeviceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeDeviceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeDeviceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::Vector m_alternateSoftwares; Aws::String m_arn; DeviceBrand m_brand; Aws::Utils::DateTime m_createdTime; NetworkStatus m_currentNetworkingStatus; Aws::String m_currentSoftware; Aws::String m_description; DeviceAggregatedStatus m_deviceAggregatedStatus; DeviceConnectionStatus m_deviceConnectionStatus; Aws::String m_deviceId; Aws::String m_latestAlternateSoftware; LatestDeviceJob m_latestDeviceJob; Aws::String m_latestSoftware; Aws::Utils::DateTime m_leaseExpirationTime; Aws::String m_name; NetworkPayload m_networkingConfiguration; DeviceStatus m_provisioningStatus; Aws::String m_serialNumber; Aws::Map m_tags; DeviceType m_type; Aws::String m_requestId; }; } // namespace Model } // namespace Panorama } // namespace Aws