/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace SnowDeviceManagement { namespace Model { class DescribeDeviceResult { public: AWS_SNOWDEVICEMANAGEMENT_API DescribeDeviceResult(); AWS_SNOWDEVICEMANAGEMENT_API DescribeDeviceResult(const Aws::AmazonWebServiceResult& result); AWS_SNOWDEVICEMANAGEMENT_API DescribeDeviceResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the job used when ordering the device.

*/ inline const Aws::String& GetAssociatedWithJob() const{ return m_associatedWithJob; } /** *

The ID of the job used when ordering the device.

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

The ID of the job used when ordering the device.

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

The ID of the job used when ordering the device.

*/ inline void SetAssociatedWithJob(const char* value) { m_associatedWithJob.assign(value); } /** *

The ID of the job used when ordering the device.

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

The ID of the job used when ordering the device.

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

The ID of the job used when ordering the device.

*/ inline DescribeDeviceResult& WithAssociatedWithJob(const char* value) { SetAssociatedWithJob(value); return *this;} /** *

The hardware specifications of the device.

*/ inline const Aws::Vector& GetDeviceCapacities() const{ return m_deviceCapacities; } /** *

The hardware specifications of the device.

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

The hardware specifications of the device.

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

The hardware specifications of the device.

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

The hardware specifications of the device.

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

The hardware specifications of the device.

*/ inline DescribeDeviceResult& AddDeviceCapacities(const Capacity& value) { m_deviceCapacities.push_back(value); return *this; } /** *

The hardware specifications of the device.

*/ inline DescribeDeviceResult& AddDeviceCapacities(Capacity&& value) { m_deviceCapacities.push_back(std::move(value)); return *this; } /** *

The current state of the device.

*/ inline const UnlockState& GetDeviceState() const{ return m_deviceState; } /** *

The current state of the device.

*/ inline void SetDeviceState(const UnlockState& value) { m_deviceState = value; } /** *

The current state of the device.

*/ inline void SetDeviceState(UnlockState&& value) { m_deviceState = std::move(value); } /** *

The current state of the device.

*/ inline DescribeDeviceResult& WithDeviceState(const UnlockState& value) { SetDeviceState(value); return *this;} /** *

The current state of the device.

*/ inline DescribeDeviceResult& WithDeviceState(UnlockState&& value) { SetDeviceState(std::move(value)); return *this;} /** *

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

The type of Amazon Web Services Snow Family device.

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

When the device last contacted the Amazon Web Services Cloud. Indicates that * the device is online.

*/ inline const Aws::Utils::DateTime& GetLastReachedOutAt() const{ return m_lastReachedOutAt; } /** *

When the device last contacted the Amazon Web Services Cloud. Indicates that * the device is online.

*/ inline void SetLastReachedOutAt(const Aws::Utils::DateTime& value) { m_lastReachedOutAt = value; } /** *

When the device last contacted the Amazon Web Services Cloud. Indicates that * the device is online.

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

When the device last contacted the Amazon Web Services Cloud. Indicates that * the device is online.

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

When the device last contacted the Amazon Web Services Cloud. Indicates that * the device is online.

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

When the device last pushed an update to the Amazon Web Services Cloud. * Indicates when the device cache was refreshed.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } /** *

When the device last pushed an update to the Amazon Web Services Cloud. * Indicates when the device cache was refreshed.

*/ inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } /** *

When the device last pushed an update to the Amazon Web Services Cloud. * Indicates when the device cache was refreshed.

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

When the device last pushed an update to the Amazon Web Services Cloud. * Indicates when the device cache was refreshed.

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

When the device last pushed an update to the Amazon Web Services Cloud. * Indicates when the device cache was refreshed.

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

The Amazon Resource Name (ARN) of the device.

*/ inline const Aws::String& GetManagedDeviceArn() const{ return m_managedDeviceArn; } /** *

The Amazon Resource Name (ARN) of the device.

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

The Amazon Resource Name (ARN) of the device.

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

The Amazon Resource Name (ARN) of the device.

*/ inline void SetManagedDeviceArn(const char* value) { m_managedDeviceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the device.

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

The Amazon Resource Name (ARN) of the device.

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

The Amazon Resource Name (ARN) of the device.

*/ inline DescribeDeviceResult& WithManagedDeviceArn(const char* value) { SetManagedDeviceArn(value); return *this;} /** *

The ID of the device that you checked the information for.

*/ inline const Aws::String& GetManagedDeviceId() const{ return m_managedDeviceId; } /** *

The ID of the device that you checked the information for.

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

The ID of the device that you checked the information for.

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

The ID of the device that you checked the information for.

*/ inline void SetManagedDeviceId(const char* value) { m_managedDeviceId.assign(value); } /** *

The ID of the device that you checked the information for.

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

The ID of the device that you checked the information for.

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

The ID of the device that you checked the information for.

*/ inline DescribeDeviceResult& WithManagedDeviceId(const char* value) { SetManagedDeviceId(value); return *this;} /** *

The network interfaces available on the device.

*/ inline const Aws::Vector& GetPhysicalNetworkInterfaces() const{ return m_physicalNetworkInterfaces; } /** *

The network interfaces available on the device.

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

The network interfaces available on the device.

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

The network interfaces available on the device.

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

The network interfaces available on the device.

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

The network interfaces available on the device.

*/ inline DescribeDeviceResult& AddPhysicalNetworkInterfaces(const PhysicalNetworkInterface& value) { m_physicalNetworkInterfaces.push_back(value); return *this; } /** *

The network interfaces available on the device.

*/ inline DescribeDeviceResult& AddPhysicalNetworkInterfaces(PhysicalNetworkInterface&& value) { m_physicalNetworkInterfaces.push_back(std::move(value)); return *this; } /** *

The software installed on the device.

*/ inline const SoftwareInformation& GetSoftware() const{ return m_software; } /** *

The software installed on the device.

*/ inline void SetSoftware(const SoftwareInformation& value) { m_software = value; } /** *

The software installed on the device.

*/ inline void SetSoftware(SoftwareInformation&& value) { m_software = std::move(value); } /** *

The software installed on the device.

*/ inline DescribeDeviceResult& WithSoftware(const SoftwareInformation& value) { SetSoftware(value); return *this;} /** *

The software installed on the device.

*/ inline DescribeDeviceResult& WithSoftware(SoftwareInformation&& value) { SetSoftware(std::move(value)); return *this;} /** *

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

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

Optional metadata that you assign to a resource. You can use tags to * categorize a resource in different ways, such as by purpose, owner, or * environment.

*/ inline DescribeDeviceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, 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::String m_associatedWithJob; Aws::Vector m_deviceCapacities; UnlockState m_deviceState; Aws::String m_deviceType; Aws::Utils::DateTime m_lastReachedOutAt; Aws::Utils::DateTime m_lastUpdatedAt; Aws::String m_managedDeviceArn; Aws::String m_managedDeviceId; Aws::Vector m_physicalNetworkInterfaces; SoftwareInformation m_software; Aws::Map m_tags; Aws::String m_requestId; }; } // namespace Model } // namespace SnowDeviceManagement } // namespace Aws