/** * 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 Pinpoint { namespace Model { /** *

Specifies geographical dimension settings for a segment.

See * Also:

AWS * API Reference

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

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline const SetDimension& GetCountry() const{ return m_country; } /** *

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } /** *

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline void SetCountry(const SetDimension& value) { m_countryHasBeenSet = true; m_country = value; } /** *

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline void SetCountry(SetDimension&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } /** *

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline SegmentLocation& WithCountry(const SetDimension& value) { SetCountry(value); return *this;} /** *

The country or region code, in ISO 3166-1 alpha-2 format, for the * segment.

*/ inline SegmentLocation& WithCountry(SetDimension&& value) { SetCountry(std::move(value)); return *this;} /** *

The GPS location and range for the segment.

*/ inline const GPSPointDimension& GetGPSPoint() const{ return m_gPSPoint; } /** *

The GPS location and range for the segment.

*/ inline bool GPSPointHasBeenSet() const { return m_gPSPointHasBeenSet; } /** *

The GPS location and range for the segment.

*/ inline void SetGPSPoint(const GPSPointDimension& value) { m_gPSPointHasBeenSet = true; m_gPSPoint = value; } /** *

The GPS location and range for the segment.

*/ inline void SetGPSPoint(GPSPointDimension&& value) { m_gPSPointHasBeenSet = true; m_gPSPoint = std::move(value); } /** *

The GPS location and range for the segment.

*/ inline SegmentLocation& WithGPSPoint(const GPSPointDimension& value) { SetGPSPoint(value); return *this;} /** *

The GPS location and range for the segment.

*/ inline SegmentLocation& WithGPSPoint(GPSPointDimension&& value) { SetGPSPoint(std::move(value)); return *this;} private: SetDimension m_country; bool m_countryHasBeenSet = false; GPSPointDimension m_gPSPoint; bool m_gPSPointHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws