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

Information about a network resource.

See Also:

AWS * API Reference

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

The attributes of the network resource.

*/ inline const Aws::Vector& GetAttributes() const{ return m_attributes; } /** *

The attributes of the network resource.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

The attributes of the network resource.

*/ inline void SetAttributes(const Aws::Vector& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

The attributes of the network resource.

*/ inline void SetAttributes(Aws::Vector&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

The attributes of the network resource.

*/ inline NetworkResource& WithAttributes(const Aws::Vector& value) { SetAttributes(value); return *this;} /** *

The attributes of the network resource.

*/ inline NetworkResource& WithAttributes(Aws::Vector&& value) { SetAttributes(std::move(value)); return *this;} /** *

The attributes of the network resource.

*/ inline NetworkResource& AddAttributes(const NameValuePair& value) { m_attributesHasBeenSet = true; m_attributes.push_back(value); return *this; } /** *

The attributes of the network resource.

*/ inline NetworkResource& AddAttributes(NameValuePair&& value) { m_attributesHasBeenSet = true; m_attributes.push_back(std::move(value)); return *this; } /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline const CommitmentInformation& GetCommitmentInformation() const{ return m_commitmentInformation; } /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline bool CommitmentInformationHasBeenSet() const { return m_commitmentInformationHasBeenSet; } /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline void SetCommitmentInformation(const CommitmentInformation& value) { m_commitmentInformationHasBeenSet = true; m_commitmentInformation = value; } /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline void SetCommitmentInformation(CommitmentInformation&& value) { m_commitmentInformationHasBeenSet = true; m_commitmentInformation = std::move(value); } /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline NetworkResource& WithCommitmentInformation(const CommitmentInformation& value) { SetCommitmentInformation(value); return *this;} /** *

Information about the commitment period for the radio unit. Shows the * duration, the date and time that the contract started and ends, and the renewal * status of the commitment period.

*/ inline NetworkResource& WithCommitmentInformation(CommitmentInformation&& value) { SetCommitmentInformation(std::move(value)); return *this;} /** *

The creation time of the network resource.

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

The creation time of the network resource.

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

The creation time of the network resource.

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

The creation time of the network resource.

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

The creation time of the network resource.

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

The creation time of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The description of the network resource.

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

The health of the network resource.

*/ inline const HealthStatus& GetHealth() const{ return m_health; } /** *

The health of the network resource.

*/ inline bool HealthHasBeenSet() const { return m_healthHasBeenSet; } /** *

The health of the network resource.

*/ inline void SetHealth(const HealthStatus& value) { m_healthHasBeenSet = true; m_health = value; } /** *

The health of the network resource.

*/ inline void SetHealth(HealthStatus&& value) { m_healthHasBeenSet = true; m_health = std::move(value); } /** *

The health of the network resource.

*/ inline NetworkResource& WithHealth(const HealthStatus& value) { SetHealth(value); return *this;} /** *

The health of the network resource.

*/ inline NetworkResource& WithHealth(HealthStatus&& value) { SetHealth(std::move(value)); return *this;} /** *

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The model of the network resource.

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

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline const Aws::String& GetNetworkArn() const{ return m_networkArn; } /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline bool NetworkArnHasBeenSet() const { return m_networkArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline void SetNetworkArn(const Aws::String& value) { m_networkArnHasBeenSet = true; m_networkArn = value; } /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline void SetNetworkArn(Aws::String&& value) { m_networkArnHasBeenSet = true; m_networkArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline void SetNetworkArn(const char* value) { m_networkArnHasBeenSet = true; m_networkArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline NetworkResource& WithNetworkArn(const Aws::String& value) { SetNetworkArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline NetworkResource& WithNetworkArn(Aws::String&& value) { SetNetworkArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network on which this network resource * appears.

*/ inline NetworkResource& WithNetworkArn(const char* value) { SetNetworkArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline const Aws::String& GetNetworkResourceArn() const{ return m_networkResourceArn; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline bool NetworkResourceArnHasBeenSet() const { return m_networkResourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(const Aws::String& value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn = value; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(Aws::String&& value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(const char* value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline NetworkResource& WithNetworkResourceArn(const Aws::String& value) { SetNetworkResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline NetworkResource& WithNetworkResourceArn(Aws::String&& value) { SetNetworkResourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline NetworkResource& WithNetworkResourceArn(const char* value) { SetNetworkResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline const Aws::String& GetNetworkSiteArn() const{ return m_networkSiteArn; } /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline bool NetworkSiteArnHasBeenSet() const { return m_networkSiteArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline void SetNetworkSiteArn(const Aws::String& value) { m_networkSiteArnHasBeenSet = true; m_networkSiteArn = value; } /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline void SetNetworkSiteArn(Aws::String&& value) { m_networkSiteArnHasBeenSet = true; m_networkSiteArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline void SetNetworkSiteArn(const char* value) { m_networkSiteArnHasBeenSet = true; m_networkSiteArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline NetworkResource& WithNetworkSiteArn(const Aws::String& value) { SetNetworkSiteArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline NetworkResource& WithNetworkSiteArn(Aws::String&& value) { SetNetworkSiteArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network site on which this network * resource appears.

*/ inline NetworkResource& WithNetworkSiteArn(const char* value) { SetNetworkSiteArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline const Aws::String& GetOrderArn() const{ return m_orderArn; } /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline bool OrderArnHasBeenSet() const { return m_orderArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline void SetOrderArn(const Aws::String& value) { m_orderArnHasBeenSet = true; m_orderArn = value; } /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline void SetOrderArn(Aws::String&& value) { m_orderArnHasBeenSet = true; m_orderArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline void SetOrderArn(const char* value) { m_orderArnHasBeenSet = true; m_orderArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline NetworkResource& WithOrderArn(const Aws::String& value) { SetOrderArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline NetworkResource& WithOrderArn(Aws::String&& value) { SetOrderArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the order used to purchase this network * resource.

*/ inline NetworkResource& WithOrderArn(const char* value) { SetOrderArn(value); return *this;} /** *

The position of the network resource.

*/ inline const Position& GetPosition() const{ return m_position; } /** *

The position of the network resource.

*/ inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } /** *

The position of the network resource.

*/ inline void SetPosition(const Position& value) { m_positionHasBeenSet = true; m_position = value; } /** *

The position of the network resource.

*/ inline void SetPosition(Position&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } /** *

The position of the network resource.

*/ inline NetworkResource& WithPosition(const Position& value) { SetPosition(value); return *this;} /** *

The position of the network resource.

*/ inline NetworkResource& WithPosition(Position&& value) { SetPosition(std::move(value)); return *this;} /** *

Information about a request to return the network resource.

*/ inline const ReturnInformation& GetReturnInformation() const{ return m_returnInformation; } /** *

Information about a request to return the network resource.

*/ inline bool ReturnInformationHasBeenSet() const { return m_returnInformationHasBeenSet; } /** *

Information about a request to return the network resource.

*/ inline void SetReturnInformation(const ReturnInformation& value) { m_returnInformationHasBeenSet = true; m_returnInformation = value; } /** *

Information about a request to return the network resource.

*/ inline void SetReturnInformation(ReturnInformation&& value) { m_returnInformationHasBeenSet = true; m_returnInformation = std::move(value); } /** *

Information about a request to return the network resource.

*/ inline NetworkResource& WithReturnInformation(const ReturnInformation& value) { SetReturnInformation(value); return *this;} /** *

Information about a request to return the network resource.

*/ inline NetworkResource& WithReturnInformation(ReturnInformation&& value) { SetReturnInformation(std::move(value)); return *this;} /** *

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The serial number of the network resource.

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

The status of the network resource.

*/ inline const NetworkResourceStatus& GetStatus() const{ return m_status; } /** *

The status of the network resource.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the network resource.

*/ inline void SetStatus(const NetworkResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the network resource.

*/ inline void SetStatus(NetworkResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the network resource.

*/ inline NetworkResource& WithStatus(const NetworkResourceStatus& value) { SetStatus(value); return *this;} /** *

The status of the network resource.

*/ inline NetworkResource& WithStatus(NetworkResourceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The status reason of the network resource.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

The status reason of the network resource.

*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *

The status reason of the network resource.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *

The status reason of the network resource.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *

The status reason of the network resource.

*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *

The status reason of the network resource.

*/ inline NetworkResource& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

The status reason of the network resource.

*/ inline NetworkResource& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

The status reason of the network resource.

*/ inline NetworkResource& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

The type of the network resource.

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

The type of the network resource.

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

The type of the network resource.

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

The type of the network resource.

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

The type of the network resource.

*/ inline NetworkResource& WithType(const NetworkResourceType& value) { SetType(value); return *this;} /** *

The type of the network resource.

*/ inline NetworkResource& WithType(NetworkResourceType&& value) { SetType(std::move(value)); return *this;} /** *

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

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

The vendor of the network resource.

*/ inline NetworkResource& WithVendor(const char* value) { SetVendor(value); return *this;} private: Aws::Vector m_attributes; bool m_attributesHasBeenSet = false; CommitmentInformation m_commitmentInformation; bool m_commitmentInformationHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; HealthStatus m_health; bool m_healthHasBeenSet = false; Aws::String m_model; bool m_modelHasBeenSet = false; Aws::String m_networkArn; bool m_networkArnHasBeenSet = false; Aws::String m_networkResourceArn; bool m_networkResourceArnHasBeenSet = false; Aws::String m_networkSiteArn; bool m_networkSiteArnHasBeenSet = false; Aws::String m_orderArn; bool m_orderArnHasBeenSet = false; Position m_position; bool m_positionHasBeenSet = false; ReturnInformation m_returnInformation; bool m_returnInformationHasBeenSet = false; Aws::String m_serialNumber; bool m_serialNumberHasBeenSet = false; NetworkResourceStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; NetworkResourceType m_type; bool m_typeHasBeenSet = false; Aws::String m_vendor; bool m_vendorHasBeenSet = false; }; } // namespace Model } // namespace PrivateNetworks } // namespace Aws