70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IDestination } from './destination';
|
|
import type { IFunction } from './function-base';
|
|
import type { Duration } from '../../core';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* Options to add an EventInvokeConfig to a function.
|
|
*/
|
|
export interface EventInvokeConfigOptions {
|
|
/**
|
|
* The destination for failed invocations.
|
|
*
|
|
* @default - no destination
|
|
*/
|
|
readonly onFailure?: IDestination;
|
|
/**
|
|
* The destination for successful invocations.
|
|
*
|
|
* @default - no destination
|
|
*/
|
|
readonly onSuccess?: IDestination;
|
|
/**
|
|
* The maximum age of a request that Lambda sends to a function for
|
|
* processing.
|
|
*
|
|
* Minimum: 60 seconds
|
|
* Maximum: 6 hours
|
|
*
|
|
* @default Duration.hours(6)
|
|
*/
|
|
readonly maxEventAge?: Duration;
|
|
/**
|
|
* The maximum number of times to retry when the function returns an error.
|
|
*
|
|
* Minimum: 0
|
|
* Maximum: 2
|
|
*
|
|
* @default 2
|
|
*/
|
|
readonly retryAttempts?: number;
|
|
}
|
|
/**
|
|
* Properties for an EventInvokeConfig
|
|
*/
|
|
export interface EventInvokeConfigProps extends EventInvokeConfigOptions {
|
|
/**
|
|
* The Lambda function
|
|
*/
|
|
readonly function: IFunction;
|
|
/**
|
|
* The qualifier
|
|
*
|
|
* @default - latest version
|
|
*/
|
|
readonly qualifier?: string;
|
|
}
|
|
/**
|
|
* Configure options for asynchronous invocation on a version or an alias
|
|
*
|
|
* By default, Lambda retries an asynchronous invocation twice if the function
|
|
* returns an error. It retains events in a queue for up to six hours. When an
|
|
* event fails all processing attempts or stays in the asynchronous invocation
|
|
* queue for too long, Lambda discards it.
|
|
*/
|
|
export declare class EventInvokeConfig extends Resource {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
constructor(scope: Construct, id: string, props: EventInvokeConfigProps);
|
|
}
|