/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace NetworkManager { namespace Model { /** *

Describes a device.

See Also:

AWS * API Reference

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

The ID of the device.

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

The ID of the device.

*/ inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } /** *

The ID of the device.

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

The ID of the device.

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

The ID of the device.

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

The ID of the device.

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

The ID of the device.

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

The ID of the device.

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

The Amazon Resource Name (ARN) of the device.

*/ inline const Aws::String& GetDeviceArn() const{ return m_deviceArn; } /** *

The Amazon Resource Name (ARN) of the device.

*/ inline bool DeviceArnHasBeenSet() const { return m_deviceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the device.

*/ inline void SetDeviceArn(const Aws::String& value) { m_deviceArnHasBeenSet = true; m_deviceArn = value; } /** *

The Amazon Resource Name (ARN) of the device.

*/ inline void SetDeviceArn(Aws::String&& value) { m_deviceArnHasBeenSet = true; m_deviceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the device.

*/ inline void SetDeviceArn(const char* value) { m_deviceArnHasBeenSet = true; m_deviceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the device.

*/ inline Device& WithDeviceArn(const Aws::String& value) { SetDeviceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the device.

*/ inline Device& WithDeviceArn(Aws::String&& value) { SetDeviceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the device.

*/ inline Device& WithDeviceArn(const char* value) { SetDeviceArn(value); return *this;} /** *

The ID of the global network.

*/ inline const Aws::String& GetGlobalNetworkId() const{ return m_globalNetworkId; } /** *

The ID of the global network.

*/ inline bool GlobalNetworkIdHasBeenSet() const { return m_globalNetworkIdHasBeenSet; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const Aws::String& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = value; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(Aws::String&& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = std::move(value); } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const char* value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId.assign(value); } /** *

The ID of the global network.

*/ inline Device& WithGlobalNetworkId(const Aws::String& value) { SetGlobalNetworkId(value); return *this;} /** *

The ID of the global network.

*/ inline Device& WithGlobalNetworkId(Aws::String&& value) { SetGlobalNetworkId(std::move(value)); return *this;} /** *

The ID of the global network.

*/ inline Device& WithGlobalNetworkId(const char* value) { SetGlobalNetworkId(value); return *this;} /** *

The Amazon Web Services location of the device.

*/ inline const AWSLocation& GetAWSLocation() const{ return m_aWSLocation; } /** *

The Amazon Web Services location of the device.

*/ inline bool AWSLocationHasBeenSet() const { return m_aWSLocationHasBeenSet; } /** *

The Amazon Web Services location of the device.

*/ inline void SetAWSLocation(const AWSLocation& value) { m_aWSLocationHasBeenSet = true; m_aWSLocation = value; } /** *

The Amazon Web Services location of the device.

*/ inline void SetAWSLocation(AWSLocation&& value) { m_aWSLocationHasBeenSet = true; m_aWSLocation = std::move(value); } /** *

The Amazon Web Services location of the device.

*/ inline Device& WithAWSLocation(const AWSLocation& value) { SetAWSLocation(value); return *this;} /** *

The Amazon Web Services location of the device.

*/ inline Device& WithAWSLocation(AWSLocation&& value) { SetAWSLocation(std::move(value)); return *this;} /** *

The description of the device.

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

The description of the device.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the device.

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

The description of the device.

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

The description of the device.

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

The description of the device.

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

The description of the device.

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

The description of the device.

*/ inline Device& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The device type.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The device type.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The device type.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The device type.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The device type.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The device type.

*/ inline Device& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The device type.

*/ inline Device& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The device type.

*/ inline Device& WithType(const char* value) { SetType(value); return *this;} /** *

The device vendor.

*/ inline const Aws::String& GetVendor() const{ return m_vendor; } /** *

The device vendor.

*/ inline bool VendorHasBeenSet() const { return m_vendorHasBeenSet; } /** *

The device vendor.

*/ inline void SetVendor(const Aws::String& value) { m_vendorHasBeenSet = true; m_vendor = value; } /** *

The device vendor.

*/ inline void SetVendor(Aws::String&& value) { m_vendorHasBeenSet = true; m_vendor = std::move(value); } /** *

The device vendor.

*/ inline void SetVendor(const char* value) { m_vendorHasBeenSet = true; m_vendor.assign(value); } /** *

The device vendor.

*/ inline Device& WithVendor(const Aws::String& value) { SetVendor(value); return *this;} /** *

The device vendor.

*/ inline Device& WithVendor(Aws::String&& value) { SetVendor(std::move(value)); return *this;} /** *

The device vendor.

*/ inline Device& WithVendor(const char* value) { SetVendor(value); return *this;} /** *

The device model.

*/ inline const Aws::String& GetModel() const{ return m_model; } /** *

The device model.

*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *

The device model.

*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *

The device model.

*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *

The device model.

*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *

The device model.

*/ inline Device& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *

The device model.

*/ inline Device& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *

The device model.

*/ inline Device& WithModel(const char* value) { SetModel(value); return *this;} /** *

The device serial number.

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

The device serial number.

*/ inline bool SerialNumberHasBeenSet() const { return m_serialNumberHasBeenSet; } /** *

The device serial number.

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

The device serial number.

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

The device serial number.

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

The device serial number.

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

The device serial number.

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

The device serial number.

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

The site location.

*/ inline const Location& GetLocation() const{ return m_location; } /** *

The site location.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The site location.

*/ inline void SetLocation(const Location& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The site location.

*/ inline void SetLocation(Location&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The site location.

*/ inline Device& WithLocation(const Location& value) { SetLocation(value); return *this;} /** *

The site location.

*/ inline Device& WithLocation(Location&& value) { SetLocation(std::move(value)); return *this;} /** *

The site ID.

*/ inline const Aws::String& GetSiteId() const{ return m_siteId; } /** *

The site ID.

*/ inline bool SiteIdHasBeenSet() const { return m_siteIdHasBeenSet; } /** *

The site ID.

*/ inline void SetSiteId(const Aws::String& value) { m_siteIdHasBeenSet = true; m_siteId = value; } /** *

The site ID.

*/ inline void SetSiteId(Aws::String&& value) { m_siteIdHasBeenSet = true; m_siteId = std::move(value); } /** *

The site ID.

*/ inline void SetSiteId(const char* value) { m_siteIdHasBeenSet = true; m_siteId.assign(value); } /** *

The site ID.

*/ inline Device& WithSiteId(const Aws::String& value) { SetSiteId(value); return *this;} /** *

The site ID.

*/ inline Device& WithSiteId(Aws::String&& value) { SetSiteId(std::move(value)); return *this;} /** *

The site ID.

*/ inline Device& WithSiteId(const char* value) { SetSiteId(value); return *this;} /** *

The date and time that the site was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The date and time that the site was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The date and time that the site was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The date and time that the site was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The date and time that the site was created.

*/ inline Device& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The date and time that the site was created.

*/ inline Device& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The device state.

*/ inline const DeviceState& GetState() const{ return m_state; } /** *

The device state.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The device state.

*/ inline void SetState(const DeviceState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The device state.

*/ inline void SetState(DeviceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The device state.

*/ inline Device& WithState(const DeviceState& value) { SetState(value); return *this;} /** *

The device state.

*/ inline Device& WithState(DeviceState&& value) { SetState(std::move(value)); return *this;} /** *

The tags for the device.

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

The tags for the device.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags for the device.

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

The tags for the device.

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

The tags for the device.

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

The tags for the device.

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

The tags for the device.

*/ inline Device& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags for the device.

*/ inline Device& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_deviceId; bool m_deviceIdHasBeenSet = false; Aws::String m_deviceArn; bool m_deviceArnHasBeenSet = false; Aws::String m_globalNetworkId; bool m_globalNetworkIdHasBeenSet = false; AWSLocation m_aWSLocation; bool m_aWSLocationHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_vendor; bool m_vendorHasBeenSet = false; Aws::String m_model; bool m_modelHasBeenSet = false; Aws::String m_serialNumber; bool m_serialNumberHasBeenSet = false; Location m_location; bool m_locationHasBeenSet = false; Aws::String m_siteId; bool m_siteIdHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; DeviceState m_state; bool m_stateHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws