/*
* 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 GetPartitions operation.
/// Retrieves information about the partitions in a table.
///
public partial class GetPartitionsRequest : AmazonGlueRequest
{
private string _catalogId;
private string _databaseName;
private bool? _excludeColumnSchema;
private string _expression;
private int? _maxResults;
private string _nextToken;
private DateTime? _queryAsOfTime;
private Segment _segment;
private string _tableName;
private string _transactionId;
///
/// Gets and sets the property CatalogId.
///
/// The ID of the Data Catalog where the partitions in question reside. If none is provided,
/// the Amazon Web Services account ID is used by default.
///
///
[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 DatabaseName.
///
/// The name of the catalog database where the partitions reside.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property ExcludeColumnSchema.
///
/// When true, specifies not returning the partition column schema. Useful when you are
/// interested only in other partition attributes such as partition values or location.
/// This approach avoids the problem of a large response by not returning duplicate data.
///
///
public bool ExcludeColumnSchema
{
get { return this._excludeColumnSchema.GetValueOrDefault(); }
set { this._excludeColumnSchema = value; }
}
// Check to see if ExcludeColumnSchema property is set
internal bool IsSetExcludeColumnSchema()
{
return this._excludeColumnSchema.HasValue;
}
///
/// Gets and sets the property Expression.
///
/// An expression that filters the partitions to be returned.
///
///
///
/// The expression uses SQL syntax similar to the SQL WHERE
filter clause.
/// The SQL statement parser JSQLParser
/// parses the expression.
///
///
///
/// Operators: The following are the operators that you can use in the Expression
/// API call:
///
/// - =
-
///
/// Checks whether the values of the two operands are equal; if yes, then the condition
/// becomes true.
///
///
///
/// Example: Assume 'variable a' holds 10 and 'variable b' holds 20.
///
///
///
/// (a = b) is not true.
///
///
- < >
-
///
/// Checks whether the values of two operands are equal; if the values are not equal,
/// then the condition becomes true.
///
///
///
/// Example: (a < > b) is true.
///
///
- >
-
///
/// Checks whether the value of the left operand is greater than the value of the right
/// operand; if yes, then the condition becomes true.
///
///
///
/// Example: (a > b) is not true.
///
///
- <
-
///
/// Checks whether the value of the left operand is less than the value of the right operand;
/// if yes, then the condition becomes true.
///
///
///
/// Example: (a < b) is true.
///
///
- >=
-
///
/// Checks whether the value of the left operand is greater than or equal to the value
/// of the right operand; if yes, then the condition becomes true.
///
///
///
/// Example: (a >= b) is not true.
///
///
- <=
-
///
/// Checks whether the value of the left operand is less than or equal to the value of
/// the right operand; if yes, then the condition becomes true.
///
///
///
/// Example: (a <= b) is true.
///
///
- AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
-
///
/// Logical operators.
///
///
///
/// Supported Partition Key Types: The following are the supported partition keys.
///
/// -
///
///
string
///
/// -
///
///
date
///
/// -
///
///
timestamp
///
/// -
///
///
int
///
/// -
///
///
bigint
///
/// -
///
///
long
///
/// -
///
///
tinyint
///
/// -
///
///
smallint
///
/// -
///
///
decimal
///
///
///
/// If an type is encountered that is not valid, an exception is thrown.
///
///
///
/// The following list shows the valid operators on each type. When you define a crawler,
/// the partitionKey
type is created as a STRING
, to be compatible
/// with the catalog partitions.
///
///
///
/// Sample API Call:
///
///
[AWSProperty(Min=0, Max=2048)]
public string Expression
{
get { return this._expression; }
set { this._expression = value; }
}
// Check to see if Expression property is set
internal bool IsSetExpression()
{
return this._expression != null;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of partitions 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, if this is not the first call to retrieve these partitions.
///
///
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 QueryAsOfTime.
///
/// The time as of when to read the partition contents. If not set, the most recent transaction
/// commit time will be used. Cannot be specified along with TransactionId
.
///
///
public DateTime QueryAsOfTime
{
get { return this._queryAsOfTime.GetValueOrDefault(); }
set { this._queryAsOfTime = value; }
}
// Check to see if QueryAsOfTime property is set
internal bool IsSetQueryAsOfTime()
{
return this._queryAsOfTime.HasValue;
}
///
/// Gets and sets the property Segment.
///
/// The segment of the table's partitions to scan in this request.
///
///
public Segment Segment
{
get { return this._segment; }
set { this._segment = value; }
}
// Check to see if Segment property is set
internal bool IsSetSegment()
{
return this._segment != null;
}
///
/// Gets and sets the property TableName.
///
/// The name of the partitions' table.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string TableName
{
get { return this._tableName; }
set { this._tableName = value; }
}
// Check to see if TableName property is set
internal bool IsSetTableName()
{
return this._tableName != null;
}
///
/// Gets and sets the property TransactionId.
///
/// The transaction ID at which to read the partition contents.
///
///
[AWSProperty(Min=1, Max=255)]
public string TransactionId
{
get { return this._transactionId; }
set { this._transactionId = value; }
}
// Check to see if TransactionId property is set
internal bool IsSetTransactionId()
{
return this._transactionId != null;
}
}
}