/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A mapping between an Amazon Web Services resource and a Lambda function. For
* details, see CreateEventSourceMapping.See Also:
AWS
* API Reference
The identifier of the event source mapping.
*/ inline const Aws::String& GetUUID() const{ return m_uUID; } inline void SetUUID(const Aws::String& value) { m_uUID = value; } inline void SetUUID(Aws::String&& value) { m_uUID = std::move(value); } inline void SetUUID(const char* value) { m_uUID.assign(value); } inline GetEventSourceMappingResult& WithUUID(const Aws::String& value) { SetUUID(value); return *this;} inline GetEventSourceMappingResult& WithUUID(Aws::String&& value) { SetUUID(std::move(value)); return *this;} inline GetEventSourceMappingResult& 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.
With StartingPosition set to AT_TIMESTAMP, the time
* from which to start reading. StartingPositionTimestamp cannot be in
* the future.
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.
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.
(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; } inline void SetParallelizationFactor(int value) { m_parallelizationFactor = value; } inline GetEventSourceMappingResult& 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; } inline void SetEventSourceArn(const Aws::String& value) { m_eventSourceArn = value; } inline void SetEventSourceArn(Aws::String&& value) { m_eventSourceArn = std::move(value); } inline void SetEventSourceArn(const char* value) { m_eventSourceArn.assign(value); } inline GetEventSourceMappingResult& WithEventSourceArn(const Aws::String& value) { SetEventSourceArn(value); return *this;} inline GetEventSourceMappingResult& WithEventSourceArn(Aws::String&& value) { SetEventSourceArn(std::move(value)); return *this;} inline GetEventSourceMappingResult& 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.
If filter criteria is encrypted, this field shows up
* as null in the response of ListEventSourceMapping API calls. You
* can view this field in plaintext in the response of GetEventSourceMapping and
* DeleteEventSourceMapping calls if you have kms:Decrypt permissions
* for the correct KMS key.
The ARN of the Lambda function.
*/ inline const Aws::String& GetFunctionArn() const{ return m_functionArn; } inline void SetFunctionArn(const Aws::String& value) { m_functionArn = value; } inline void SetFunctionArn(Aws::String&& value) { m_functionArn = std::move(value); } inline void SetFunctionArn(const char* value) { m_functionArn.assign(value); } inline GetEventSourceMappingResult& WithFunctionArn(const Aws::String& value) { SetFunctionArn(value); return *this;} inline GetEventSourceMappingResult& WithFunctionArn(Aws::String&& value) { SetFunctionArn(std::move(value)); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } inline GetEventSourceMappingResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetLastProcessingResult(const Aws::String& value) { m_lastProcessingResult = value; } inline void SetLastProcessingResult(Aws::String&& value) { m_lastProcessingResult = std::move(value); } inline void SetLastProcessingResult(const char* value) { m_lastProcessingResult.assign(value); } inline GetEventSourceMappingResult& WithLastProcessingResult(const Aws::String& value) { SetLastProcessingResult(value); return *this;} inline GetEventSourceMappingResult& WithLastProcessingResult(Aws::String&& value) { SetLastProcessingResult(std::move(value)); return *this;} inline GetEventSourceMappingResult& 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.
Indicates whether a user or Lambda made the last change to the event source * mapping.
*/ inline const Aws::String& GetStateTransitionReason() const{ return m_stateTransitionReason; } inline void SetStateTransitionReason(const Aws::String& value) { m_stateTransitionReason = value; } inline void SetStateTransitionReason(Aws::String&& value) { m_stateTransitionReason = std::move(value); } inline void SetStateTransitionReason(const char* value) { m_stateTransitionReason.assign(value); } inline GetEventSourceMappingResult& WithStateTransitionReason(const Aws::String& value) { SetStateTransitionReason(value); return *this;} inline GetEventSourceMappingResult& WithStateTransitionReason(Aws::String&& value) { SetStateTransitionReason(std::move(value)); return *this;} inline GetEventSourceMappingResult& WithStateTransitionReason(const char* value) { SetStateTransitionReason(value); return *this;} ///@} ///@{ /** *(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event * sources only) A configuration object that specifies the destination of an event * after Lambda processes it.
*/ inline const DestinationConfig& GetDestinationConfig() const{ return m_destinationConfig; } inline void SetDestinationConfig(const DestinationConfig& value) { m_destinationConfig = value; } inline void SetDestinationConfig(DestinationConfig&& value) { m_destinationConfig = std::move(value); } inline GetEventSourceMappingResult& WithDestinationConfig(const DestinationConfig& value) { SetDestinationConfig(value); return *this;} inline GetEventSourceMappingResult& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;} ///@} ///@{ /** *The name of the Kafka topic.
*/ inline const Aws::Vector(Amazon MQ) The name of the Amazon MQ broker destination queue to * consume.
*/ inline const Aws::VectorAn array of the authentication protocol, VPC components, or virtual host to * secure and define your event source.
*/ inline const Aws::VectorThe self-managed Apache Kafka cluster for your event source.
*/ inline const SelfManagedEventSource& GetSelfManagedEventSource() const{ return m_selfManagedEventSource; } inline void SetSelfManagedEventSource(const SelfManagedEventSource& value) { m_selfManagedEventSource = value; } inline void SetSelfManagedEventSource(SelfManagedEventSource&& value) { m_selfManagedEventSource = std::move(value); } inline GetEventSourceMappingResult& WithSelfManagedEventSource(const SelfManagedEventSource& value) { SetSelfManagedEventSource(value); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetMaximumRecordAgeInSeconds(int value) { m_maximumRecordAgeInSeconds = value; } inline GetEventSourceMappingResult& 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; } inline void SetBisectBatchOnFunctionError(bool value) { m_bisectBatchOnFunctionError = value; } inline GetEventSourceMappingResult& 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; } inline void SetMaximumRetryAttempts(int value) { m_maximumRetryAttempts = value; } inline GetEventSourceMappingResult& 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; } inline void SetTumblingWindowInSeconds(int value) { m_tumblingWindowInSeconds = value; } inline GetEventSourceMappingResult& 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::VectorSpecific configuration settings for an Amazon Managed Streaming for Apache * Kafka (Amazon MSK) event source.
*/ inline const AmazonManagedKafkaEventSourceConfig& GetAmazonManagedKafkaEventSourceConfig() const{ return m_amazonManagedKafkaEventSourceConfig; } inline void SetAmazonManagedKafkaEventSourceConfig(const AmazonManagedKafkaEventSourceConfig& value) { m_amazonManagedKafkaEventSourceConfig = value; } inline void SetAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfig&& value) { m_amazonManagedKafkaEventSourceConfig = std::move(value); } inline GetEventSourceMappingResult& WithAmazonManagedKafkaEventSourceConfig(const AmazonManagedKafkaEventSourceConfig& value) { SetAmazonManagedKafkaEventSourceConfig(value); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetSelfManagedKafkaEventSourceConfig(const SelfManagedKafkaEventSourceConfig& value) { m_selfManagedKafkaEventSourceConfig = value; } inline void SetSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfig&& value) { m_selfManagedKafkaEventSourceConfig = std::move(value); } inline GetEventSourceMappingResult& WithSelfManagedKafkaEventSourceConfig(const SelfManagedKafkaEventSourceConfig& value) { SetSelfManagedKafkaEventSourceConfig(value); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetScalingConfig(const ScalingConfig& value) { m_scalingConfig = value; } inline void SetScalingConfig(ScalingConfig&& value) { m_scalingConfig = std::move(value); } inline GetEventSourceMappingResult& WithScalingConfig(const ScalingConfig& value) { SetScalingConfig(value); return *this;} inline GetEventSourceMappingResult& 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; } inline void SetDocumentDBEventSourceConfig(const DocumentDBEventSourceConfig& value) { m_documentDBEventSourceConfig = value; } inline void SetDocumentDBEventSourceConfig(DocumentDBEventSourceConfig&& value) { m_documentDBEventSourceConfig = std::move(value); } inline GetEventSourceMappingResult& WithDocumentDBEventSourceConfig(const DocumentDBEventSourceConfig& value) { SetDocumentDBEventSourceConfig(value); return *this;} inline GetEventSourceMappingResult& WithDocumentDBEventSourceConfig(DocumentDBEventSourceConfig&& value) { SetDocumentDBEventSourceConfig(std::move(value)); return *this;} ///@} ///@{ /** *The ARN of the Key Management Service (KMS) customer managed key that Lambda * uses to encrypt your function's filter * criteria.
*/ inline const Aws::String& GetKMSKeyArn() const{ return m_kMSKeyArn; } inline void SetKMSKeyArn(const Aws::String& value) { m_kMSKeyArn = value; } inline void SetKMSKeyArn(Aws::String&& value) { m_kMSKeyArn = std::move(value); } inline void SetKMSKeyArn(const char* value) { m_kMSKeyArn.assign(value); } inline GetEventSourceMappingResult& WithKMSKeyArn(const Aws::String& value) { SetKMSKeyArn(value); return *this;} inline GetEventSourceMappingResult& WithKMSKeyArn(Aws::String&& value) { SetKMSKeyArn(std::move(value)); return *this;} inline GetEventSourceMappingResult& WithKMSKeyArn(const char* value) { SetKMSKeyArn(value); return *this;} ///@} ///@{ /** *An object that contains details about an error related to filter criteria * encryption.
*/ inline const FilterCriteriaError& GetFilterCriteriaError() const{ return m_filterCriteriaError; } inline void SetFilterCriteriaError(const FilterCriteriaError& value) { m_filterCriteriaError = value; } inline void SetFilterCriteriaError(FilterCriteriaError&& value) { m_filterCriteriaError = std::move(value); } inline GetEventSourceMappingResult& WithFilterCriteriaError(const FilterCriteriaError& value) { SetFilterCriteriaError(value); return *this;} inline GetEventSourceMappingResult& WithFilterCriteriaError(FilterCriteriaError&& value) { SetFilterCriteriaError(std::move(value)); return *this;} ///@} ///@{ /** *The Amazon Resource Name (ARN) of the event source mapping.
*/ inline const Aws::String& GetEventSourceMappingArn() const{ return m_eventSourceMappingArn; } inline void SetEventSourceMappingArn(const Aws::String& value) { m_eventSourceMappingArn = value; } inline void SetEventSourceMappingArn(Aws::String&& value) { m_eventSourceMappingArn = std::move(value); } inline void SetEventSourceMappingArn(const char* value) { m_eventSourceMappingArn.assign(value); } inline GetEventSourceMappingResult& WithEventSourceMappingArn(const Aws::String& value) { SetEventSourceMappingArn(value); return *this;} inline GetEventSourceMappingResult& WithEventSourceMappingArn(Aws::String&& value) { SetEventSourceMappingArn(std::move(value)); return *this;} inline GetEventSourceMappingResult& WithEventSourceMappingArn(const char* value) { SetEventSourceMappingArn(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 GetEventSourceMappingResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetEventSourceMappingResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetEventSourceMappingResult& 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