/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Glue { namespace Model { /** */ class SearchTablesRequest : public GlueRequest { public: AWS_GLUE_API SearchTablesRequest(); // 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 "SearchTables"; } AWS_GLUE_API Aws::String SerializePayload() const override; AWS_GLUE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique identifier, consisting of account_id .

*/ inline const Aws::String& GetCatalogId() const{ return m_catalogId; } /** *

A unique identifier, consisting of account_id .

*/ inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } /** *

A unique identifier, consisting of account_id .

*/ inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } /** *

A unique identifier, consisting of account_id .

*/ inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } /** *

A unique identifier, consisting of account_id .

*/ inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } /** *

A unique identifier, consisting of account_id .

*/ inline SearchTablesRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} /** *

A unique identifier, consisting of account_id .

*/ inline SearchTablesRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} /** *

A unique identifier, consisting of account_id .

*/ inline SearchTablesRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} /** *

A continuation token, included if this is a continuation call.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

A continuation token, included if this is a continuation call.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

A continuation token, included if this is a continuation call.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

A continuation token, included if this is a continuation call.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

A continuation token, included if this is a continuation call.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

A continuation token, included if this is a continuation call.

*/ inline SearchTablesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

A continuation token, included if this is a continuation call.

*/ inline SearchTablesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

A continuation token, included if this is a continuation call.

*/ inline SearchTablesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline SearchTablesRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline SearchTablesRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline SearchTablesRequest& AddFilters(const PropertyPredicate& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

A list of key-value pairs, and a comparator used to filter the search * results. Returns all entities matching the predicate.

The * Comparator member of the PropertyPredicate struct is * used only for time fields, and can be omitted for other field types. Also, when * comparing string values, such as when Key=Name, a fuzzy match * algorithm is used. The Key field (for example, the value of the * Name field) is split on certain punctuation characters, for * example, -, :, #, etc. into tokens. Then each token is exact-match compared with * the Value member of PropertyPredicate. For example, if * Key=Name and Value=link, tables named * customer-link and xx-link-yy are returned, but * xxlinkyy is not returned.

*/ inline SearchTablesRequest& AddFilters(PropertyPredicate&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline const Aws::String& GetSearchText() const{ return m_searchText; } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline bool SearchTextHasBeenSet() const { return m_searchTextHasBeenSet; } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline void SetSearchText(const Aws::String& value) { m_searchTextHasBeenSet = true; m_searchText = value; } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline void SetSearchText(Aws::String&& value) { m_searchTextHasBeenSet = true; m_searchText = std::move(value); } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline void SetSearchText(const char* value) { m_searchTextHasBeenSet = true; m_searchText.assign(value); } /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline SearchTablesRequest& WithSearchText(const Aws::String& value) { SetSearchText(value); return *this;} /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline SearchTablesRequest& WithSearchText(Aws::String&& value) { SetSearchText(std::move(value)); return *this;} /** *

A string used for a text search.

Specifying a value in quotes filters * based on an exact match to the value.

*/ inline SearchTablesRequest& WithSearchText(const char* value) { SetSearchText(value); return *this;} /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline const Aws::Vector& GetSortCriteria() const{ return m_sortCriteria; } /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline void SetSortCriteria(const Aws::Vector& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = value; } /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline void SetSortCriteria(Aws::Vector&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::move(value); } /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline SearchTablesRequest& WithSortCriteria(const Aws::Vector& value) { SetSortCriteria(value); return *this;} /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline SearchTablesRequest& WithSortCriteria(Aws::Vector&& value) { SetSortCriteria(std::move(value)); return *this;} /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline SearchTablesRequest& AddSortCriteria(const SortCriterion& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.push_back(value); return *this; } /** *

A list of criteria for sorting the results by a field name, in an ascending * or descending order.

*/ inline SearchTablesRequest& AddSortCriteria(SortCriterion&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.push_back(std::move(value)); return *this; } /** *

The maximum number of tables to return in a single response.

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

The maximum number of tables to return in a single response.

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

The maximum number of tables to return in a single response.

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

The maximum number of tables to return in a single response.

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

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline const ResourceShareType& GetResourceShareType() const{ return m_resourceShareType; } /** *

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline bool ResourceShareTypeHasBeenSet() const { return m_resourceShareTypeHasBeenSet; } /** *

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline void SetResourceShareType(const ResourceShareType& value) { m_resourceShareTypeHasBeenSet = true; m_resourceShareType = value; } /** *

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline void SetResourceShareType(ResourceShareType&& value) { m_resourceShareTypeHasBeenSet = true; m_resourceShareType = std::move(value); } /** *

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline SearchTablesRequest& WithResourceShareType(const ResourceShareType& value) { SetResourceShareType(value); return *this;} /** *

Allows you to specify that you want to search the tables shared with your * account. The allowable values are FOREIGN or ALL.

*
  • If set to FOREIGN, will search the tables shared with * your account.

  • If set to ALL, will search the * tables shared with your account, as well as the tables in yor local account. *

*/ inline SearchTablesRequest& WithResourceShareType(ResourceShareType&& value) { SetResourceShareType(std::move(value)); return *this;} private: Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::String m_searchText; bool m_searchTextHasBeenSet = false; Aws::Vector m_sortCriteria; bool m_sortCriteriaHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; ResourceShareType m_resourceShareType; bool m_resourceShareTypeHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws