/** * 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 s3 from 'aws-cdk-lib/aws-s3'; import { Construct } from 'constructs'; import * as kms from 'aws-cdk-lib/aws-kms'; import * as sns from 'aws-cdk-lib/aws-sns'; export interface PollyProps { readonly asyncJobs?: boolean; readonly existingBucketObj?: s3.IBucket; readonly bucketProps?: s3.BucketProps; readonly loggingBucketProps?: s3.BucketProps; readonly logS3AccessLogs?: boolean; readonly bucketEnvironmentVariableName?: string; readonly existingTopicObj?: sns.Topic; readonly existingTopicEncryptionKey?: kms.Key; readonly topicProps?: sns.TopicProps; readonly enableTopicEncryptionWithCustomerManagedKey?: boolean; readonly topicEncryptionKey?: kms.Key; readonly topicEncryptionKeyProps?: kms.KeyProps; readonly topicEnvironmentVariableName?: string; } export interface PollyBucketDetails { readonly bucket?: s3.Bucket; readonly bucketInterface: s3.IBucket; readonly loggingBucket?: s3.Bucket; } export interface EnvironmentVariableDefinition { readonly defaultName: string; readonly clientNameOverride?: string; readonly value: string; } export interface PollyConfiguration { readonly destinationBucket?: PollyBucketDetails; readonly snsNotificationTopic?: sns.Topic; readonly notificationTopicEncryptionKey?: kms.Key; readonly lambdaIamActionsRequired: string[]; readonly environmentVariables: EnvironmentVariableDefinition[]; } export declare function ConfigurePollySupport(scope: Construct, id: string, props: PollyProps): PollyConfiguration; export declare function CheckPollyProps(props: PollyProps): void;