custom-resource-helper
Version:
Helper for cloudformation custom resources
25 lines (24 loc) • 1.24 kB
TypeScript
import type { CloudFormationCustomResourceCreateEvent, CloudFormationCustomResourceUpdateEvent, CloudFormationCustomResourceDeleteEvent, CloudFormationCustomResourceHandler, Context } from 'aws-lambda';
import { LogFactory, Logger } from './log-factory';
export interface ResourceHandlerReturn {
physicalResourceId: string;
responseData?: Record<string, unknown>;
}
export interface OnCreateHandler {
(event: CloudFormationCustomResourceCreateEvent, context: Context, logger: Logger): Promise<ResourceHandlerReturn>;
}
export interface OnUpdateHandler {
(event: CloudFormationCustomResourceUpdateEvent, context: Context, logger: Logger): Promise<ResourceHandlerReturn>;
}
export interface OnDeleteHandler {
(event: CloudFormationCustomResourceDeleteEvent, context: Context, logger: Logger): Promise<void>;
}
export interface ResourceHandler {
onCreate?: OnCreateHandler;
onUpdate?: OnUpdateHandler;
onDelete?: OnDeleteHandler;
}
export interface ResourceHandlerFactory {
(logger?: Logger): ResourceHandler | Promise<ResourceHandler>;
}
export declare const customResourceHelper: (resourceHandlerFactory: ResourceHandlerFactory, logFactory?: LogFactory | undefined) => CloudFormationCustomResourceHandler;