43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { Construct } from 'constructs';
|
|
import * as iam from '../../../aws-iam';
|
|
export declare class NotificationsResourceHandlerProps {
|
|
role?: iam.IRole;
|
|
}
|
|
/**
|
|
* A Lambda-based custom resource handler that provisions S3 bucket
|
|
* notifications for a bucket.
|
|
*
|
|
* The resource property schema is:
|
|
*
|
|
* {
|
|
* BucketName: string, NotificationConfiguration: { see
|
|
* PutBucketNotificationConfiguration }
|
|
* }
|
|
*
|
|
* For 'Delete' operations, we send an empty NotificationConfiguration as
|
|
* required. We propagate errors and results as-is.
|
|
*
|
|
* Sadly, we can't use aws-cdk-lib/aws-lambda as it will introduce a dependency
|
|
* cycle, so this uses raw `cdk.Resource`s.
|
|
*/
|
|
export declare class NotificationsResourceHandler extends Construct {
|
|
/**
|
|
* Defines a stack-singleton lambda function with the logic for a CloudFormation custom
|
|
* resource that provisions bucket notification configuration for a bucket.
|
|
*
|
|
* @returns The ARN of the custom resource lambda function.
|
|
*/
|
|
static singleton(context: Construct, props?: NotificationsResourceHandlerProps): NotificationsResourceHandler;
|
|
/**
|
|
* The ARN of the handler's lambda function. Used as a service token in the
|
|
* custom resource.
|
|
*/
|
|
readonly functionArn: string;
|
|
/**
|
|
* The role of the handler's lambda function.
|
|
*/
|
|
readonly role: iam.IRole;
|
|
constructor(scope: Construct, id: string, props?: NotificationsResourceHandlerProps);
|
|
addToRolePolicy(statement: iam.PolicyStatement): void;
|
|
}
|