58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
import type * as constructs from 'constructs';
|
|
import type { StreamEventSourceProps } from './stream';
|
|
import { StreamEventSource } from './stream';
|
|
import type * as iam from '../../aws-iam';
|
|
import type * as kinesis from '../../aws-kinesis';
|
|
import type * as lambda from '../../aws-lambda';
|
|
export interface KinesisEventSourceProps extends StreamEventSourceProps {
|
|
/**
|
|
* The time from which to start reading, in Unix time seconds.
|
|
*
|
|
* @default - no timestamp
|
|
*/
|
|
readonly startingPositionTimestamp?: number;
|
|
}
|
|
/**
|
|
* Props for use with {@link KinesisEventSourceBase}
|
|
*/
|
|
interface KinesisSource {
|
|
readonly node: constructs.Node;
|
|
readonly sourceArn: string;
|
|
readonly eventSourceName: string;
|
|
grantRead(grantee: iam.IGrantable): iam.Grant;
|
|
}
|
|
/**
|
|
* Base class for {@link KinesisEventSource} and {@link KinesisConsumerEventSource}
|
|
*/
|
|
declare abstract class KinesisEventSourceBase extends StreamEventSource {
|
|
readonly source: KinesisSource;
|
|
private _eventSourceMappingId?;
|
|
private _eventSourceMappingArn?;
|
|
private startingPositionTimestamp?;
|
|
constructor(source: KinesisSource, props: KinesisEventSourceProps);
|
|
bind(target: lambda.IFunction): void;
|
|
/**
|
|
* The identifier for this EventSourceMapping
|
|
*/
|
|
get eventSourceMappingId(): string;
|
|
/**
|
|
* The ARN for this EventSourceMapping
|
|
*/
|
|
get eventSourceMappingArn(): string;
|
|
}
|
|
/**
|
|
* Use an Amazon Kinesis stream as an event source for AWS Lambda.
|
|
*/
|
|
export declare class KinesisEventSource extends KinesisEventSourceBase {
|
|
readonly stream: kinesis.IStream;
|
|
constructor(stream: kinesis.IStream, props: KinesisEventSourceProps);
|
|
}
|
|
/**
|
|
* Use an Amazon Kinesis stream consumer as an event source for AWS Lambda.
|
|
*/
|
|
export declare class KinesisConsumerEventSource extends KinesisEventSourceBase {
|
|
readonly streamConsumer: kinesis.IStreamConsumer;
|
|
constructor(streamConsumer: kinesis.IStreamConsumer, props: KinesisEventSourceProps);
|
|
}
|
|
export {};
|