/** * 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 Http { class URI; } //namespace Http namespace LocationService { namespace Model { /** */ class SearchPlaceIndexForPositionRequest : public LocationServiceRequest { public: AWS_LOCATIONSERVICE_API SearchPlaceIndexForPositionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SearchPlaceIndexForPosition"; } AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override; AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The name of the place index resource you want to use for the search.

*/ inline const Aws::String& GetIndexName() const{ return m_indexName; } /** *

The name of the place index resource you want to use for the search.

*/ inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; } /** *

The name of the place index resource you want to use for the search.

*/ inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; } /** *

The name of the place index resource you want to use for the search.

*/ inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); } /** *

The name of the place index resource you want to use for the search.

*/ inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); } /** *

The name of the place index resource you want to use for the search.

*/ inline SearchPlaceIndexForPositionRequest& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;} /** *

The name of the place index resource you want to use for the search.

*/ inline SearchPlaceIndexForPositionRequest& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;} /** *

The name of the place index resource you want to use for the search.

*/ inline SearchPlaceIndexForPositionRequest& WithIndexName(const char* value) { SetIndexName(value); return *this;} /** *

The optional API * key to authorize the request.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

The optional API * key to authorize the request.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

The optional API * key to authorize the request.

*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *

The optional API * key to authorize the request.

*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

The optional API * key to authorize the request.

*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *

The optional API * key to authorize the request.

*/ inline SearchPlaceIndexForPositionRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

The optional API * key to authorize the request.

*/ inline SearchPlaceIndexForPositionRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

The optional API * key to authorize the request.

*/ inline SearchPlaceIndexForPositionRequest& WithKey(const char* value) { SetKey(value); return *this;} /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline const Aws::String& GetLanguage() const{ return m_language; } /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline SearchPlaceIndexForPositionRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline SearchPlaceIndexForPositionRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} /** *

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, * en for English.

This setting affects the languages used in * the results, but not the results themselves. If no language is specified, or not * supported for a particular result, the partner automatically chooses a language * for the result.

For an example, we'll use the Greek language. You search * for a location around Athens, Greece, with the language parameter * set to en. The city in the results will most likely be * returned as Athens.

If you set the language * parameter to el, for Greek, then the city in the * results will more likely be returned as Αθήνα.

If the data * provider does not have a value for Greek, the result will be in a language that * the provider does support.

*/ inline SearchPlaceIndexForPositionRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} /** *

An optional parameter. The maximum number of results returned per * request.

Default value: 50

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

An optional parameter. The maximum number of results returned per * request.

Default value: 50

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

An optional parameter. The maximum number of results returned per * request.

Default value: 50

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

An optional parameter. The maximum number of results returned per * request.

Default value: 50

*/ inline SearchPlaceIndexForPositionRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline const Aws::Vector& GetPosition() const{ return m_position; } /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline SearchPlaceIndexForPositionRequest& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline SearchPlaceIndexForPositionRequest& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} /** *

Specifies the longitude and latitude of the position to query.

This * parameter must contain a pair of numbers. The first number represents the X * coordinate, or longitude; the second number represents the Y coordinate, or * latitude.

For example, [-123.1174, 49.2847] represents a * position with longitude -123.1174 and latitude * 49.2847.

*/ inline SearchPlaceIndexForPositionRequest& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } private: Aws::String m_indexName; bool m_indexNameHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_language; bool m_languageHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::Vector m_position; bool m_positionHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws