/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Outposts { namespace Model { /** *

Information about a site.

See Also:

AWS API * Reference

*/ class Site { public: AWS_OUTPOSTS_API Site(); AWS_OUTPOSTS_API Site(Aws::Utils::Json::JsonView jsonValue); AWS_OUTPOSTS_API Site& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OUTPOSTS_API Aws::Utils::Json::JsonValue Jsonize() const; inline const Aws::String& GetSiteId() const{ return m_siteId; } inline bool SiteIdHasBeenSet() const { return m_siteIdHasBeenSet; } inline void SetSiteId(const Aws::String& value) { m_siteIdHasBeenSet = true; m_siteId = value; } inline void SetSiteId(Aws::String&& value) { m_siteIdHasBeenSet = true; m_siteId = std::move(value); } inline void SetSiteId(const char* value) { m_siteIdHasBeenSet = true; m_siteId.assign(value); } inline Site& WithSiteId(const Aws::String& value) { SetSiteId(value); return *this;} inline Site& WithSiteId(Aws::String&& value) { SetSiteId(std::move(value)); return *this;} inline Site& WithSiteId(const char* value) { SetSiteId(value); return *this;} inline const Aws::String& GetAccountId() const{ return m_accountId; } inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } inline Site& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} inline Site& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} inline Site& WithAccountId(const char* value) { SetAccountId(value); return *this;} inline const Aws::String& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } inline Site& WithName(const Aws::String& value) { SetName(value); return *this;} inline Site& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} inline Site& WithName(const char* value) { SetName(value); return *this;} inline const Aws::String& GetDescription() const{ return m_description; } inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } inline Site& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} inline Site& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} inline Site& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

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

The site tags.

*/ inline Site& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } inline const Aws::String& GetSiteArn() const{ return m_siteArn; } inline bool SiteArnHasBeenSet() const { return m_siteArnHasBeenSet; } inline void SetSiteArn(const Aws::String& value) { m_siteArnHasBeenSet = true; m_siteArn = value; } inline void SetSiteArn(Aws::String&& value) { m_siteArnHasBeenSet = true; m_siteArn = std::move(value); } inline void SetSiteArn(const char* value) { m_siteArnHasBeenSet = true; m_siteArn.assign(value); } inline Site& WithSiteArn(const Aws::String& value) { SetSiteArn(value); return *this;} inline Site& WithSiteArn(Aws::String&& value) { SetSiteArn(std::move(value)); return *this;} inline Site& WithSiteArn(const char* value) { SetSiteArn(value); return *this;} /** *

Notes about a site.

*/ inline const Aws::String& GetNotes() const{ return m_notes; } /** *

Notes about a site.

*/ inline bool NotesHasBeenSet() const { return m_notesHasBeenSet; } /** *

Notes about a site.

*/ inline void SetNotes(const Aws::String& value) { m_notesHasBeenSet = true; m_notes = value; } /** *

Notes about a site.

*/ inline void SetNotes(Aws::String&& value) { m_notesHasBeenSet = true; m_notes = std::move(value); } /** *

Notes about a site.

*/ inline void SetNotes(const char* value) { m_notesHasBeenSet = true; m_notes.assign(value); } /** *

Notes about a site.

*/ inline Site& WithNotes(const Aws::String& value) { SetNotes(value); return *this;} /** *

Notes about a site.

*/ inline Site& WithNotes(Aws::String&& value) { SetNotes(std::move(value)); return *this;} /** *

Notes about a site.

*/ inline Site& WithNotes(const char* value) { SetNotes(value); return *this;} /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline const Aws::String& GetOperatingAddressCountryCode() const{ return m_operatingAddressCountryCode; } /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline bool OperatingAddressCountryCodeHasBeenSet() const { return m_operatingAddressCountryCodeHasBeenSet; } /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline void SetOperatingAddressCountryCode(const Aws::String& value) { m_operatingAddressCountryCodeHasBeenSet = true; m_operatingAddressCountryCode = value; } /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline void SetOperatingAddressCountryCode(Aws::String&& value) { m_operatingAddressCountryCodeHasBeenSet = true; m_operatingAddressCountryCode = std::move(value); } /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline void SetOperatingAddressCountryCode(const char* value) { m_operatingAddressCountryCodeHasBeenSet = true; m_operatingAddressCountryCode.assign(value); } /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline Site& WithOperatingAddressCountryCode(const Aws::String& value) { SetOperatingAddressCountryCode(value); return *this;} /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline Site& WithOperatingAddressCountryCode(Aws::String&& value) { SetOperatingAddressCountryCode(std::move(value)); return *this;} /** *

The ISO-3166 two-letter country code where the hardware is installed and * powered on.

*/ inline Site& WithOperatingAddressCountryCode(const char* value) { SetOperatingAddressCountryCode(value); return *this;} /** *

State or region where the hardware is installed and powered on.

*/ inline const Aws::String& GetOperatingAddressStateOrRegion() const{ return m_operatingAddressStateOrRegion; } /** *

State or region where the hardware is installed and powered on.

*/ inline bool OperatingAddressStateOrRegionHasBeenSet() const { return m_operatingAddressStateOrRegionHasBeenSet; } /** *

State or region where the hardware is installed and powered on.

*/ inline void SetOperatingAddressStateOrRegion(const Aws::String& value) { m_operatingAddressStateOrRegionHasBeenSet = true; m_operatingAddressStateOrRegion = value; } /** *

State or region where the hardware is installed and powered on.

*/ inline void SetOperatingAddressStateOrRegion(Aws::String&& value) { m_operatingAddressStateOrRegionHasBeenSet = true; m_operatingAddressStateOrRegion = std::move(value); } /** *

State or region where the hardware is installed and powered on.

*/ inline void SetOperatingAddressStateOrRegion(const char* value) { m_operatingAddressStateOrRegionHasBeenSet = true; m_operatingAddressStateOrRegion.assign(value); } /** *

State or region where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressStateOrRegion(const Aws::String& value) { SetOperatingAddressStateOrRegion(value); return *this;} /** *

State or region where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressStateOrRegion(Aws::String&& value) { SetOperatingAddressStateOrRegion(std::move(value)); return *this;} /** *

State or region where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressStateOrRegion(const char* value) { SetOperatingAddressStateOrRegion(value); return *this;} /** *

City where the hardware is installed and powered on.

*/ inline const Aws::String& GetOperatingAddressCity() const{ return m_operatingAddressCity; } /** *

City where the hardware is installed and powered on.

*/ inline bool OperatingAddressCityHasBeenSet() const { return m_operatingAddressCityHasBeenSet; } /** *

City where the hardware is installed and powered on.

*/ inline void SetOperatingAddressCity(const Aws::String& value) { m_operatingAddressCityHasBeenSet = true; m_operatingAddressCity = value; } /** *

City where the hardware is installed and powered on.

*/ inline void SetOperatingAddressCity(Aws::String&& value) { m_operatingAddressCityHasBeenSet = true; m_operatingAddressCity = std::move(value); } /** *

City where the hardware is installed and powered on.

*/ inline void SetOperatingAddressCity(const char* value) { m_operatingAddressCityHasBeenSet = true; m_operatingAddressCity.assign(value); } /** *

City where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressCity(const Aws::String& value) { SetOperatingAddressCity(value); return *this;} /** *

City where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressCity(Aws::String&& value) { SetOperatingAddressCity(std::move(value)); return *this;} /** *

City where the hardware is installed and powered on.

*/ inline Site& WithOperatingAddressCity(const char* value) { SetOperatingAddressCity(value); return *this;} /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline const RackPhysicalProperties& GetRackPhysicalProperties() const{ return m_rackPhysicalProperties; } /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline bool RackPhysicalPropertiesHasBeenSet() const { return m_rackPhysicalPropertiesHasBeenSet; } /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline void SetRackPhysicalProperties(const RackPhysicalProperties& value) { m_rackPhysicalPropertiesHasBeenSet = true; m_rackPhysicalProperties = value; } /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline void SetRackPhysicalProperties(RackPhysicalProperties&& value) { m_rackPhysicalPropertiesHasBeenSet = true; m_rackPhysicalProperties = std::move(value); } /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline Site& WithRackPhysicalProperties(const RackPhysicalProperties& value) { SetRackPhysicalProperties(value); return *this;} /** *

Information about the physical and logistical details for a rack at the * site.

*/ inline Site& WithRackPhysicalProperties(RackPhysicalProperties&& value) { SetRackPhysicalProperties(std::move(value)); return *this;} private: Aws::String m_siteId; bool m_siteIdHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_siteArn; bool m_siteArnHasBeenSet = false; Aws::String m_notes; bool m_notesHasBeenSet = false; Aws::String m_operatingAddressCountryCode; bool m_operatingAddressCountryCodeHasBeenSet = false; Aws::String m_operatingAddressStateOrRegion; bool m_operatingAddressStateOrRegionHasBeenSet = false; Aws::String m_operatingAddressCity; bool m_operatingAddressCityHasBeenSet = false; RackPhysicalProperties m_rackPhysicalProperties; bool m_rackPhysicalPropertiesHasBeenSet = false; }; } // namespace Model } // namespace Outposts } // namespace Aws