/*
* 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
{
///
/// Additional connection options for the connector.
///
public partial class JDBCConnectorOptions
{
private Dictionary _dataTypeMapping = new Dictionary();
private string _filterPredicate;
private List _jobBookmarkKeys = new List();
private string _jobBookmarkKeysSortOrder;
private long? _lowerBound;
private long? _numPartitions;
private string _partitionColumn;
private long? _upperBound;
///
/// Gets and sets the property DataTypeMapping.
///
/// Custom data type mapping that builds a mapping from a JDBC data type to an Glue data
/// type. For example, the option "dataTypeMapping":{"FLOAT":"STRING"}
maps
/// data fields of JDBC type FLOAT
into the Java String
type
/// by calling the ResultSet.getString()
method of the driver, and uses it
/// to build the Glue record. The ResultSet
object is implemented by each
/// driver, so the behavior is specific to the driver you use. Refer to the documentation
/// for your JDBC driver to understand how the driver performs the conversions.
///
///
public Dictionary DataTypeMapping
{
get { return this._dataTypeMapping; }
set { this._dataTypeMapping = value; }
}
// Check to see if DataTypeMapping property is set
internal bool IsSetDataTypeMapping()
{
return this._dataTypeMapping != null && this._dataTypeMapping.Count > 0;
}
///
/// Gets and sets the property FilterPredicate.
///
/// Extra condition clause to filter data from source. For example:
///
///
///
/// BillingCity='Mountain View'
///
///
///
/// When using a query instead of a table name, you should validate that the query works
/// with the specified filterPredicate
.
///
///
public string FilterPredicate
{
get { return this._filterPredicate; }
set { this._filterPredicate = value; }
}
// Check to see if FilterPredicate property is set
internal bool IsSetFilterPredicate()
{
return this._filterPredicate != null;
}
///
/// Gets and sets the property JobBookmarkKeys.
///
/// The name of the job bookmark keys on which to sort.
///
///
public List JobBookmarkKeys
{
get { return this._jobBookmarkKeys; }
set { this._jobBookmarkKeys = value; }
}
// Check to see if JobBookmarkKeys property is set
internal bool IsSetJobBookmarkKeys()
{
return this._jobBookmarkKeys != null && this._jobBookmarkKeys.Count > 0;
}
///
/// Gets and sets the property JobBookmarkKeysSortOrder.
///
/// Specifies an ascending or descending sort order.
///
///
public string JobBookmarkKeysSortOrder
{
get { return this._jobBookmarkKeysSortOrder; }
set { this._jobBookmarkKeysSortOrder = value; }
}
// Check to see if JobBookmarkKeysSortOrder property is set
internal bool IsSetJobBookmarkKeysSortOrder()
{
return this._jobBookmarkKeysSortOrder != null;
}
///
/// Gets and sets the property LowerBound.
///
/// The minimum value of partitionColumn
that is used to decide partition
/// stride.
///
///
[AWSProperty(Min=0)]
public long LowerBound
{
get { return this._lowerBound.GetValueOrDefault(); }
set { this._lowerBound = value; }
}
// Check to see if LowerBound property is set
internal bool IsSetLowerBound()
{
return this._lowerBound.HasValue;
}
///
/// Gets and sets the property NumPartitions.
///
/// The number of partitions. This value, along with lowerBound
(inclusive)
/// and upperBound
(exclusive), form partition strides for generated WHERE
/// clause expressions that are used to split the partitionColumn
.
///
///
[AWSProperty(Min=0)]
public long NumPartitions
{
get { return this._numPartitions.GetValueOrDefault(); }
set { this._numPartitions = value; }
}
// Check to see if NumPartitions property is set
internal bool IsSetNumPartitions()
{
return this._numPartitions.HasValue;
}
///
/// Gets and sets the property PartitionColumn.
///
/// The name of an integer column that is used for partitioning. This option works only
/// when it's included with lowerBound
, upperBound
, and numPartitions
.
/// This option works the same way as in the Spark SQL JDBC reader.
///
///
public string PartitionColumn
{
get { return this._partitionColumn; }
set { this._partitionColumn = value; }
}
// Check to see if PartitionColumn property is set
internal bool IsSetPartitionColumn()
{
return this._partitionColumn != null;
}
///
/// Gets and sets the property UpperBound.
///
/// The maximum value of partitionColumn
that is used to decide partition
/// stride.
///
///
[AWSProperty(Min=0)]
public long UpperBound
{
get { return this._upperBound.GetValueOrDefault(); }
set { this._upperBound = value; }
}
// Check to see if UpperBound property is set
internal bool IsSetUpperBound()
{
return this._upperBound.HasValue;
}
}
}