/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance * with the License. A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions * and limitations under the License. */ import * as events from 'aws-cdk-lib/aws-events'; import * as kinesisfirehose from 'aws-cdk-lib/aws-kinesisfirehose'; import * as iam from 'aws-cdk-lib/aws-iam'; import * as s3 from 'aws-cdk-lib/aws-s3'; import * as logs from 'aws-cdk-lib/aws-logs'; import { Construct } from 'constructs'; /** * @summary The properties for the EventbridgeToKinesisFirehoseToS3 Construct */ export interface EventbridgeToKinesisFirehoseToS3Props { /** * Optional - user provided custom EventBus for this construct to use. Providing both this and `eventBusProps` * causes an error. * * @default - None */ readonly existingEventBusInterface?: events.IEventBus; /** * Optional - user provided properties to override the default properties when creating a custom EventBus. Setting * this value to `{}` will create a custom EventBus using all default properties. If neither this nor * `existingEventBusInterface` is provided the construct will use the default EventBus. Providing both this and * `existingEventBusInterface` causes an error. * * @default - None */ readonly eventBusProps?: events.EventBusProps; /** * User provided eventRuleProps to override the defaults * * @default - None */ readonly eventRuleProps: events.RuleProps; /** * User provided props to override the default props for the Kinesis Firehose. * * @default - Default props are used */ readonly kinesisFirehoseProps?: kinesisfirehose.CfnDeliveryStreamProps | any; /** * Optional - existing instance of S3 Bucket. If this is provided, then also providing bucketProps causes an error. * * @default - None */ readonly existingBucketObj?: s3.IBucket; /** * Optional user provided props to override the default props for the S3 Bucket, providing both this and `existingBucketObj` will cause an error. * * @default - Default props are used */ readonly bucketProps?: s3.BucketProps; /** * User provided props to override the default props for the CloudWatchLogs LogGroup. * * @default - Default props are used */ readonly logGroupProps?: logs.LogGroupProps; /** * Optional user provided props to override the default props for the S3 Logging Bucket. * * @default - Default props are used */ readonly loggingBucketProps?: s3.BucketProps; /** * Whether to turn on Access Logs for the S3 bucket with the associated storage costs. * Enabling Access Logging is a best practice. * * @default - true */ readonly logS3AccessLogs?: boolean; } export declare class EventbridgeToKinesisFirehoseToS3 extends Construct { readonly eventsRule: events.Rule; readonly eventsRole: iam.Role; readonly kinesisFirehose: kinesisfirehose.CfnDeliveryStream; readonly kinesisFirehoseLogGroup: logs.LogGroup; readonly kinesisFirehoseRole: iam.Role; readonly s3Bucket?: s3.Bucket; readonly s3LoggingBucket?: s3.Bucket; readonly eventBus?: events.IEventBus; readonly s3BucketInterface: s3.IBucket; /** * @summary Constructs a new instance of the EventbridgeToKinesisFirehoseToS3 class. * @param {cdk.App} scope - represents the scope for all the resources. * @param {string} id - this is a a scope-unique id. * @param {EventbridgeToKinesisFirehoseToS3Props} props - user provided props for the construct * @access public */ constructor(scope: Construct, id: string, props: EventbridgeToKinesisFirehoseToS3Props); }