/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Additional options for the Amazon Kinesis streaming data * source.

See Also:

AWS * API Reference

*/ class KinesisStreamingSourceOptions { public: AWS_GLUE_API KinesisStreamingSourceOptions(); AWS_GLUE_API KinesisStreamingSourceOptions(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API KinesisStreamingSourceOptions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The URL of the Kinesis endpoint.

*/ inline const Aws::String& GetEndpointUrl() const{ return m_endpointUrl; } /** *

The URL of the Kinesis endpoint.

*/ inline bool EndpointUrlHasBeenSet() const { return m_endpointUrlHasBeenSet; } /** *

The URL of the Kinesis endpoint.

*/ inline void SetEndpointUrl(const Aws::String& value) { m_endpointUrlHasBeenSet = true; m_endpointUrl = value; } /** *

The URL of the Kinesis endpoint.

*/ inline void SetEndpointUrl(Aws::String&& value) { m_endpointUrlHasBeenSet = true; m_endpointUrl = std::move(value); } /** *

The URL of the Kinesis endpoint.

*/ inline void SetEndpointUrl(const char* value) { m_endpointUrlHasBeenSet = true; m_endpointUrl.assign(value); } /** *

The URL of the Kinesis endpoint.

*/ inline KinesisStreamingSourceOptions& WithEndpointUrl(const Aws::String& value) { SetEndpointUrl(value); return *this;} /** *

The URL of the Kinesis endpoint.

*/ inline KinesisStreamingSourceOptions& WithEndpointUrl(Aws::String&& value) { SetEndpointUrl(std::move(value)); return *this;} /** *

The URL of the Kinesis endpoint.

*/ inline KinesisStreamingSourceOptions& WithEndpointUrl(const char* value) { SetEndpointUrl(value); return *this;} /** *

The name of the Kinesis data stream.

*/ inline const Aws::String& GetStreamName() const{ return m_streamName; } /** *

The name of the Kinesis data stream.

*/ inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } /** *

The name of the Kinesis data stream.

*/ inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } /** *

The name of the Kinesis data stream.

*/ inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } /** *

The name of the Kinesis data stream.

*/ inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } /** *

The name of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} /** *

The name of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} /** *

The name of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamName(const char* value) { SetStreamName(value); return *this;} /** *

An optional classification.

*/ inline const Aws::String& GetClassification() const{ return m_classification; } /** *

An optional classification.

*/ inline bool ClassificationHasBeenSet() const { return m_classificationHasBeenSet; } /** *

An optional classification.

*/ inline void SetClassification(const Aws::String& value) { m_classificationHasBeenSet = true; m_classification = value; } /** *

An optional classification.

*/ inline void SetClassification(Aws::String&& value) { m_classificationHasBeenSet = true; m_classification = std::move(value); } /** *

An optional classification.

*/ inline void SetClassification(const char* value) { m_classificationHasBeenSet = true; m_classification.assign(value); } /** *

An optional classification.

*/ inline KinesisStreamingSourceOptions& WithClassification(const Aws::String& value) { SetClassification(value); return *this;} /** *

An optional classification.

*/ inline KinesisStreamingSourceOptions& WithClassification(Aws::String&& value) { SetClassification(std::move(value)); return *this;} /** *

An optional classification.

*/ inline KinesisStreamingSourceOptions& WithClassification(const char* value) { SetClassification(value); return *this;} /** *

Specifies the delimiter character.

*/ inline const Aws::String& GetDelimiter() const{ return m_delimiter; } /** *

Specifies the delimiter character.

*/ inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } /** *

Specifies the delimiter character.

*/ inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } /** *

Specifies the delimiter character.

*/ inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } /** *

Specifies the delimiter character.

*/ inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } /** *

Specifies the delimiter character.

*/ inline KinesisStreamingSourceOptions& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} /** *

Specifies the delimiter character.

*/ inline KinesisStreamingSourceOptions& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} /** *

Specifies the delimiter character.

*/ inline KinesisStreamingSourceOptions& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} /** *

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.

*/ inline const StartingPosition& GetStartingPosition() const{ return m_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.

*/ inline bool StartingPositionHasBeenSet() const { return m_startingPositionHasBeenSet; } /** *

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.

*/ inline void SetStartingPosition(const StartingPosition& value) { m_startingPositionHasBeenSet = true; m_startingPosition = value; } /** *

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.

*/ inline void SetStartingPosition(StartingPosition&& value) { m_startingPositionHasBeenSet = true; m_startingPosition = std::move(value); } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithStartingPosition(const StartingPosition& value) { SetStartingPosition(value); return *this;} /** *

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.

*/ inline KinesisStreamingSourceOptions& WithStartingPosition(StartingPosition&& value) { SetStartingPosition(std::move(value)); return *this;} /** *

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.

*/ inline long long GetMaxFetchTimeInMs() const{ return m_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.

*/ inline bool MaxFetchTimeInMsHasBeenSet() const { return m_maxFetchTimeInMsHasBeenSet; } /** *

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.

*/ inline void SetMaxFetchTimeInMs(long long value) { m_maxFetchTimeInMsHasBeenSet = true; m_maxFetchTimeInMs = value; } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithMaxFetchTimeInMs(long long value) { SetMaxFetchTimeInMs(value); return *this;} /** *

The maximum number of records to fetch per shard in the Kinesis data stream. * The default value is 100000.

*/ inline long long GetMaxFetchRecordsPerShard() const{ return m_maxFetchRecordsPerShard; } /** *

The maximum number of records to fetch per shard in the Kinesis data stream. * The default value is 100000.

*/ inline bool MaxFetchRecordsPerShardHasBeenSet() const { return m_maxFetchRecordsPerShardHasBeenSet; } /** *

The maximum number of records to fetch per shard in the Kinesis data stream. * The default value is 100000.

*/ inline void SetMaxFetchRecordsPerShard(long long value) { m_maxFetchRecordsPerShardHasBeenSet = true; m_maxFetchRecordsPerShard = value; } /** *

The maximum number of records to fetch per shard in the Kinesis data stream. * The default value is 100000.

*/ inline KinesisStreamingSourceOptions& WithMaxFetchRecordsPerShard(long long value) { SetMaxFetchRecordsPerShard(value); return *this;} /** *

The maximum number of records to fetch from the Kinesis data stream in each * getRecords operation. The default value is 10000.

*/ inline long long GetMaxRecordPerRead() const{ return m_maxRecordPerRead; } /** *

The maximum number of records to fetch from the Kinesis data stream in each * getRecords operation. The default value is 10000.

*/ inline bool MaxRecordPerReadHasBeenSet() const { return m_maxRecordPerReadHasBeenSet; } /** *

The maximum number of records to fetch from the Kinesis data stream in each * getRecords operation. The default value is 10000.

*/ inline void SetMaxRecordPerRead(long long value) { m_maxRecordPerReadHasBeenSet = true; m_maxRecordPerRead = value; } /** *

The maximum number of records to fetch from the Kinesis data stream in each * getRecords operation. The default value is 10000.

*/ inline KinesisStreamingSourceOptions& WithMaxRecordPerRead(long long value) { SetMaxRecordPerRead(value); return *this;} /** *

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.

*/ inline bool GetAddIdleTimeBetweenReads() const{ return m_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.

*/ inline bool AddIdleTimeBetweenReadsHasBeenSet() const { return m_addIdleTimeBetweenReadsHasBeenSet; } /** *

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.

*/ inline void SetAddIdleTimeBetweenReads(bool value) { m_addIdleTimeBetweenReadsHasBeenSet = true; m_addIdleTimeBetweenReads = value; } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithAddIdleTimeBetweenReads(bool value) { SetAddIdleTimeBetweenReads(value); return *this;} /** *

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.

*/ inline long long GetIdleTimeBetweenReadsInMs() const{ return m_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.

*/ inline bool IdleTimeBetweenReadsInMsHasBeenSet() const { return m_idleTimeBetweenReadsInMsHasBeenSet; } /** *

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.

*/ inline void SetIdleTimeBetweenReadsInMs(long long value) { m_idleTimeBetweenReadsInMsHasBeenSet = true; m_idleTimeBetweenReadsInMs = value; } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithIdleTimeBetweenReadsInMs(long long value) { SetIdleTimeBetweenReadsInMs(value); return *this;} /** *

The minimum time interval between two ListShards API calls for your script to * consider resharding. The default value is 1s.

*/ inline long long GetDescribeShardInterval() const{ return m_describeShardInterval; } /** *

The minimum time interval between two ListShards API calls for your script to * consider resharding. The default value is 1s.

*/ inline bool DescribeShardIntervalHasBeenSet() const { return m_describeShardIntervalHasBeenSet; } /** *

The minimum time interval between two ListShards API calls for your script to * consider resharding. The default value is 1s.

*/ inline void SetDescribeShardInterval(long long value) { m_describeShardIntervalHasBeenSet = true; m_describeShardInterval = value; } /** *

The minimum time interval between two ListShards API calls for your script to * consider resharding. The default value is 1s.

*/ inline KinesisStreamingSourceOptions& WithDescribeShardInterval(long long value) { SetDescribeShardInterval(value); return *this;} /** *

The maximum number of retries for Kinesis Data Streams API requests. The * default value is 3.

*/ inline int GetNumRetries() const{ return m_numRetries; } /** *

The maximum number of retries for Kinesis Data Streams API requests. The * default value is 3.

*/ inline bool NumRetriesHasBeenSet() const { return m_numRetriesHasBeenSet; } /** *

The maximum number of retries for Kinesis Data Streams API requests. The * default value is 3.

*/ inline void SetNumRetries(int value) { m_numRetriesHasBeenSet = true; m_numRetries = value; } /** *

The maximum number of retries for Kinesis Data Streams API requests. The * default value is 3.

*/ inline KinesisStreamingSourceOptions& WithNumRetries(int value) { SetNumRetries(value); return *this;} /** *

The cool-off time period (specified in ms) before retrying the Kinesis Data * Streams API call. The default value is 1000.

*/ inline long long GetRetryIntervalMs() const{ return m_retryIntervalMs; } /** *

The cool-off time period (specified in ms) before retrying the Kinesis Data * Streams API call. The default value is 1000.

*/ inline bool RetryIntervalMsHasBeenSet() const { return m_retryIntervalMsHasBeenSet; } /** *

The cool-off time period (specified in ms) before retrying the Kinesis Data * Streams API call. The default value is 1000.

*/ inline void SetRetryIntervalMs(long long value) { m_retryIntervalMsHasBeenSet = true; m_retryIntervalMs = value; } /** *

The cool-off time period (specified in ms) before retrying the Kinesis Data * Streams API call. The default value is 1000.

*/ inline KinesisStreamingSourceOptions& WithRetryIntervalMs(long long value) { SetRetryIntervalMs(value); return *this;} /** *

The maximum cool-off time period (specified in ms) between two retries of a * Kinesis Data Streams API call. The default value is 10000.

*/ inline long long GetMaxRetryIntervalMs() const{ return m_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.

*/ inline bool MaxRetryIntervalMsHasBeenSet() const { return m_maxRetryIntervalMsHasBeenSet; } /** *

The maximum cool-off time period (specified in ms) between two retries of a * Kinesis Data Streams API call. The default value is 10000.

*/ inline void SetMaxRetryIntervalMs(long long value) { m_maxRetryIntervalMsHasBeenSet = true; m_maxRetryIntervalMs = value; } /** *

The maximum cool-off time period (specified in ms) between two retries of a * Kinesis Data Streams API call. The default value is 10000.

*/ inline KinesisStreamingSourceOptions& WithMaxRetryIntervalMs(long long value) { SetMaxRetryIntervalMs(value); return *this;} /** *

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".

*/ inline bool GetAvoidEmptyBatches() const{ return m_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".

*/ inline bool AvoidEmptyBatchesHasBeenSet() const { return m_avoidEmptyBatchesHasBeenSet; } /** *

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".

*/ inline void SetAvoidEmptyBatches(bool value) { m_avoidEmptyBatchesHasBeenSet = true; m_avoidEmptyBatches = value; } /** *

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".

*/ inline KinesisStreamingSourceOptions& WithAvoidEmptyBatches(bool value) { SetAvoidEmptyBatches(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline const Aws::String& GetStreamArn() const{ return m_streamArn; } /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline bool StreamArnHasBeenSet() const { return m_streamArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline void SetStreamArn(const Aws::String& value) { m_streamArnHasBeenSet = true; m_streamArn = value; } /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline void SetStreamArn(Aws::String&& value) { m_streamArnHasBeenSet = true; m_streamArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline void SetStreamArn(const char* value) { m_streamArnHasBeenSet = true; m_streamArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamArn(const Aws::String& value) { SetStreamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamArn(Aws::String&& value) { SetStreamArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Kinesis data stream.

*/ inline KinesisStreamingSourceOptions& WithStreamArn(const char* value) { SetStreamArn(value); return *this;} /** *

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".

*/ inline const Aws::String& GetRoleArn() const{ return m_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".

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

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".

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

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".

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

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".

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

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".

*/ inline const Aws::String& GetRoleSessionName() const{ return m_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".

*/ inline bool RoleSessionNameHasBeenSet() const { return m_roleSessionNameHasBeenSet; } /** *

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".

*/ inline void SetRoleSessionName(const Aws::String& value) { m_roleSessionNameHasBeenSet = true; m_roleSessionName = value; } /** *

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".

*/ inline void SetRoleSessionName(Aws::String&& value) { m_roleSessionNameHasBeenSet = true; m_roleSessionName = std::move(value); } /** *

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".

*/ inline void SetRoleSessionName(const char* value) { m_roleSessionNameHasBeenSet = true; m_roleSessionName.assign(value); } /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleSessionName(const Aws::String& value) { SetRoleSessionName(value); return *this;} /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleSessionName(Aws::String&& value) { SetRoleSessionName(std::move(value)); return *this;} /** *

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".

*/ inline KinesisStreamingSourceOptions& WithRoleSessionName(const char* value) { SetRoleSessionName(value); return *this;} /** *

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.

*/ inline const Aws::String& GetAddRecordTimestamp() const{ return m_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.

*/ inline bool AddRecordTimestampHasBeenSet() const { return m_addRecordTimestampHasBeenSet; } /** *

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.

*/ inline void SetAddRecordTimestamp(const Aws::String& value) { m_addRecordTimestampHasBeenSet = true; m_addRecordTimestamp = value; } /** *

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.

*/ inline void SetAddRecordTimestamp(Aws::String&& value) { m_addRecordTimestampHasBeenSet = true; m_addRecordTimestamp = std::move(value); } /** *

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.

*/ inline void SetAddRecordTimestamp(const char* value) { m_addRecordTimestampHasBeenSet = true; m_addRecordTimestamp.assign(value); } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithAddRecordTimestamp(const Aws::String& value) { SetAddRecordTimestamp(value); return *this;} /** *

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.

*/ inline KinesisStreamingSourceOptions& WithAddRecordTimestamp(Aws::String&& value) { SetAddRecordTimestamp(std::move(value)); return *this;} /** *

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.

*/ inline KinesisStreamingSourceOptions& WithAddRecordTimestamp(const char* value) { SetAddRecordTimestamp(value); return *this;} /** *

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.

*/ inline const Aws::String& GetEmitConsumerLagMetrics() const{ return m_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.

*/ inline bool EmitConsumerLagMetricsHasBeenSet() const { return m_emitConsumerLagMetricsHasBeenSet; } /** *

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.

*/ inline void SetEmitConsumerLagMetrics(const Aws::String& value) { m_emitConsumerLagMetricsHasBeenSet = true; m_emitConsumerLagMetrics = value; } /** *

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.

*/ inline void SetEmitConsumerLagMetrics(Aws::String&& value) { m_emitConsumerLagMetricsHasBeenSet = true; m_emitConsumerLagMetrics = std::move(value); } /** *

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.

*/ inline void SetEmitConsumerLagMetrics(const char* value) { m_emitConsumerLagMetricsHasBeenSet = true; m_emitConsumerLagMetrics.assign(value); } /** *

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.

*/ inline KinesisStreamingSourceOptions& WithEmitConsumerLagMetrics(const Aws::String& value) { SetEmitConsumerLagMetrics(value); return *this;} /** *

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.

*/ inline KinesisStreamingSourceOptions& WithEmitConsumerLagMetrics(Aws::String&& value) { SetEmitConsumerLagMetrics(std::move(value)); return *this;} /** *

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.

*/ inline KinesisStreamingSourceOptions& WithEmitConsumerLagMetrics(const char* value) { SetEmitConsumerLagMetrics(value); return *this;} /** *

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").

*/ inline const Aws::Utils::DateTime& GetStartingTimestamp() const{ return m_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").

*/ inline bool StartingTimestampHasBeenSet() const { return m_startingTimestampHasBeenSet; } /** *

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").

*/ inline void SetStartingTimestamp(const Aws::Utils::DateTime& value) { m_startingTimestampHasBeenSet = true; m_startingTimestamp = value; } /** *

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").

*/ inline void SetStartingTimestamp(Aws::Utils::DateTime&& value) { m_startingTimestampHasBeenSet = true; m_startingTimestamp = std::move(value); } /** *

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").

*/ inline KinesisStreamingSourceOptions& WithStartingTimestamp(const Aws::Utils::DateTime& value) { SetStartingTimestamp(value); return *this;} /** *

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").

*/ inline KinesisStreamingSourceOptions& WithStartingTimestamp(Aws::Utils::DateTime&& value) { SetStartingTimestamp(std::move(value)); return *this;} private: Aws::String m_endpointUrl; bool m_endpointUrlHasBeenSet = false; Aws::String m_streamName; bool m_streamNameHasBeenSet = false; Aws::String m_classification; bool m_classificationHasBeenSet = false; Aws::String m_delimiter; bool m_delimiterHasBeenSet = false; StartingPosition m_startingPosition; bool m_startingPositionHasBeenSet = false; long long m_maxFetchTimeInMs; bool m_maxFetchTimeInMsHasBeenSet = false; long long m_maxFetchRecordsPerShard; bool m_maxFetchRecordsPerShardHasBeenSet = false; long long m_maxRecordPerRead; bool m_maxRecordPerReadHasBeenSet = false; bool m_addIdleTimeBetweenReads; bool m_addIdleTimeBetweenReadsHasBeenSet = false; long long m_idleTimeBetweenReadsInMs; bool m_idleTimeBetweenReadsInMsHasBeenSet = false; long long m_describeShardInterval; bool m_describeShardIntervalHasBeenSet = false; int m_numRetries; bool m_numRetriesHasBeenSet = false; long long m_retryIntervalMs; bool m_retryIntervalMsHasBeenSet = false; long long m_maxRetryIntervalMs; bool m_maxRetryIntervalMsHasBeenSet = false; bool m_avoidEmptyBatches; bool m_avoidEmptyBatchesHasBeenSet = false; Aws::String m_streamArn; bool m_streamArnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_roleSessionName; bool m_roleSessionNameHasBeenSet = false; Aws::String m_addRecordTimestamp; bool m_addRecordTimestampHasBeenSet = false; Aws::String m_emitConsumerLagMetrics; bool m_emitConsumerLagMetricsHasBeenSet = false; Aws::Utils::DateTime m_startingTimestamp; bool m_startingTimestampHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws