1 | import { IKey } from '@aws-cdk/aws-kms';
|
2 | import { Construct } from 'constructs';
|
3 | import { ITopic, TopicBase } from './topic-base';
|
4 | /**
|
5 | * Properties for a new SNS topic
|
6 | */
|
7 | export interface TopicProps {
|
8 | /**
|
9 | * A developer-defined string that can be used to identify this SNS topic.
|
10 | *
|
11 | * @default None
|
12 | */
|
13 | readonly displayName?: string;
|
14 | /**
|
15 | * A name for the topic.
|
16 | *
|
17 | * If you don't specify a name, AWS CloudFormation generates a unique
|
18 | * physical ID and uses that ID for the topic name. For more information,
|
19 | * see Name Type.
|
20 | *
|
21 | * @default Generated name
|
22 | */
|
23 | readonly topicName?: string;
|
24 | /**
|
25 | * A KMS Key, either managed by this CDK app, or imported.
|
26 | *
|
27 | * @default None
|
28 | */
|
29 | readonly masterKey?: IKey;
|
30 | /**
|
31 | * Enables content-based deduplication for FIFO topics.
|
32 | *
|
33 | * @default None
|
34 | */
|
35 | readonly contentBasedDeduplication?: boolean;
|
36 | /**
|
37 | * Set to true to create a FIFO topic.
|
38 | *
|
39 | * @default None
|
40 | */
|
41 | readonly fifo?: boolean;
|
42 | }
|
43 | /**
|
44 | * A new SNS topic
|
45 | */
|
46 | export declare class Topic extends TopicBase {
|
47 | /**
|
48 | * Import an existing SNS topic provided an ARN
|
49 | *
|
50 | * @param scope The parent creating construct
|
51 | * @param id The construct's name
|
52 | * @param topicArn topic ARN (i.e. arn:aws:sns:us-east-2:444455556666:MyTopic)
|
53 | */
|
54 | static fromTopicArn(scope: Construct, id: string, topicArn: string): ITopic;
|
55 | readonly topicArn: string;
|
56 | readonly topicName: string;
|
57 | readonly fifo: boolean;
|
58 | protected readonly autoCreatePolicy: boolean;
|
59 | constructor(scope: Construct, id: string, props?: TopicProps);
|
60 | }
|