/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the glue-2017-03-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Glue.Model
{
///
/// Container for the parameters to the SearchTables operation.
/// Searches a set of tables based on properties in the table metadata as well as on the
/// parent database. You can search against text or filter conditions.
///
///
///
/// You can only get tables that you have access to based on the security policies defined
/// in Lake Formation. You need at least a read-only access to the table for it to be
/// returned. If you do not have access to all the columns in the table, these columns
/// will not be searched against when returning the list of tables back to you. If you
/// have access to the columns but not the data in the columns, those columns and the
/// associated metadata for those columns will be included in the search.
///
///
public partial class SearchTablesRequest : AmazonGlueRequest
{
private string _catalogId;
private List _filters = new List();
private int? _maxResults;
private string _nextToken;
private ResourceShareType _resourceShareType;
private string _searchText;
private List _sortCriteria = new List();
///
/// Gets and sets the property CatalogId.
///
/// A unique identifier, consisting of account_id
.
///
///
[AWSProperty(Min=1, Max=255)]
public string CatalogId
{
get { return this._catalogId; }
set { this._catalogId = value; }
}
// Check to see if CatalogId property is set
internal bool IsSetCatalogId()
{
return this._catalogId != null;
}
///
/// Gets and sets the property 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.
///
///
public List Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null && this._filters.Count > 0;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of tables to return in a single response.
///
///
[AWSProperty(Min=1, Max=1000)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// A continuation token, included if this is a continuation call.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property 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.
///
///
///
public ResourceShareType ResourceShareType
{
get { return this._resourceShareType; }
set { this._resourceShareType = value; }
}
// Check to see if ResourceShareType property is set
internal bool IsSetResourceShareType()
{
return this._resourceShareType != null;
}
///
/// Gets and sets the property SearchText.
///
/// A string used for a text search.
///
///
///
/// Specifying a value in quotes filters based on an exact match to the value.
///
///
[AWSProperty(Max=1024)]
public string SearchText
{
get { return this._searchText; }
set { this._searchText = value; }
}
// Check to see if SearchText property is set
internal bool IsSetSearchText()
{
return this._searchText != null;
}
///
/// Gets and sets the property SortCriteria.
///
/// A list of criteria for sorting the results by a field name, in an ascending or descending
/// order.
///
///
[AWSProperty(Min=0, Max=1)]
public List SortCriteria
{
get { return this._sortCriteria; }
set { this._sortCriteria = value; }
}
// Check to see if SortCriteria property is set
internal bool IsSetSortCriteria()
{
return this._sortCriteria != null && this._sortCriteria.Count > 0;
}
}
}