UNPKG

@altostra/core

Version:

Core library for shared types and logic

49 lines (48 loc) 2 kB
import type { NaturalNumber, NaturalNumberOrZero } from "../../../common/CustomTypes/Numerics"; import type { Arn } from "../../CustomTypes/Arn"; import type { AwsResourceCommon } from "../common"; import type { CloudFormationValue } from "../IntrinsicFunctions"; export declare type EventSourceMappingType = 'AWS::Lambda::EventSourceMapping'; export interface EventSourceMapping extends AwsResourceCommon { Type: EventSourceMappingType; Properties: EventSourceMappingProperties; } export declare type EventSourceMappingProperties = SQSEventSourceMappingProperties | StreamEventSourceMappingProperties; export interface EventSourceMappingPropertiesBase { BatchSize?: NaturalNumber; Enabled?: boolean; EventSourceArn: CloudFormationValue<Arn>; FunctionName: CloudFormationValue<string>; FilterCriteria: FilterCriteria; } export interface FilterCriteria { Filters: Filter[]; } export interface Filter { Pattern: string; } export declare type StartingPosition = 'AT_TIMESTAMP' | 'LATEST' | 'TRIM_HORIZON'; export interface SQSEventSourceMappingProperties extends EventSourceMappingPropertiesBase { ReportBatchItemFailures?: ['FunctionResponseTypes']; MaximumBatchingWindowInSeconds?: NaturalNumber | 0; ScalingConfig?: ScalingConfig; } export interface ScalingConfig { MaximumConcurrency?: NaturalNumber; } export interface StreamEventSourceMappingProperties extends EventSourceMappingPropertiesBase { BisectBatchOnFunctionError?: boolean; DestinationConfig?: { OnFailure: { Destination: CloudFormationValue<Arn>; }; }; MaximumBatchingWindowInSeconds?: NaturalNumberOrZero; MaximumRecordAgeInSeconds?: NaturalNumber; MaximumRetryAttempts?: NaturalNumber | -1 | 0; ParallelizationFactor?: NaturalNumber; StartingPosition: StartingPosition; StartingPositionTimestamp?: number; ReportBatchItemFailures?: ['FunctionResponseTypes']; TumblingWindowInSeconds?: NaturalNumberOrZero; }