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

Specifies a location in Amazon Web Services.

See Also:

AWS * API Reference

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

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline const Aws::String& GetZone() const{ return m_zone; } /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline bool ZoneHasBeenSet() const { return m_zoneHasBeenSet; } /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline void SetZone(const Aws::String& value) { m_zoneHasBeenSet = true; m_zone = value; } /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline void SetZone(Aws::String&& value) { m_zoneHasBeenSet = true; m_zone = std::move(value); } /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline void SetZone(const char* value) { m_zoneHasBeenSet = true; m_zone.assign(value); } /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline AWSLocation& WithZone(const Aws::String& value) { SetZone(value); return *this;} /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline AWSLocation& WithZone(Aws::String&& value) { SetZone(std::move(value)); return *this;} /** *

The Zone that the device is located in. Specify the ID of an Availability * Zone, Local Zone, Wavelength Zone, or an Outpost.

*/ inline AWSLocation& WithZone(const char* value) { SetZone(value); return *this;} /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline const Aws::String& GetSubnetArn() const{ return m_subnetArn; } /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline bool SubnetArnHasBeenSet() const { return m_subnetArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline void SetSubnetArn(const Aws::String& value) { m_subnetArnHasBeenSet = true; m_subnetArn = value; } /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline void SetSubnetArn(Aws::String&& value) { m_subnetArnHasBeenSet = true; m_subnetArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline void SetSubnetArn(const char* value) { m_subnetArnHasBeenSet = true; m_subnetArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline AWSLocation& WithSubnetArn(const Aws::String& value) { SetSubnetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline AWSLocation& WithSubnetArn(Aws::String&& value) { SetSubnetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the subnet that the device is located * in.

*/ inline AWSLocation& WithSubnetArn(const char* value) { SetSubnetArn(value); return *this;} private: Aws::String m_zone; bool m_zoneHasBeenSet = false; Aws::String m_subnetArn; bool m_subnetArnHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws