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

Contains a place suggestion resulting from a place suggestion query that is * run on a place index resource.

See Also:

AWS * API Reference

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

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline const Aws::Vector& GetCategories() const{ return m_categories; } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline SearchForSuggestionsResult& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline SearchForSuggestionsResult& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline SearchForSuggestionsResult& AddCategories(const Aws::String& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline SearchForSuggestionsResult& AddCategories(Aws::String&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } /** *

The Amazon Location categories that describe the Place.

For more * information about using categories, including a list of Amazon Location * categories, see Categories * and filtering, in the Amazon Location Service Developer Guide.

*/ inline SearchForSuggestionsResult& AddCategories(const char* value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline const Aws::String& GetPlaceId() const{ return m_placeId; } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline SearchForSuggestionsResult& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline SearchForSuggestionsResult& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} /** *

The unique identifier of the Place. You can use this with the * GetPlace operation to find the place again later, or to get full * information for the Place.

The GetPlace request must use the * same PlaceIndex resource as the * SearchPlaceIndexForSuggestions that generated the Place ID.

*

For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE * as data providers.

*/ inline SearchForSuggestionsResult& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline const Aws::Vector& GetSupplementalCategories() const{ return m_supplementalCategories; } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline bool SupplementalCategoriesHasBeenSet() const { return m_supplementalCategoriesHasBeenSet; } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline void SetSupplementalCategories(const Aws::Vector& value) { m_supplementalCategoriesHasBeenSet = true; m_supplementalCategories = value; } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline void SetSupplementalCategories(Aws::Vector&& value) { m_supplementalCategoriesHasBeenSet = true; m_supplementalCategories = std::move(value); } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline SearchForSuggestionsResult& WithSupplementalCategories(const Aws::Vector& value) { SetSupplementalCategories(value); return *this;} /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline SearchForSuggestionsResult& WithSupplementalCategories(Aws::Vector&& value) { SetSupplementalCategories(std::move(value)); return *this;} /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline SearchForSuggestionsResult& AddSupplementalCategories(const Aws::String& value) { m_supplementalCategoriesHasBeenSet = true; m_supplementalCategories.push_back(value); return *this; } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline SearchForSuggestionsResult& AddSupplementalCategories(Aws::String&& value) { m_supplementalCategoriesHasBeenSet = true; m_supplementalCategories.push_back(std::move(value)); return *this; } /** *

Categories from the data provider that describe the Place that are not mapped * to any Amazon Location categories.

*/ inline SearchForSuggestionsResult& AddSupplementalCategories(const char* value) { m_supplementalCategoriesHasBeenSet = true; m_supplementalCategories.push_back(value); return *this; } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline const Aws::String& GetText() const{ return m_text; } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline bool TextHasBeenSet() const { return m_textHasBeenSet; } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline SearchForSuggestionsResult& WithText(const Aws::String& value) { SetText(value); return *this;} /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline SearchForSuggestionsResult& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} /** *

The text of the place suggestion, typically formatted as an address * string.

*/ inline SearchForSuggestionsResult& WithText(const char* value) { SetText(value); return *this;} private: Aws::Vector m_categories; bool m_categoriesHasBeenSet = false; Aws::String m_placeId; bool m_placeIdHasBeenSet = false; Aws::Vector m_supplementalCategories; bool m_supplementalCategoriesHasBeenSet = false; Aws::String m_text; bool m_textHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws