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

A mapping between an Amazon Web Services resource and a Lambda function. For * details, see CreateEventSourceMapping.

See Also:

AWS * API Reference

*/ class CreateEventSourceMappingResult { public: AWS_LAMBDA_API CreateEventSourceMappingResult(); AWS_LAMBDA_API CreateEventSourceMappingResult(const Aws::AmazonWebServiceResult& result); AWS_LAMBDA_API CreateEventSourceMappingResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The identifier of the event source mapping.

*/ inline const Aws::String& GetUUID() const{ return m_uUID; } /** *

The identifier of the event source mapping.

*/ inline void SetUUID(const Aws::String& value) { m_uUID = value; } /** *

The identifier of the event source mapping.

*/ inline void SetUUID(Aws::String&& value) { m_uUID = std::move(value); } /** *

The identifier of the event source mapping.

*/ inline void SetUUID(const char* value) { m_uUID.assign(value); } /** *

The identifier of the event source mapping.

*/ inline CreateEventSourceMappingResult& WithUUID(const Aws::String& value) { SetUUID(value); return *this;} /** *

The identifier of the event source mapping.

*/ inline CreateEventSourceMappingResult& WithUUID(Aws::String&& value) { SetUUID(std::move(value)); return *this;} /** *

The identifier of the event source mapping.

*/ inline CreateEventSourceMappingResult& WithUUID(const char* value) { SetUUID(value); return *this;} /** *

The position in a stream from which to start reading. Required for Amazon * Kinesis and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is * supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and * self-managed Apache Kafka.

*/ inline const EventSourcePosition& GetStartingPosition() const{ return m_startingPosition; } /** *

The position in a stream from which to start reading. Required for Amazon * Kinesis and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is * supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and * self-managed Apache Kafka.

*/ inline void SetStartingPosition(const EventSourcePosition& value) { m_startingPosition = value; } /** *

The position in a stream from which to start reading. Required for Amazon * Kinesis and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is * supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and * self-managed Apache Kafka.

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

The position in a stream from which to start reading. Required for Amazon * Kinesis and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is * supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and * self-managed Apache Kafka.

*/ inline CreateEventSourceMappingResult& WithStartingPosition(const EventSourcePosition& value) { SetStartingPosition(value); return *this;} /** *

The position in a stream from which to start reading. Required for Amazon * Kinesis and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is * supported only for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and * self-managed Apache Kafka.

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

With StartingPosition set to AT_TIMESTAMP, the time * from which to start reading. StartingPositionTimestamp cannot be in * the future.

*/ inline const Aws::Utils::DateTime& GetStartingPositionTimestamp() const{ return m_startingPositionTimestamp; } /** *

With StartingPosition set to AT_TIMESTAMP, the time * from which to start reading. StartingPositionTimestamp cannot be in * the future.

*/ inline void SetStartingPositionTimestamp(const Aws::Utils::DateTime& value) { m_startingPositionTimestamp = value; } /** *

With StartingPosition set to AT_TIMESTAMP, the time * from which to start reading. StartingPositionTimestamp cannot be in * the future.

*/ inline void SetStartingPositionTimestamp(Aws::Utils::DateTime&& value) { m_startingPositionTimestamp = std::move(value); } /** *

With StartingPosition set to AT_TIMESTAMP, the time * from which to start reading. StartingPositionTimestamp cannot be in * the future.

*/ inline CreateEventSourceMappingResult& WithStartingPositionTimestamp(const Aws::Utils::DateTime& value) { SetStartingPositionTimestamp(value); return *this;} /** *

With StartingPosition set to AT_TIMESTAMP, the time * from which to start reading. StartingPositionTimestamp cannot be in * the future.

*/ inline CreateEventSourceMappingResult& WithStartingPositionTimestamp(Aws::Utils::DateTime&& value) { SetStartingPositionTimestamp(std::move(value)); return *this;} /** *

The maximum number of records in each batch that Lambda pulls from your * stream or queue and sends to your function. Lambda passes all of the records in * the batch to the function in a single call, up to the payload limit for * synchronous invocation (6 MB).

Default value: Varies by service. For * Amazon SQS, the default is 10. For all other services, the default is 100.

*

Related setting: When you set BatchSize to a value greater than * 10, you must set MaximumBatchingWindowInSeconds to at least 1.

*/ inline int GetBatchSize() const{ return m_batchSize; } /** *

The maximum number of records in each batch that Lambda pulls from your * stream or queue and sends to your function. Lambda passes all of the records in * the batch to the function in a single call, up to the payload limit for * synchronous invocation (6 MB).

Default value: Varies by service. For * Amazon SQS, the default is 10. For all other services, the default is 100.

*

Related setting: When you set BatchSize to a value greater than * 10, you must set MaximumBatchingWindowInSeconds to at least 1.

*/ inline void SetBatchSize(int value) { m_batchSize = value; } /** *

The maximum number of records in each batch that Lambda pulls from your * stream or queue and sends to your function. Lambda passes all of the records in * the batch to the function in a single call, up to the payload limit for * synchronous invocation (6 MB).

Default value: Varies by service. For * Amazon SQS, the default is 10. For all other services, the default is 100.

*

Related setting: When you set BatchSize to a value greater than * 10, you must set MaximumBatchingWindowInSeconds to at least 1.

*/ inline CreateEventSourceMappingResult& WithBatchSize(int value) { SetBatchSize(value); return *this;} /** *

The maximum amount of time, in seconds, that Lambda spends gathering records * before invoking the function. You can configure * MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 * seconds in increments of seconds.

For streams and Amazon SQS event * sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed * Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching * window is 500 ms. Note that because you can only change * MaximumBatchingWindowInSeconds in increments of seconds, you cannot * revert back to the 500 ms default batching window after you have changed it. To * restore the default batching window, you must create a new event source * mapping.

Related setting: For streams and Amazon SQS event sources, when * you set BatchSize to a value greater than 10, you must set * MaximumBatchingWindowInSeconds to at least 1.

*/ inline int GetMaximumBatchingWindowInSeconds() const{ return m_maximumBatchingWindowInSeconds; } /** *

The maximum amount of time, in seconds, that Lambda spends gathering records * before invoking the function. You can configure * MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 * seconds in increments of seconds.

For streams and Amazon SQS event * sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed * Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching * window is 500 ms. Note that because you can only change * MaximumBatchingWindowInSeconds in increments of seconds, you cannot * revert back to the 500 ms default batching window after you have changed it. To * restore the default batching window, you must create a new event source * mapping.

Related setting: For streams and Amazon SQS event sources, when * you set BatchSize to a value greater than 10, you must set * MaximumBatchingWindowInSeconds to at least 1.

*/ inline void SetMaximumBatchingWindowInSeconds(int value) { m_maximumBatchingWindowInSeconds = value; } /** *

The maximum amount of time, in seconds, that Lambda spends gathering records * before invoking the function. You can configure * MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 * seconds in increments of seconds.

For streams and Amazon SQS event * sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed * Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching * window is 500 ms. Note that because you can only change * MaximumBatchingWindowInSeconds in increments of seconds, you cannot * revert back to the 500 ms default batching window after you have changed it. To * restore the default batching window, you must create a new event source * mapping.

Related setting: For streams and Amazon SQS event sources, when * you set BatchSize to a value greater than 10, you must set * MaximumBatchingWindowInSeconds to at least 1.

*/ inline CreateEventSourceMappingResult& WithMaximumBatchingWindowInSeconds(int value) { SetMaximumBatchingWindowInSeconds(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) The number of batches to process * concurrently from each shard. The default value is 1.

*/ inline int GetParallelizationFactor() const{ return m_parallelizationFactor; } /** *

(Kinesis and DynamoDB Streams only) The number of batches to process * concurrently from each shard. The default value is 1.

*/ inline void SetParallelizationFactor(int value) { m_parallelizationFactor = value; } /** *

(Kinesis and DynamoDB Streams only) The number of batches to process * concurrently from each shard. The default value is 1.

*/ inline CreateEventSourceMappingResult& WithParallelizationFactor(int value) { SetParallelizationFactor(value); return *this;} /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline const Aws::String& GetEventSourceArn() const{ return m_eventSourceArn; } /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline void SetEventSourceArn(const Aws::String& value) { m_eventSourceArn = value; } /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline void SetEventSourceArn(Aws::String&& value) { m_eventSourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline void SetEventSourceArn(const char* value) { m_eventSourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline CreateEventSourceMappingResult& WithEventSourceArn(const Aws::String& value) { SetEventSourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline CreateEventSourceMappingResult& WithEventSourceArn(Aws::String&& value) { SetEventSourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the event source.

*/ inline CreateEventSourceMappingResult& WithEventSourceArn(const char* value) { SetEventSourceArn(value); return *this;} /** *

An object that defines the filter criteria that determine whether Lambda * should process an event. For more information, see Lambda * event filtering.

*/ inline const FilterCriteria& GetFilterCriteria() const{ return m_filterCriteria; } /** *

An object that defines the filter criteria that determine whether Lambda * should process an event. For more information, see Lambda * event filtering.

*/ inline void SetFilterCriteria(const FilterCriteria& value) { m_filterCriteria = value; } /** *

An object that defines the filter criteria that determine whether Lambda * should process an event. For more information, see Lambda * event filtering.

*/ inline void SetFilterCriteria(FilterCriteria&& value) { m_filterCriteria = std::move(value); } /** *

An object that defines the filter criteria that determine whether Lambda * should process an event. For more information, see Lambda * event filtering.

*/ inline CreateEventSourceMappingResult& WithFilterCriteria(const FilterCriteria& value) { SetFilterCriteria(value); return *this;} /** *

An object that defines the filter criteria that determine whether Lambda * should process an event. For more information, see Lambda * event filtering.

*/ inline CreateEventSourceMappingResult& WithFilterCriteria(FilterCriteria&& value) { SetFilterCriteria(std::move(value)); return *this;} /** *

The ARN of the Lambda function.

*/ inline const Aws::String& GetFunctionArn() const{ return m_functionArn; } /** *

The ARN of the Lambda function.

*/ inline void SetFunctionArn(const Aws::String& value) { m_functionArn = value; } /** *

The ARN of the Lambda function.

*/ inline void SetFunctionArn(Aws::String&& value) { m_functionArn = std::move(value); } /** *

The ARN of the Lambda function.

*/ inline void SetFunctionArn(const char* value) { m_functionArn.assign(value); } /** *

The ARN of the Lambda function.

*/ inline CreateEventSourceMappingResult& WithFunctionArn(const Aws::String& value) { SetFunctionArn(value); return *this;} /** *

The ARN of the Lambda function.

*/ inline CreateEventSourceMappingResult& WithFunctionArn(Aws::String&& value) { SetFunctionArn(std::move(value)); return *this;} /** *

The ARN of the Lambda function.

*/ inline CreateEventSourceMappingResult& WithFunctionArn(const char* value) { SetFunctionArn(value); return *this;} /** *

The date that the event source mapping was last updated or that its state * changed.

*/ inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } /** *

The date that the event source mapping was last updated or that its state * changed.

*/ inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } /** *

The date that the event source mapping was last updated or that its state * changed.

*/ inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } /** *

The date that the event source mapping was last updated or that its state * changed.

*/ inline CreateEventSourceMappingResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} /** *

The date that the event source mapping was last updated or that its state * changed.

*/ inline CreateEventSourceMappingResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} /** *

The result of the last Lambda invocation of your function.

*/ inline const Aws::String& GetLastProcessingResult() const{ return m_lastProcessingResult; } /** *

The result of the last Lambda invocation of your function.

*/ inline void SetLastProcessingResult(const Aws::String& value) { m_lastProcessingResult = value; } /** *

The result of the last Lambda invocation of your function.

*/ inline void SetLastProcessingResult(Aws::String&& value) { m_lastProcessingResult = std::move(value); } /** *

The result of the last Lambda invocation of your function.

*/ inline void SetLastProcessingResult(const char* value) { m_lastProcessingResult.assign(value); } /** *

The result of the last Lambda invocation of your function.

*/ inline CreateEventSourceMappingResult& WithLastProcessingResult(const Aws::String& value) { SetLastProcessingResult(value); return *this;} /** *

The result of the last Lambda invocation of your function.

*/ inline CreateEventSourceMappingResult& WithLastProcessingResult(Aws::String&& value) { SetLastProcessingResult(std::move(value)); return *this;} /** *

The result of the last Lambda invocation of your function.

*/ inline CreateEventSourceMappingResult& WithLastProcessingResult(const char* value) { SetLastProcessingResult(value); return *this;} /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline void SetState(const Aws::String& value) { m_state = value; } /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline void SetState(Aws::String&& value) { m_state = std::move(value); } /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline void SetState(const char* value) { m_state.assign(value); } /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline CreateEventSourceMappingResult& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline CreateEventSourceMappingResult& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The state of the event source mapping. It can be one of the following: * Creating, Enabling, Enabled, * Disabling, Disabled, Updating, or * Deleting.

*/ inline CreateEventSourceMappingResult& WithState(const char* value) { SetState(value); return *this;} /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline const Aws::String& GetStateTransitionReason() const{ return m_stateTransitionReason; } /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline void SetStateTransitionReason(const Aws::String& value) { m_stateTransitionReason = value; } /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline void SetStateTransitionReason(Aws::String&& value) { m_stateTransitionReason = std::move(value); } /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline void SetStateTransitionReason(const char* value) { m_stateTransitionReason.assign(value); } /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline CreateEventSourceMappingResult& WithStateTransitionReason(const Aws::String& value) { SetStateTransitionReason(value); return *this;} /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline CreateEventSourceMappingResult& WithStateTransitionReason(Aws::String&& value) { SetStateTransitionReason(std::move(value)); return *this;} /** *

Indicates whether a user or Lambda made the last change to the event source * mapping.

*/ inline CreateEventSourceMappingResult& WithStateTransitionReason(const char* value) { SetStateTransitionReason(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic * destination for discarded records.

*/ inline const DestinationConfig& GetDestinationConfig() const{ return m_destinationConfig; } /** *

(Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic * destination for discarded records.

*/ inline void SetDestinationConfig(const DestinationConfig& value) { m_destinationConfig = value; } /** *

(Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic * destination for discarded records.

*/ inline void SetDestinationConfig(DestinationConfig&& value) { m_destinationConfig = std::move(value); } /** *

(Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic * destination for discarded records.

*/ inline CreateEventSourceMappingResult& WithDestinationConfig(const DestinationConfig& value) { SetDestinationConfig(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic * destination for discarded records.

*/ inline CreateEventSourceMappingResult& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;} /** *

The name of the Kafka topic.

*/ inline const Aws::Vector& GetTopics() const{ return m_topics; } /** *

The name of the Kafka topic.

*/ inline void SetTopics(const Aws::Vector& value) { m_topics = value; } /** *

The name of the Kafka topic.

*/ inline void SetTopics(Aws::Vector&& value) { m_topics = std::move(value); } /** *

The name of the Kafka topic.

*/ inline CreateEventSourceMappingResult& WithTopics(const Aws::Vector& value) { SetTopics(value); return *this;} /** *

The name of the Kafka topic.

*/ inline CreateEventSourceMappingResult& WithTopics(Aws::Vector&& value) { SetTopics(std::move(value)); return *this;} /** *

The name of the Kafka topic.

*/ inline CreateEventSourceMappingResult& AddTopics(const Aws::String& value) { m_topics.push_back(value); return *this; } /** *

The name of the Kafka topic.

*/ inline CreateEventSourceMappingResult& AddTopics(Aws::String&& value) { m_topics.push_back(std::move(value)); return *this; } /** *

The name of the Kafka topic.

*/ inline CreateEventSourceMappingResult& AddTopics(const char* value) { m_topics.push_back(value); return *this; } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline const Aws::Vector& GetQueues() const{ return m_queues; } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline void SetQueues(const Aws::Vector& value) { m_queues = value; } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline void SetQueues(Aws::Vector&& value) { m_queues = std::move(value); } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline CreateEventSourceMappingResult& WithQueues(const Aws::Vector& value) { SetQueues(value); return *this;} /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline CreateEventSourceMappingResult& WithQueues(Aws::Vector&& value) { SetQueues(std::move(value)); return *this;} /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline CreateEventSourceMappingResult& AddQueues(const Aws::String& value) { m_queues.push_back(value); return *this; } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline CreateEventSourceMappingResult& AddQueues(Aws::String&& value) { m_queues.push_back(std::move(value)); return *this; } /** *

(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.

*/ inline CreateEventSourceMappingResult& AddQueues(const char* value) { m_queues.push_back(value); return *this; } /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline const Aws::Vector& GetSourceAccessConfigurations() const{ return m_sourceAccessConfigurations; } /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline void SetSourceAccessConfigurations(const Aws::Vector& value) { m_sourceAccessConfigurations = value; } /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline void SetSourceAccessConfigurations(Aws::Vector&& value) { m_sourceAccessConfigurations = std::move(value); } /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline CreateEventSourceMappingResult& WithSourceAccessConfigurations(const Aws::Vector& value) { SetSourceAccessConfigurations(value); return *this;} /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline CreateEventSourceMappingResult& WithSourceAccessConfigurations(Aws::Vector&& value) { SetSourceAccessConfigurations(std::move(value)); return *this;} /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline CreateEventSourceMappingResult& AddSourceAccessConfigurations(const SourceAccessConfiguration& value) { m_sourceAccessConfigurations.push_back(value); return *this; } /** *

An array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.

*/ inline CreateEventSourceMappingResult& AddSourceAccessConfigurations(SourceAccessConfiguration&& value) { m_sourceAccessConfigurations.push_back(std::move(value)); return *this; } /** *

The self-managed Apache Kafka cluster for your event source.

*/ inline const SelfManagedEventSource& GetSelfManagedEventSource() const{ return m_selfManagedEventSource; } /** *

The self-managed Apache Kafka cluster for your event source.

*/ inline void SetSelfManagedEventSource(const SelfManagedEventSource& value) { m_selfManagedEventSource = value; } /** *

The self-managed Apache Kafka cluster for your event source.

*/ inline void SetSelfManagedEventSource(SelfManagedEventSource&& value) { m_selfManagedEventSource = std::move(value); } /** *

The self-managed Apache Kafka cluster for your event source.

*/ inline CreateEventSourceMappingResult& WithSelfManagedEventSource(const SelfManagedEventSource& value) { SetSelfManagedEventSource(value); return *this;} /** *

The self-managed Apache Kafka cluster for your event source.

*/ inline CreateEventSourceMappingResult& WithSelfManagedEventSource(SelfManagedEventSource&& value) { SetSelfManagedEventSource(std::move(value)); return *this;} /** *

(Kinesis and DynamoDB Streams only) Discard records older than the specified * age. The default value is -1, which sets the maximum age to infinite. When the * value is set to infinite, Lambda never discards old records.

The * minimum valid value for maximum record age is 60s. Although values less than 60 * and greater than -1 fall within the parameter's absolute range, they are not * allowed

*/ inline int GetMaximumRecordAgeInSeconds() const{ return m_maximumRecordAgeInSeconds; } /** *

(Kinesis and DynamoDB Streams only) Discard records older than the specified * age. The default value is -1, which sets the maximum age to infinite. When the * value is set to infinite, Lambda never discards old records.

The * minimum valid value for maximum record age is 60s. Although values less than 60 * and greater than -1 fall within the parameter's absolute range, they are not * allowed

*/ inline void SetMaximumRecordAgeInSeconds(int value) { m_maximumRecordAgeInSeconds = value; } /** *

(Kinesis and DynamoDB Streams only) Discard records older than the specified * age. The default value is -1, which sets the maximum age to infinite. When the * value is set to infinite, Lambda never discards old records.

The * minimum valid value for maximum record age is 60s. Although values less than 60 * and greater than -1 fall within the parameter's absolute range, they are not * allowed

*/ inline CreateEventSourceMappingResult& WithMaximumRecordAgeInSeconds(int value) { SetMaximumRecordAgeInSeconds(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) If the function returns an error, split * the batch in two and retry. The default value is false.

*/ inline bool GetBisectBatchOnFunctionError() const{ return m_bisectBatchOnFunctionError; } /** *

(Kinesis and DynamoDB Streams only) If the function returns an error, split * the batch in two and retry. The default value is false.

*/ inline void SetBisectBatchOnFunctionError(bool value) { m_bisectBatchOnFunctionError = value; } /** *

(Kinesis and DynamoDB Streams only) If the function returns an error, split * the batch in two and retry. The default value is false.

*/ inline CreateEventSourceMappingResult& WithBisectBatchOnFunctionError(bool value) { SetBisectBatchOnFunctionError(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) Discard records after the specified * number of retries. The default value is -1, which sets the maximum number of * retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries * failed records until the record expires in the event source.

*/ inline int GetMaximumRetryAttempts() const{ return m_maximumRetryAttempts; } /** *

(Kinesis and DynamoDB Streams only) Discard records after the specified * number of retries. The default value is -1, which sets the maximum number of * retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries * failed records until the record expires in the event source.

*/ inline void SetMaximumRetryAttempts(int value) { m_maximumRetryAttempts = value; } /** *

(Kinesis and DynamoDB Streams only) Discard records after the specified * number of retries. The default value is -1, which sets the maximum number of * retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries * failed records until the record expires in the event source.

*/ inline CreateEventSourceMappingResult& WithMaximumRetryAttempts(int value) { SetMaximumRetryAttempts(value); return *this;} /** *

(Kinesis and DynamoDB Streams only) The duration in seconds of a processing * window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds * indicates no tumbling window.

*/ inline int GetTumblingWindowInSeconds() const{ return m_tumblingWindowInSeconds; } /** *

(Kinesis and DynamoDB Streams only) The duration in seconds of a processing * window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds * indicates no tumbling window.

*/ inline void SetTumblingWindowInSeconds(int value) { m_tumblingWindowInSeconds = value; } /** *

(Kinesis and DynamoDB Streams only) The duration in seconds of a processing * window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds * indicates no tumbling window.

*/ inline CreateEventSourceMappingResult& WithTumblingWindowInSeconds(int value) { SetTumblingWindowInSeconds(value); return *this;} /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline const Aws::Vector& GetFunctionResponseTypes() const{ return m_functionResponseTypes; } /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline void SetFunctionResponseTypes(const Aws::Vector& value) { m_functionResponseTypes = value; } /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline void SetFunctionResponseTypes(Aws::Vector&& value) { m_functionResponseTypes = std::move(value); } /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline CreateEventSourceMappingResult& WithFunctionResponseTypes(const Aws::Vector& value) { SetFunctionResponseTypes(value); return *this;} /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline CreateEventSourceMappingResult& WithFunctionResponseTypes(Aws::Vector&& value) { SetFunctionResponseTypes(std::move(value)); return *this;} /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline CreateEventSourceMappingResult& AddFunctionResponseTypes(const FunctionResponseType& value) { m_functionResponseTypes.push_back(value); return *this; } /** *

(Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type * enums applied to the event source mapping.

*/ inline CreateEventSourceMappingResult& AddFunctionResponseTypes(FunctionResponseType&& value) { m_functionResponseTypes.push_back(std::move(value)); return *this; } /** *

Specific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.

*/ inline const AmazonManagedKafkaEventSourceConfig& GetAmazonManagedKafkaEventSourceConfig() const{ return m_amazonManagedKafkaEventSourceConfig; } /** *

Specific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.

*/ inline void SetAmazonManagedKafkaEventSourceConfig(const AmazonManagedKafkaEventSourceConfig& value) { m_amazonManagedKafkaEventSourceConfig = value; } /** *

Specific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.

*/ inline void SetAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfig&& value) { m_amazonManagedKafkaEventSourceConfig = std::move(value); } /** *

Specific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.

*/ inline CreateEventSourceMappingResult& WithAmazonManagedKafkaEventSourceConfig(const AmazonManagedKafkaEventSourceConfig& value) { SetAmazonManagedKafkaEventSourceConfig(value); return *this;} /** *

Specific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.

*/ inline CreateEventSourceMappingResult& WithAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfig&& value) { SetAmazonManagedKafkaEventSourceConfig(std::move(value)); return *this;} /** *

Specific configuration settings for a self-managed Apache Kafka event * source.

*/ inline const SelfManagedKafkaEventSourceConfig& GetSelfManagedKafkaEventSourceConfig() const{ return m_selfManagedKafkaEventSourceConfig; } /** *

Specific configuration settings for a self-managed Apache Kafka event * source.

*/ inline void SetSelfManagedKafkaEventSourceConfig(const SelfManagedKafkaEventSourceConfig& value) { m_selfManagedKafkaEventSourceConfig = value; } /** *

Specific configuration settings for a self-managed Apache Kafka event * source.

*/ inline void SetSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfig&& value) { m_selfManagedKafkaEventSourceConfig = std::move(value); } /** *

Specific configuration settings for a self-managed Apache Kafka event * source.

*/ inline CreateEventSourceMappingResult& WithSelfManagedKafkaEventSourceConfig(const SelfManagedKafkaEventSourceConfig& value) { SetSelfManagedKafkaEventSourceConfig(value); return *this;} /** *

Specific configuration settings for a self-managed Apache Kafka event * source.

*/ inline CreateEventSourceMappingResult& WithSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfig&& value) { SetSelfManagedKafkaEventSourceConfig(std::move(value)); return *this;} /** *

(Amazon SQS only) The scaling configuration for the event source. For more * information, see Configuring * maximum concurrency for Amazon SQS event sources.

*/ inline const ScalingConfig& GetScalingConfig() const{ return m_scalingConfig; } /** *

(Amazon SQS only) The scaling configuration for the event source. For more * information, see Configuring * maximum concurrency for Amazon SQS event sources.

*/ inline void SetScalingConfig(const ScalingConfig& value) { m_scalingConfig = value; } /** *

(Amazon SQS only) The scaling configuration for the event source. For more * information, see Configuring * maximum concurrency for Amazon SQS event sources.

*/ inline void SetScalingConfig(ScalingConfig&& value) { m_scalingConfig = std::move(value); } /** *

(Amazon SQS only) The scaling configuration for the event source. For more * information, see Configuring * maximum concurrency for Amazon SQS event sources.

*/ inline CreateEventSourceMappingResult& WithScalingConfig(const ScalingConfig& value) { SetScalingConfig(value); return *this;} /** *

(Amazon SQS only) The scaling configuration for the event source. For more * information, see Configuring * maximum concurrency for Amazon SQS event sources.

*/ inline CreateEventSourceMappingResult& WithScalingConfig(ScalingConfig&& value) { SetScalingConfig(std::move(value)); return *this;} /** *

Specific configuration settings for a DocumentDB event source.

*/ inline const DocumentDBEventSourceConfig& GetDocumentDBEventSourceConfig() const{ return m_documentDBEventSourceConfig; } /** *

Specific configuration settings for a DocumentDB event source.

*/ inline void SetDocumentDBEventSourceConfig(const DocumentDBEventSourceConfig& value) { m_documentDBEventSourceConfig = value; } /** *

Specific configuration settings for a DocumentDB event source.

*/ inline void SetDocumentDBEventSourceConfig(DocumentDBEventSourceConfig&& value) { m_documentDBEventSourceConfig = std::move(value); } /** *

Specific configuration settings for a DocumentDB event source.

*/ inline CreateEventSourceMappingResult& WithDocumentDBEventSourceConfig(const DocumentDBEventSourceConfig& value) { SetDocumentDBEventSourceConfig(value); return *this;} /** *

Specific configuration settings for a DocumentDB event source.

*/ inline CreateEventSourceMappingResult& WithDocumentDBEventSourceConfig(DocumentDBEventSourceConfig&& value) { SetDocumentDBEventSourceConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreateEventSourceMappingResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateEventSourceMappingResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateEventSourceMappingResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_uUID; EventSourcePosition m_startingPosition; Aws::Utils::DateTime m_startingPositionTimestamp; int m_batchSize; int m_maximumBatchingWindowInSeconds; int m_parallelizationFactor; Aws::String m_eventSourceArn; FilterCriteria m_filterCriteria; Aws::String m_functionArn; Aws::Utils::DateTime m_lastModified; Aws::String m_lastProcessingResult; Aws::String m_state; Aws::String m_stateTransitionReason; DestinationConfig m_destinationConfig; Aws::Vector m_topics; Aws::Vector m_queues; Aws::Vector m_sourceAccessConfigurations; SelfManagedEventSource m_selfManagedEventSource; int m_maximumRecordAgeInSeconds; bool m_bisectBatchOnFunctionError; int m_maximumRetryAttempts; int m_tumblingWindowInSeconds; Aws::Vector m_functionResponseTypes; AmazonManagedKafkaEventSourceConfig m_amazonManagedKafkaEventSourceConfig; SelfManagedKafkaEventSourceConfig m_selfManagedKafkaEventSourceConfig; ScalingConfig m_scalingConfig; DocumentDBEventSourceConfig m_documentDBEventSourceConfig; Aws::String m_requestId; }; } // namespace Model } // namespace Lambda } // namespace Aws