This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@stackspot/cdk-sns
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

SNS

aws-cdk jsii npm-version nuget-version npm-downloads nuget-downloads license

Component to manage Amazon Simple Notification Service.

How to use

Below are all languages supported by the AWS CDK.

C#

Install the dependency:

dotnet add package StackSpot.Cdk.Sns

Import the construct into your project, for example:

using Amazon.CDK;
using Constructs;
using StackSpot.Cdk.Sns;

namespace MyStack
{
    public class MyStack : Stack
    {
        internal MyStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
        {
            new Sns(this, "MySns", new SnsCreateTopicProps{
                DisplayName = "my-topic",
                TopicName = "my-topic"
            });
        }
    }
}

F#

Not yet supported.

Go

Not yet supported.

Java

Not yet supported.

JavaScript

Install the dependency:

npm install --save @stackspot/cdk-sns

Import the construct into your project, for example:

const { Stack } = require('aws-cdk-lib');
const { Sns } = require('@stackspot/cdk-sns');

class MyStack extends Stack {
  constructor(scope, id, props) {
    super(scope, id, props);

    new Sns(this, 'MySns', { displayName: 'my-topic', topicName: 'my-topic' });
  }
}

module.exports = { MyStack };

Python

Not yet supported.

TypeScript

Install the dependency:

npm install --save @stackspot/cdk-sns

Import the construct into your project, for example:

import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { Sns } from '@stackspot/cdk-sns';

export class MyStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new Sns(this, 'MySns', { displayName: 'my-topic', topicName: 'my-topic' });
  }
}

Construct Props

Name Type Description
displayName string A developer-defined string that can be used to identify this SNS topic.
topicName string A name for the topic.

Properties

Name Type Description
topic Topic The topic that was created.

Methods

Name Description
addLambdaSubscription(fn) Adds an AWS Lambda function as a topic subscription.
addSubscription(subscription) Adds a generic subscription to the topic.
static addSubscriptionFromStackTopic(scope, stackName, topicName, subscription) Adds a generic subscription to the topic from StackManager.

addLambdaSubscription(fn)

public addLambdaSubscription(fn: IFunction): void

Parameters

Adds an AWS Lambda function as a topic subscription.

addSubscription(subscription)

public addSubscription(subscription: ITopicSubscription): void

Parameters

Adds a generic subscription to the topic.

static addSubscriptionFromStackTopic(scope, stackName, topicName, subscription)

public static addSubscriptionFromStackTopic(scope: Construct, stackName: string, topicName: string, subscription: ITopicSubscription): void

Parameters

Adds a generic subscription to the topic from StackManager.

IAM Least privilege

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:AddPermission",
        "lambda:RemovePermission",
        "sns:CreateTopic",
        "sns:DeleteTopic",
        "sns:GetTopicAttributes",
        "sns:Subscribe",
        "sns:Unsubscribe",
        "ssm:DeleteParameter",
        "ssm:GetParameters",
        "ssm:PutParameter"
      ],
      "Resource": "*"
    }
  ]
}

Development

Prerequisites

Setup

cd sns-jsii-component
npm install

Readme

Keywords

Package Sidebar

Install

npm i @stackspot/cdk-sns

Weekly Downloads

1

Version

0.1.0

License

Apache-2.0

Unpacked Size

991 kB

Total Files

19

Last publish

Collaborators

  • stackspotadmin