UNPKG

1.68 kBTypeScriptView Raw
1import { IKey } from '@aws-cdk/aws-kms';
2import { Construct } from 'constructs';
3import { ITopic, TopicBase } from './topic-base';
4/**
5 * Properties for a new SNS topic
6 */
7export 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 */
46export 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}