/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::Lambda::EventSourceMapping */ export interface AwsLambdaEventsourcemapping { /** * Event Source Mapping Identifier UUID. */ Id?: string; /** * The maximum number of items to retrieve in a single batch. */ BatchSize?: number; /** * (Streams) If the function returns an error, split the batch in two and retry. */ BisectBatchOnFunctionError?: boolean; DestinationConfig?: DestinationConfig; /** * Disables the event source mapping to pause polling and invocation. */ Enabled?: boolean; /** * The Amazon Resource Name (ARN) of the event source. */ EventSourceArn?: string; FilterCriteria?: FilterCriteria; /** * The name of the Lambda function. */ FunctionName: string; /** * (Streams) The maximum amount of time to gather records before invoking the function, in seconds. */ MaximumBatchingWindowInSeconds?: number; /** * (Streams) The maximum age of a record that Lambda sends to a function for processing. */ MaximumRecordAgeInSeconds?: number; /** * (Streams) The maximum number of times to retry when the function returns an error. */ MaximumRetryAttempts?: number; /** * (Streams) The number of batches to process from each shard concurrently. */ ParallelizationFactor?: number; /** * The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. */ StartingPosition?: string; /** * With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds. */ StartingPositionTimestamp?: number; /** * (Kafka) A list of Kafka topics. * * @minItems 1 * @maxItems 1 */ Topics?: [string]; /** * (ActiveMQ) A list of ActiveMQ queues. * * @minItems 1 * @maxItems 1 */ Queues?: [string]; /** * A list of SourceAccessConfiguration. * * @minItems 1 * @maxItems 22 */ SourceAccessConfigurations?: [SourceAccessConfiguration, ...SourceAccessConfiguration[]]; /** * (Streams) Tumbling window (non-overlapping time window) duration to perform aggregations. */ TumblingWindowInSeconds?: number; /** * (Streams) A list of response types supported by the function. */ FunctionResponseTypes?: "ReportBatchItemFailures"[]; SelfManagedEventSource?: SelfManagedEventSource; AmazonManagedKafkaEventSourceConfig?: AmazonManagedKafkaEventSourceConfig; SelfManagedKafkaEventSourceConfig?: SelfManagedKafkaEventSourceConfig; ScalingConfig?: ScalingConfig; DocumentDBEventSourceConfig?: DocumentDBEventSourceConfig; } /** * (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records. */ export interface DestinationConfig { OnFailure?: OnFailure; } /** * The destination configuration for failed invocations. */ export interface OnFailure { /** * The Amazon Resource Name (ARN) of the destination resource. */ Destination?: string; } /** * The filter criteria to control event filtering. */ export interface FilterCriteria { /** * List of filters of this FilterCriteria * * @minItems 1 * @maxItems 20 */ Filters?: | [Filter] | [Filter, Filter] | [Filter, Filter, Filter] | [Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ] | [ Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter, Filter ]; } /** * The filter object that defines parameters for ESM filtering. */ export interface Filter { /** * The filter pattern that defines which events should be passed for invocations. */ Pattern?: string; } /** * The configuration used by AWS Lambda to access event source */ export interface SourceAccessConfiguration { /** * The type of source access configuration. */ Type?: | "BASIC_AUTH" | "VPC_SUBNET" | "VPC_SECURITY_GROUP" | "SASL_SCRAM_512_AUTH" | "SASL_SCRAM_256_AUTH" | "VIRTUAL_HOST" | "CLIENT_CERTIFICATE_TLS_AUTH" | "SERVER_ROOT_CA_CERTIFICATE"; /** * The URI for the source access configuration resource. */ URI?: string; } /** * Self-managed event source endpoints. */ export interface SelfManagedEventSource { Endpoints?: Endpoints; } /** * The endpoints for a self-managed event source. */ export interface Endpoints { /** * A list of Kafka server endpoints. * * @minItems 1 * @maxItems 10 */ KafkaBootstrapServers?: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string]; } /** * Specific configuration settings for an MSK event source. */ export interface AmazonManagedKafkaEventSourceConfig { /** * The identifier for the Kafka Consumer Group to join. */ ConsumerGroupId?: string; } /** * Specific configuration settings for a Self-Managed Apache Kafka event source. */ export interface SelfManagedKafkaEventSourceConfig { /** * The identifier for the Kafka Consumer Group to join. */ ConsumerGroupId?: string; } /** * The scaling configuration for the event source. */ export interface ScalingConfig { /** * The maximum number of concurrent functions that the event source can invoke. */ MaximumConcurrency?: number; } /** * Document db event source config. */ export interface DocumentDBEventSourceConfig { /** * The database name to connect to. */ DatabaseName?: string; /** * The collection name to connect to. */ CollectionName?: string; /** * Include full document in change stream response. The default option will only send the changes made to documents to Lambda. If you want the complete document sent to Lambda, set this to UpdateLookup. */ FullDocument?: "UpdateLookup" | "Default"; }