-
Notifications
You must be signed in to change notification settings - Fork 3.9k
/
subscriber.ts
34 lines (31 loc) · 1.11 KB
/
subscriber.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Construct } from '@aws-cdk/core';
import { SubscriptionOptions } from './subscription';
import { ITopic } from './topic-base';
/**
* Subscription configuration
*/
export interface TopicSubscriptionConfig extends SubscriptionOptions {
/**
* The scope in which to create the SNS subscription resource. Normally you'd
* want the subscription to be created on the consuming stack because the
* topic is usually referenced by the consumer's resource policy (e.g. SQS
* queue policy). Otherwise, it will cause a cyclic reference.
*
* If this is undefined, the subscription will be created on the topic's stack.
*
* @default - use the topic as the scope of the subscription, in which case `subscriberId` must be defined.
*/
readonly subscriberScope?: Construct;
/**
* The id of the SNS subscription resource created under `scope`. In most
* cases, it is recommended to use the `uniqueId` of the topic you are
* subscribing to.
*/
readonly subscriberId: string;
}
/**
* Topic subscription
*/
export interface ITopicSubscription {
bind(topic: ITopic): TopicSubscriptionConfig;
}