Metadata-Version: 2.1
Name: aws-cdk.aws-sns
Version: 0.27.0
Summary: CDK Constructs for AWS SNS
Home-page: https://github.com/awslabs/aws-cdk
Author: Amazon Web Services
License: UNKNOWN
Project-URL: Source, https://github.com/awslabs/aws-cdk.git
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: jsii
Requires-Dist: publication (>=0.0.3)
Requires-Dist: aws-cdk.aws-autoscaling-api (~=0.27.0)
Requires-Dist: aws-cdk.aws-cloudwatch (~=0.27.0)
Requires-Dist: aws-cdk.aws-events (~=0.27.0)
Requires-Dist: aws-cdk.aws-iam (~=0.27.0)
Requires-Dist: aws-cdk.aws-lambda (~=0.27.0)
Requires-Dist: aws-cdk.aws-s3-notifications (~=0.27.0)
Requires-Dist: aws-cdk.aws-sqs (~=0.27.0)
Requires-Dist: aws-cdk.cdk (~=0.27.0)

## AWS SNS Construct Library

Add an SNS Topic to your stack:

```ts
import sns = require('@aws-cdk/aws-sns');

const topic = new sns.Topic(this, 'Topic', {
    displayName: 'Customer subscription topic'
});
```

### Subscriptions

Various subscriptions can be added to the topic by calling the `.subscribeXxx()` methods on the
topic.

Add an HTTPS Subscription to your topic:

```ts
const myTopic = new sns.Topic(this, 'MyTopic');

myTopic.subscribeUrl('MyHttpsSubscription', 'https://foobar.com/');
```

Subscribe a queue to the topic:

```ts
    const topic = new sns.Topic(this, 'MyTopic');
    const queue = new sqs.Queue(this, 'MyQueue');

    topic.subscribeQueue(queue);
```

Note that subscriptions of queues in different accounts need to be manually confirmed by
reading the initial message from the queue and visiting the link found in it.

### CloudWatch Event Rule Target

SNS topics can be used as targets for CloudWatch event rules:

```ts
    const myTopic = new Topic(this, 'MyTopic');

    // Use an EventRule and add the topic as a target
    const rule = new events.EventRule(this, 'Rule', {
      scheduleExpression: 'rate(1 minute)'
    });
    rule.addTarget(myTopic);

    // Or use one of the onXxx methods on event sources
    codeCommitRepo.onCommit('OnCommit', myTopic);

```

This will result in adding a target to the event rule and will also modify
the topic resource policy to allow CloudWatch events to publish to the topic.



