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

Information about an Direct Connect location.

See Also:

AWS * API Reference

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

The code for the location.

*/ inline const Aws::String& GetLocationCode() const{ return m_locationCode; } /** *

The code for the location.

*/ inline bool LocationCodeHasBeenSet() const { return m_locationCodeHasBeenSet; } /** *

The code for the location.

*/ inline void SetLocationCode(const Aws::String& value) { m_locationCodeHasBeenSet = true; m_locationCode = value; } /** *

The code for the location.

*/ inline void SetLocationCode(Aws::String&& value) { m_locationCodeHasBeenSet = true; m_locationCode = std::move(value); } /** *

The code for the location.

*/ inline void SetLocationCode(const char* value) { m_locationCodeHasBeenSet = true; m_locationCode.assign(value); } /** *

The code for the location.

*/ inline Location& WithLocationCode(const Aws::String& value) { SetLocationCode(value); return *this;} /** *

The code for the location.

*/ inline Location& WithLocationCode(Aws::String&& value) { SetLocationCode(std::move(value)); return *this;} /** *

The code for the location.

*/ inline Location& WithLocationCode(const char* value) { SetLocationCode(value); return *this;} /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline const Aws::String& GetLocationName() const{ return m_locationName; } /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline bool LocationNameHasBeenSet() const { return m_locationNameHasBeenSet; } /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline void SetLocationName(const Aws::String& value) { m_locationNameHasBeenSet = true; m_locationName = value; } /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline void SetLocationName(Aws::String&& value) { m_locationNameHasBeenSet = true; m_locationName = std::move(value); } /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline void SetLocationName(const char* value) { m_locationNameHasBeenSet = true; m_locationName.assign(value); } /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline Location& WithLocationName(const Aws::String& value) { SetLocationName(value); return *this;} /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline Location& WithLocationName(Aws::String&& value) { SetLocationName(std::move(value)); return *this;} /** *

The name of the location. This includes the name of the colocation partner * and the physical site of the building.

*/ inline Location& WithLocationName(const char* value) { SetLocationName(value); return *this;} /** *

The Amazon Web Services Region for the location.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Amazon Web Services Region for the location.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Amazon Web Services Region for the location.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Amazon Web Services Region for the location.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Amazon Web Services Region for the location.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Amazon Web Services Region for the location.

*/ inline Location& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Amazon Web Services Region for the location.

*/ inline Location& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region for the location.

*/ inline Location& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The available port speeds for the location.

*/ inline const Aws::Vector& GetAvailablePortSpeeds() const{ return m_availablePortSpeeds; } /** *

The available port speeds for the location.

*/ inline bool AvailablePortSpeedsHasBeenSet() const { return m_availablePortSpeedsHasBeenSet; } /** *

The available port speeds for the location.

*/ inline void SetAvailablePortSpeeds(const Aws::Vector& value) { m_availablePortSpeedsHasBeenSet = true; m_availablePortSpeeds = value; } /** *

The available port speeds for the location.

*/ inline void SetAvailablePortSpeeds(Aws::Vector&& value) { m_availablePortSpeedsHasBeenSet = true; m_availablePortSpeeds = std::move(value); } /** *

The available port speeds for the location.

*/ inline Location& WithAvailablePortSpeeds(const Aws::Vector& value) { SetAvailablePortSpeeds(value); return *this;} /** *

The available port speeds for the location.

*/ inline Location& WithAvailablePortSpeeds(Aws::Vector&& value) { SetAvailablePortSpeeds(std::move(value)); return *this;} /** *

The available port speeds for the location.

*/ inline Location& AddAvailablePortSpeeds(const Aws::String& value) { m_availablePortSpeedsHasBeenSet = true; m_availablePortSpeeds.push_back(value); return *this; } /** *

The available port speeds for the location.

*/ inline Location& AddAvailablePortSpeeds(Aws::String&& value) { m_availablePortSpeedsHasBeenSet = true; m_availablePortSpeeds.push_back(std::move(value)); return *this; } /** *

The available port speeds for the location.

*/ inline Location& AddAvailablePortSpeeds(const char* value) { m_availablePortSpeedsHasBeenSet = true; m_availablePortSpeeds.push_back(value); return *this; } /** *

The name of the service provider for the location.

*/ inline const Aws::Vector& GetAvailableProviders() const{ return m_availableProviders; } /** *

The name of the service provider for the location.

*/ inline bool AvailableProvidersHasBeenSet() const { return m_availableProvidersHasBeenSet; } /** *

The name of the service provider for the location.

*/ inline void SetAvailableProviders(const Aws::Vector& value) { m_availableProvidersHasBeenSet = true; m_availableProviders = value; } /** *

The name of the service provider for the location.

*/ inline void SetAvailableProviders(Aws::Vector&& value) { m_availableProvidersHasBeenSet = true; m_availableProviders = std::move(value); } /** *

The name of the service provider for the location.

*/ inline Location& WithAvailableProviders(const Aws::Vector& value) { SetAvailableProviders(value); return *this;} /** *

The name of the service provider for the location.

*/ inline Location& WithAvailableProviders(Aws::Vector&& value) { SetAvailableProviders(std::move(value)); return *this;} /** *

The name of the service provider for the location.

*/ inline Location& AddAvailableProviders(const Aws::String& value) { m_availableProvidersHasBeenSet = true; m_availableProviders.push_back(value); return *this; } /** *

The name of the service provider for the location.

*/ inline Location& AddAvailableProviders(Aws::String&& value) { m_availableProvidersHasBeenSet = true; m_availableProviders.push_back(std::move(value)); return *this; } /** *

The name of the service provider for the location.

*/ inline Location& AddAvailableProviders(const char* value) { m_availableProvidersHasBeenSet = true; m_availableProviders.push_back(value); return *this; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline const Aws::Vector& GetAvailableMacSecPortSpeeds() const{ return m_availableMacSecPortSpeeds; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline bool AvailableMacSecPortSpeedsHasBeenSet() const { return m_availableMacSecPortSpeedsHasBeenSet; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline void SetAvailableMacSecPortSpeeds(const Aws::Vector& value) { m_availableMacSecPortSpeedsHasBeenSet = true; m_availableMacSecPortSpeeds = value; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline void SetAvailableMacSecPortSpeeds(Aws::Vector&& value) { m_availableMacSecPortSpeedsHasBeenSet = true; m_availableMacSecPortSpeeds = std::move(value); } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline Location& WithAvailableMacSecPortSpeeds(const Aws::Vector& value) { SetAvailableMacSecPortSpeeds(value); return *this;} /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline Location& WithAvailableMacSecPortSpeeds(Aws::Vector&& value) { SetAvailableMacSecPortSpeeds(std::move(value)); return *this;} /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline Location& AddAvailableMacSecPortSpeeds(const Aws::String& value) { m_availableMacSecPortSpeedsHasBeenSet = true; m_availableMacSecPortSpeeds.push_back(value); return *this; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline Location& AddAvailableMacSecPortSpeeds(Aws::String&& value) { m_availableMacSecPortSpeedsHasBeenSet = true; m_availableMacSecPortSpeeds.push_back(std::move(value)); return *this; } /** *

The available MAC Security (MACsec) port speeds for the location.

*/ inline Location& AddAvailableMacSecPortSpeeds(const char* value) { m_availableMacSecPortSpeedsHasBeenSet = true; m_availableMacSecPortSpeeds.push_back(value); return *this; } private: Aws::String m_locationCode; bool m_locationCodeHasBeenSet = false; Aws::String m_locationName; bool m_locationNameHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::Vector m_availablePortSpeeds; bool m_availablePortSpeedsHasBeenSet = false; Aws::Vector m_availableProviders; bool m_availableProvidersHasBeenSet = false; Aws::Vector m_availableMacSecPortSpeeds; bool m_availableMacSecPortSpeedsHasBeenSet = false; }; } // namespace Model } // namespace DirectConnect } // namespace Aws