class Amazonite::Lambda::EventSourceMappingConfiguration

Overview

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

Included Modules

Defined in:

lambda/event_source_mapping_configuration.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.new(uuid : String | Nil = nil, starting_position : EventSourcePosition | Nil = nil, starting_position_timestamp : Time | Nil = nil, batch_size : Int32 | Nil = nil, maximum_batching_window_in_seconds : Int32 | Nil = nil, parallelization_factor : Int32 | Nil = nil, event_source_arn : String | Nil = nil, filter_criteria : FilterCriteria | Nil = nil, filter_criteria_error : FilterCriteriaError | Nil = nil, kms_key_arn : String | Nil = nil, metrics_config : EventSourceMappingMetricsConfig | Nil = nil, logging_config : EventSourceMappingLoggingConfig | Nil = nil, scaling_config : ScalingConfig | Nil = nil, function_arn : String | Nil = nil, last_modified : Time | Nil = nil, last_processing_result : String | Nil = nil, state : String | Nil = nil, state_transition_reason : String | Nil = nil, destination_config : DestinationConfig | Nil = nil, topics : Array(String) | Nil = nil, queues : Array(String) | Nil = nil, source_access_configurations : Array(SourceAccessConfiguration) | Nil = nil, self_managed_event_source : SelfManagedEventSource | Nil = nil, maximum_record_age_in_seconds : Int32 | Nil = nil, bisect_batch_on_function_error : Bool | Nil = nil, maximum_retry_attempts : Int32 | Nil = nil, tumbling_window_in_seconds : Int32 | Nil = nil, function_response_types : Array(FunctionResponseType) | Nil = nil, amazon_managed_kafka_event_source_config : AmazonManagedKafkaEventSourceConfig | Nil = nil, self_managed_kafka_event_source_config : SelfManagedKafkaEventSourceConfig | Nil = nil, document_db_event_source_config : DocumentDBEventSourceConfig | Nil = nil, event_source_mapping_arn : String | Nil = nil, provisioned_poller_config : ProvisionedPollerConfig | Nil = nil) #

[View source]
def self.new(*, __pull_for_json_serializable pull : JSON::PullParser) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def amazon_managed_kafka_event_source_config : AmazonManagedKafkaEventSourceConfig | Nil #

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


[View source]
def amazon_managed_kafka_event_source_config=(amazon_managed_kafka_event_source_config : AmazonManagedKafkaEventSourceConfig | Nil) #

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


[View source]
def batch_size : Int32 | Nil #

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.


[View source]
def batch_size=(batch_size : Int32 | Nil) #

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.


[View source]
def bisect_batch_on_function_error : Bool | Nil #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) If the function returns an error, split the batch in two and retry. The default value is false.


[View source]
def bisect_batch_on_function_error=(bisect_batch_on_function_error : Bool | Nil) #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) If the function returns an error, split the batch in two and retry. The default value is false.


[View source]
def destination_config : DestinationConfig | Nil #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) A configuration object that specifies the destination of an event after Lambda processes it.


[View source]
def destination_config=(destination_config : DestinationConfig | Nil) #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) A configuration object that specifies the destination of an event after Lambda processes it.


[View source]
def document_db_event_source_config : DocumentDBEventSourceConfig | Nil #

Specific configuration settings for a DocumentDB event source.


[View source]
def document_db_event_source_config=(document_db_event_source_config : DocumentDBEventSourceConfig | Nil) #

Specific configuration settings for a DocumentDB event source.


[View source]
def event_source_arn : String | Nil #

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


[View source]
def event_source_arn=(event_source_arn : String | Nil) #

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


[View source]
def event_source_mapping_arn : String | Nil #

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


[View source]
def event_source_mapping_arn=(event_source_mapping_arn : String | Nil) #

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


[View source]
def filter_criteria : FilterCriteria | Nil #

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.


[View source]
def filter_criteria=(filter_criteria : FilterCriteria | Nil) #

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.


[View source]
def filter_criteria_error : FilterCriteriaError | Nil #

An object that contains details about an error related to filter criteria encryption.


[View source]
def filter_criteria_error=(filter_criteria_error : FilterCriteriaError | Nil) #

An object that contains details about an error related to filter criteria encryption.


[View source]
def function_arn : String | Nil #

The ARN of the Lambda function.


[View source]
def function_arn=(function_arn : String | Nil) #

The ARN of the Lambda function.


[View source]
def function_response_types : Array(FunctionResponseType) | Nil #

(Kinesis, DynamoDB Streams, Amazon MSK, self-managed Apache Kafka, and Amazon SQS) A list of current response type enums applied to the event source mapping.


[View source]
def function_response_types=(function_response_types : Array(FunctionResponseType) | Nil) #

(Kinesis, DynamoDB Streams, Amazon MSK, self-managed Apache Kafka, and Amazon SQS) A list of current response type enums applied to the event source mapping.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def kms_key_arn : String | Nil #

The ARN of the Key Management Service (KMS) customer managed key that Lambda uses to encrypt your function's filter criteria.


[View source]
def kms_key_arn=(kms_key_arn : String | Nil) #

The ARN of the Key Management Service (KMS) customer managed key that Lambda uses to encrypt your function's filter criteria.


[View source]
def last_modified : Time | Nil #

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


[View source]
def last_modified=(last_modified : Time | Nil) #

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


[View source]
def last_processing_result : String | Nil #

The result of the event source mapping's last processing attempt.


[View source]
def last_processing_result=(last_processing_result : String | Nil) #

The result of the event source mapping's last processing attempt.


[View source]
def logging_config : EventSourceMappingLoggingConfig | Nil #

(Amazon MSK, and self-managed Apache Kafka only) The logging configuration for your event source. For more information, see Event source mapping logging.


[View source]
def logging_config=(logging_config : EventSourceMappingLoggingConfig | Nil) #

(Amazon MSK, and self-managed Apache Kafka only) The logging configuration for your event source. For more information, see Event source mapping logging.


[View source]
def maximum_batching_window_in_seconds : Int32 | Nil #

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.


[View source]
def maximum_batching_window_in_seconds=(maximum_batching_window_in_seconds : Int32 | Nil) #

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.


[View source]
def maximum_record_age_in_seconds : Int32 | Nil #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) 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


[View source]
def maximum_record_age_in_seconds=(maximum_record_age_in_seconds : Int32 | Nil) #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) 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


[View source]
def maximum_retry_attempts : Int32 | Nil #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) 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.


[View source]
def maximum_retry_attempts=(maximum_retry_attempts : Int32 | Nil) #

(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka) 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.


[View source]
def metrics_config : EventSourceMappingMetricsConfig | Nil #

The metrics configuration for your event source. For more information, see Event source mapping metrics.


[View source]
def metrics_config=(metrics_config : EventSourceMappingMetricsConfig | Nil) #

The metrics configuration for your event source. For more information, see Event source mapping metrics.


[View source]
def parallelization_factor : Int32 | Nil #

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


[View source]
def parallelization_factor=(parallelization_factor : Int32 | Nil) #

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


[View source]
def provisioned_poller_config : ProvisionedPollerConfig | Nil #

(Amazon SQS, Amazon MSK, and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see provisioned mode.


[View source]
def provisioned_poller_config=(provisioned_poller_config : ProvisionedPollerConfig | Nil) #

(Amazon SQS, Amazon MSK, and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see provisioned mode.


[View source]
def queues : Array(String) | Nil #

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


[View source]
def queues=(queues : Array(String) | Nil) #

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


[View source]
def scaling_config : ScalingConfig | Nil #

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


[View source]
def scaling_config=(scaling_config : ScalingConfig | Nil) #

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


[View source]
def self_managed_event_source : SelfManagedEventSource | Nil #

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


[View source]
def self_managed_event_source=(self_managed_event_source : SelfManagedEventSource | Nil) #

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


[View source]
def self_managed_kafka_event_source_config : SelfManagedKafkaEventSourceConfig | Nil #

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


[View source]
def self_managed_kafka_event_source_config=(self_managed_kafka_event_source_config : SelfManagedKafkaEventSourceConfig | Nil) #

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


[View source]
def source_access_configurations : Array(SourceAccessConfiguration) | Nil #

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


[View source]
def source_access_configurations=(source_access_configurations : Array(SourceAccessConfiguration) | Nil) #

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


[View source]
def starting_position : EventSourcePosition | Nil #

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.


[View source]
def starting_position=(starting_position : EventSourcePosition | Nil) #

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.


[View source]
def starting_position_timestamp : Time | Nil #

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


[View source]
def starting_position_timestamp=(starting_position_timestamp : Time | Nil) #

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


[View source]
def state : String | Nil #

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


[View source]
def state=(state : String | Nil) #

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


[View source]
def state_transition_reason : String | Nil #

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


[View source]
def state_transition_reason=(state_transition_reason : String | Nil) #

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


[View source]
def topics : Array(String) | Nil #

The name of the Kafka topic.


[View source]
def topics=(topics : Array(String) | Nil) #

The name of the Kafka topic.


[View source]
def tumbling_window_in_seconds : Int32 | Nil #

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


[View source]
def tumbling_window_in_seconds=(tumbling_window_in_seconds : Int32 | Nil) #

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


[View source]
def uuid : String | Nil #

The identifier of the event source mapping.


[View source]
def uuid=(uuid : String | Nil) #

The identifier of the event source mapping.


[View source]
def validate! : Nil #

[View source]