/* * 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 options for the Amazon Kinesis streaming data source. /// public partial class KinesisStreamingSourceOptions { private bool? _addIdleTimeBetweenReads; private string _addRecordTimestamp; private bool? _avoidEmptyBatches; private string _classification; private string _delimiter; private long? _describeShardInterval; private string _emitConsumerLagMetrics; private string _endpointUrl; private long? _idleTimeBetweenReadsInMs; private long? _maxFetchRecordsPerShard; private long? _maxFetchTimeInMs; private long? _maxRecordPerRead; private long? _maxRetryIntervalMs; private int? _numRetries; private long? _retryIntervalMs; private string _roleArn; private string _roleSessionName; private StartingPosition _startingPosition; private DateTime? _startingTimestamp; private string _streamArn; private string _streamName; /// /// Gets and sets the property AddIdleTimeBetweenReads. /// /// Adds a time delay between two consecutive getRecords operations. The default value /// is "False". This option is only configurable for Glue version 2.0 and /// above. /// /// public bool AddIdleTimeBetweenReads { get { return this._addIdleTimeBetweenReads.GetValueOrDefault(); } set { this._addIdleTimeBetweenReads = value; } } // Check to see if AddIdleTimeBetweenReads property is set internal bool IsSetAddIdleTimeBetweenReads() { return this._addIdleTimeBetweenReads.HasValue; } /// /// Gets and sets the property AddRecordTimestamp. /// /// When this option is set to 'true', the data output will contain an additional column /// named "__src_timestamp" that indicates the time when the corresponding record received /// by the stream. The default value is 'false'. This option is supported in Glue version /// 4.0 or later. /// /// public string AddRecordTimestamp { get { return this._addRecordTimestamp; } set { this._addRecordTimestamp = value; } } // Check to see if AddRecordTimestamp property is set internal bool IsSetAddRecordTimestamp() { return this._addRecordTimestamp != null; } /// /// Gets and sets the property AvoidEmptyBatches. /// /// Avoids creating an empty microbatch job by checking for unread data in the Kinesis /// data stream before the batch is started. The default value is "False". /// /// public bool AvoidEmptyBatches { get { return this._avoidEmptyBatches.GetValueOrDefault(); } set { this._avoidEmptyBatches = value; } } // Check to see if AvoidEmptyBatches property is set internal bool IsSetAvoidEmptyBatches() { return this._avoidEmptyBatches.HasValue; } /// /// Gets and sets the property Classification. /// /// An optional classification. /// /// public string Classification { get { return this._classification; } set { this._classification = value; } } // Check to see if Classification property is set internal bool IsSetClassification() { return this._classification != null; } /// /// Gets and sets the property Delimiter. /// /// Specifies the delimiter character. /// /// public string Delimiter { get { return this._delimiter; } set { this._delimiter = value; } } // Check to see if Delimiter property is set internal bool IsSetDelimiter() { return this._delimiter != null; } /// /// Gets and sets the property DescribeShardInterval. /// /// The minimum time interval between two ListShards API calls for your script to consider /// resharding. The default value is 1s. /// /// [AWSProperty(Min=0)] public long DescribeShardInterval { get { return this._describeShardInterval.GetValueOrDefault(); } set { this._describeShardInterval = value; } } // Check to see if DescribeShardInterval property is set internal bool IsSetDescribeShardInterval() { return this._describeShardInterval.HasValue; } /// /// Gets and sets the property EmitConsumerLagMetrics. /// /// When this option is set to 'true', for each batch, it will emit the metrics for the /// duration between the oldest record received by the stream and the time it arrives /// in Glue to CloudWatch. The metric's name is "glue.driver.streaming.maxConsumerLagInMs". /// The default value is 'false'. This option is supported in Glue version 4.0 or later. /// /// public string EmitConsumerLagMetrics { get { return this._emitConsumerLagMetrics; } set { this._emitConsumerLagMetrics = value; } } // Check to see if EmitConsumerLagMetrics property is set internal bool IsSetEmitConsumerLagMetrics() { return this._emitConsumerLagMetrics != null; } /// /// Gets and sets the property EndpointUrl. /// /// The URL of the Kinesis endpoint. /// /// public string EndpointUrl { get { return this._endpointUrl; } set { this._endpointUrl = value; } } // Check to see if EndpointUrl property is set internal bool IsSetEndpointUrl() { return this._endpointUrl != null; } /// /// Gets and sets the property IdleTimeBetweenReadsInMs. /// /// The minimum time delay between two consecutive getRecords operations, specified in /// ms. The default value is 1000. This option is only configurable for Glue /// version 2.0 and above. /// /// [AWSProperty(Min=0)] public long IdleTimeBetweenReadsInMs { get { return this._idleTimeBetweenReadsInMs.GetValueOrDefault(); } set { this._idleTimeBetweenReadsInMs = value; } } // Check to see if IdleTimeBetweenReadsInMs property is set internal bool IsSetIdleTimeBetweenReadsInMs() { return this._idleTimeBetweenReadsInMs.HasValue; } /// /// Gets and sets the property MaxFetchRecordsPerShard. /// /// The maximum number of records to fetch per shard in the Kinesis data stream. The default /// value is 100000. /// /// [AWSProperty(Min=0)] public long MaxFetchRecordsPerShard { get { return this._maxFetchRecordsPerShard.GetValueOrDefault(); } set { this._maxFetchRecordsPerShard = value; } } // Check to see if MaxFetchRecordsPerShard property is set internal bool IsSetMaxFetchRecordsPerShard() { return this._maxFetchRecordsPerShard.HasValue; } /// /// Gets and sets the property MaxFetchTimeInMs. /// /// The maximum time spent in the job executor to fetch a record from the Kinesis data /// stream per shard, specified in milliseconds (ms). The default value is 1000. /// /// [AWSProperty(Min=0)] public long MaxFetchTimeInMs { get { return this._maxFetchTimeInMs.GetValueOrDefault(); } set { this._maxFetchTimeInMs = value; } } // Check to see if MaxFetchTimeInMs property is set internal bool IsSetMaxFetchTimeInMs() { return this._maxFetchTimeInMs.HasValue; } /// /// Gets and sets the property MaxRecordPerRead. /// /// The maximum number of records to fetch from the Kinesis data stream in each getRecords /// operation. The default value is 10000. /// /// [AWSProperty(Min=0)] public long MaxRecordPerRead { get { return this._maxRecordPerRead.GetValueOrDefault(); } set { this._maxRecordPerRead = value; } } // Check to see if MaxRecordPerRead property is set internal bool IsSetMaxRecordPerRead() { return this._maxRecordPerRead.HasValue; } /// /// Gets and sets the property MaxRetryIntervalMs. /// /// The maximum cool-off time period (specified in ms) between two retries of a Kinesis /// Data Streams API call. The default value is 10000. /// /// [AWSProperty(Min=0)] public long MaxRetryIntervalMs { get { return this._maxRetryIntervalMs.GetValueOrDefault(); } set { this._maxRetryIntervalMs = value; } } // Check to see if MaxRetryIntervalMs property is set internal bool IsSetMaxRetryIntervalMs() { return this._maxRetryIntervalMs.HasValue; } /// /// Gets and sets the property NumRetries. /// /// The maximum number of retries for Kinesis Data Streams API requests. The default value /// is 3. /// /// [AWSProperty(Min=0)] public int NumRetries { get { return this._numRetries.GetValueOrDefault(); } set { this._numRetries = value; } } // Check to see if NumRetries property is set internal bool IsSetNumRetries() { return this._numRetries.HasValue; } /// /// Gets and sets the property RetryIntervalMs. /// /// The cool-off time period (specified in ms) before retrying the Kinesis Data Streams /// API call. The default value is 1000. /// /// [AWSProperty(Min=0)] public long RetryIntervalMs { get { return this._retryIntervalMs.GetValueOrDefault(); } set { this._retryIntervalMs = value; } } // Check to see if RetryIntervalMs property is set internal bool IsSetRetryIntervalMs() { return this._retryIntervalMs.HasValue; } /// /// Gets and sets the property RoleArn. /// /// The Amazon Resource Name (ARN) of the role to assume using AWS Security Token Service /// (AWS STS). This role must have permissions for describe or read record operations /// for the Kinesis data stream. You must use this parameter when accessing a data stream /// in a different account. Used in conjunction with "awsSTSSessionName". /// /// public string RoleArn { get { return this._roleArn; } set { this._roleArn = value; } } // Check to see if RoleArn property is set internal bool IsSetRoleArn() { return this._roleArn != null; } /// /// Gets and sets the property RoleSessionName. /// /// An identifier for the session assuming the role using AWS STS. You must use this parameter /// when accessing a data stream in a different account. Used in conjunction with "awsSTSRoleARN". /// /// public string RoleSessionName { get { return this._roleSessionName; } set { this._roleSessionName = value; } } // Check to see if RoleSessionName property is set internal bool IsSetRoleSessionName() { return this._roleSessionName != null; } /// /// Gets and sets the property StartingPosition. /// /// The starting position in the Kinesis data stream to read data from. The possible values /// are "latest", "trim_horizon", "earliest", or /// a timestamp string in UTC format in the pattern yyyy-mm-ddTHH:MM:SSZ /// (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00-04:00"). /// The default value is "latest". /// /// /// /// Note: Using a value that is a timestamp string in UTC format for "startingPosition" /// is supported only for Glue version 4.0 or later. /// /// public StartingPosition StartingPosition { get { return this._startingPosition; } set { this._startingPosition = value; } } // Check to see if StartingPosition property is set internal bool IsSetStartingPosition() { return this._startingPosition != null; } /// /// Gets and sets the property StartingTimestamp. /// /// The timestamp of the record in the Kinesis data stream to start reading data from. /// The possible values are a timestamp string in UTC format of the pattern yyyy-mm-ddTHH:MM:SSZ /// (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00+08:00"). /// /// /// public DateTime StartingTimestamp { get { return this._startingTimestamp.GetValueOrDefault(); } set { this._startingTimestamp = value; } } // Check to see if StartingTimestamp property is set internal bool IsSetStartingTimestamp() { return this._startingTimestamp.HasValue; } /// /// Gets and sets the property StreamArn. /// /// The Amazon Resource Name (ARN) of the Kinesis data stream. /// /// public string StreamArn { get { return this._streamArn; } set { this._streamArn = value; } } // Check to see if StreamArn property is set internal bool IsSetStreamArn() { return this._streamArn != null; } /// /// Gets and sets the property StreamName. /// /// The name of the Kinesis data stream. /// /// public string StreamName { get { return this._streamName; } set { this._streamName = value; } } // Check to see if StreamName property is set internal bool IsSetStreamName() { return this._streamName != null; } } }