/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 site.

See Also:

AWS * API Reference

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

The parent Availability Zone for the network site.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The parent Availability Zone for the network site.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The parent Availability Zone for the network site.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The parent Availability Zone for the network site.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The parent Availability Zone for the network site.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The parent Availability Zone for the network site.

*/ inline NetworkSite& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The parent Availability Zone for the network site.

*/ inline NetworkSite& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The parent Availability Zone for the network site.

*/ inline NetworkSite& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The parent Availability Zone ID for the network site.

*/ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *

The parent Availability Zone ID for the network site.

*/ inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; } /** *

The parent Availability Zone ID for the network site.

*/ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = value; } /** *

The parent Availability Zone ID for the network site.

*/ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::move(value); } /** *

The parent Availability Zone ID for the network site.

*/ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId.assign(value); } /** *

The parent Availability Zone ID for the network site.

*/ inline NetworkSite& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *

The parent Availability Zone ID for the network site.

*/ inline NetworkSite& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *

The parent Availability Zone ID for the network site.

*/ inline NetworkSite& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} /** *

The creation time of the network site.

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

The creation time of the network site.

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

The creation time of the network site.

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

The creation time of the network site.

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

The creation time of the network site.

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

The creation time of the network site.

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

The current plan of the network site.

*/ inline const SitePlan& GetCurrentPlan() const{ return m_currentPlan; } /** *

The current plan of the network site.

*/ inline bool CurrentPlanHasBeenSet() const { return m_currentPlanHasBeenSet; } /** *

The current plan of the network site.

*/ inline void SetCurrentPlan(const SitePlan& value) { m_currentPlanHasBeenSet = true; m_currentPlan = value; } /** *

The current plan of the network site.

*/ inline void SetCurrentPlan(SitePlan&& value) { m_currentPlanHasBeenSet = true; m_currentPlan = std::move(value); } /** *

The current plan of the network site.

*/ inline NetworkSite& WithCurrentPlan(const SitePlan& value) { SetCurrentPlan(value); return *this;} /** *

The current plan of the network site.

*/ inline NetworkSite& WithCurrentPlan(SitePlan&& value) { SetCurrentPlan(std::move(value)); return *this;} /** *

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The description of the network site.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

The Amazon Resource Name (ARN) of the network to which the network site * belongs.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The name of the network site.

*/ inline const Aws::String& GetNetworkSiteName() const{ return m_networkSiteName; } /** *

The name of the network site.

*/ inline bool NetworkSiteNameHasBeenSet() const { return m_networkSiteNameHasBeenSet; } /** *

The name of the network site.

*/ inline void SetNetworkSiteName(const Aws::String& value) { m_networkSiteNameHasBeenSet = true; m_networkSiteName = value; } /** *

The name of the network site.

*/ inline void SetNetworkSiteName(Aws::String&& value) { m_networkSiteNameHasBeenSet = true; m_networkSiteName = std::move(value); } /** *

The name of the network site.

*/ inline void SetNetworkSiteName(const char* value) { m_networkSiteNameHasBeenSet = true; m_networkSiteName.assign(value); } /** *

The name of the network site.

*/ inline NetworkSite& WithNetworkSiteName(const Aws::String& value) { SetNetworkSiteName(value); return *this;} /** *

The name of the network site.

*/ inline NetworkSite& WithNetworkSiteName(Aws::String&& value) { SetNetworkSiteName(std::move(value)); return *this;} /** *

The name of the network site.

*/ inline NetworkSite& WithNetworkSiteName(const char* value) { SetNetworkSiteName(value); return *this;} /** *

The pending plan of the network site.

*/ inline const SitePlan& GetPendingPlan() const{ return m_pendingPlan; } /** *

The pending plan of the network site.

*/ inline bool PendingPlanHasBeenSet() const { return m_pendingPlanHasBeenSet; } /** *

The pending plan of the network site.

*/ inline void SetPendingPlan(const SitePlan& value) { m_pendingPlanHasBeenSet = true; m_pendingPlan = value; } /** *

The pending plan of the network site.

*/ inline void SetPendingPlan(SitePlan&& value) { m_pendingPlanHasBeenSet = true; m_pendingPlan = std::move(value); } /** *

The pending plan of the network site.

*/ inline NetworkSite& WithPendingPlan(const SitePlan& value) { SetPendingPlan(value); return *this;} /** *

The pending plan of the network site.

*/ inline NetworkSite& WithPendingPlan(SitePlan&& value) { SetPendingPlan(std::move(value)); return *this;} /** *

The status of the network site.

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

The status of the network site.

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

The status of the network site.

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

The status of the network site.

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

The status of the network site.

*/ inline NetworkSite& WithStatus(const NetworkSiteStatus& value) { SetStatus(value); return *this;} /** *

The status of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

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

The status reason of the network site.

*/ inline NetworkSite& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_availabilityZoneId; bool m_availabilityZoneIdHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; SitePlan m_currentPlan; bool m_currentPlanHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_networkArn; bool m_networkArnHasBeenSet = false; Aws::String m_networkSiteArn; bool m_networkSiteArnHasBeenSet = false; Aws::String m_networkSiteName; bool m_networkSiteNameHasBeenSet = false; SitePlan m_pendingPlan; bool m_pendingPlanHasBeenSet = false; NetworkSiteStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; }; } // namespace Model } // namespace PrivateNetworks } // namespace Aws