UNPKG

@infrascan/aws-lambda-scanner

Version:

Infrascan scanner definition for AWS Lambda

86 lines (83 loc) 3.61 kB
import { PackageType, GetFunctionCommandInput, GetFunctionCommandOutput, AmazonManagedKafkaEventSourceConfig, SelfManagedKafkaEventSourceConfig, DocumentDBEventSourceConfig, SelfManagedEventSource, DestinationConfig, ScalingConfig, FilterCriteria, EventSourcePosition, SourceAccessConfiguration, ListEventSourceMappingsCommandInput, ListEventSourceMappingsCommandOutput, EventSourceMappingConfiguration } from '@aws-sdk/client-lambda'; import { QualifiedMeasure, SizeUnit, TimeUnit, KVPair, BaseState, TranslatedEntity, State, WithCallContext } from '@infrascan/shared-types'; interface CodeDetails { size?: QualifiedMeasure<SizeUnit>; sha256?: string; imageUri?: string; location?: string; repositoryType?: string; resolvedImageUri?: string; packageType?: PackageType; } interface Layer { arn?: string; size?: QualifiedMeasure<SizeUnit>; } interface FunctionDetails { handler?: string; runtime?: string; memorySize?: QualifiedMeasure<SizeUnit>; timeout?: QualifiedMeasure<TimeUnit>; layers?: Layer[]; environment?: KVPair[]; } interface ConcurrencyDetails { reservedConcurrentExecutions?: number; } interface LambdaState { concurrency?: ConcurrencyDetails; type?: Lowercase<PackageType>; supportedArchitectures?: string[]; code?: CodeDetails; function?: FunctionDetails; } type LambdaFunction = BaseState<GetFunctionCommandInput> & { lambda: LambdaState; }; type GraphState = LambdaFunction; declare const LambdaFunctionEntity: TranslatedEntity<LambdaFunction, State<GetFunctionCommandOutput, GetFunctionCommandInput>, WithCallContext<GetFunctionCommandOutput, GetFunctionCommandInput>>; interface EventProducers { managedKafka?: AmazonManagedKafkaEventSourceConfig; selfManagedKafka?: SelfManagedKafkaEventSourceConfig; documentDb?: DocumentDBEventSourceConfig; selfManagedSource?: SelfManagedEventSource; queues?: string[]; topics?: string[]; } interface ProcessingConfig { parallelizationFactor?: number; destinationConfig?: DestinationConfig; scaling?: ScalingConfig; } interface ReaderConfig { filter?: FilterCriteria; batchSize?: number; maximumBatchWindow?: QualifiedMeasure<TimeUnit>; tumblingWindow?: QualifiedMeasure<TimeUnit>; maximumRecordAge?: QualifiedMeasure<TimeUnit>; startingPosition?: EventSourcePosition; startingPositionTimestamp?: string; } interface EventSourceStatus { state?: string; stateTransitionReason?: string; lastResult?: string; } interface ErrorHandling { maxRetryAttempts?: number; bisectBatchOnFailure?: boolean; } interface EventSource { functionArn?: string; sources?: EventProducers; processingConfig?: ProcessingConfig; status?: EventSourceStatus; errorHandling?: ErrorHandling; reader?: ReaderConfig; sourceAccessConfigurations?: SourceAccessConfiguration[]; } interface EventSourceMapping extends BaseState<ListEventSourceMappingsCommandInput> { eventSource: EventSource; } declare const LambdaEventSourceEntity: TranslatedEntity<EventSourceMapping, State<ListEventSourceMappingsCommandOutput, ListEventSourceMappingsCommandInput>, WithCallContext<EventSourceMappingConfiguration, ListEventSourceMappingsCommandInput>>; export { type CodeDetails, type ConcurrencyDetails, type ErrorHandling, type EventProducers, type EventSource, type EventSourceMapping, type EventSourceStatus, type FunctionDetails, type GraphState, LambdaEventSourceEntity, type LambdaFunction, LambdaFunctionEntity, type LambdaState, type Layer, type ProcessingConfig, type ReaderConfig };