Skip to content

The CloudFormation Resource Provider Package For Amazon Simple Notification Service (Amazon SNS). Amazon SNS is a fully managed messaging service for both application-to-application (A2A) and application-to-person (A2P) communication.

License

Notifications You must be signed in to change notification settings

aws-cloudformation/aws-cloudformation-resource-providers-sns

The CloudFormation Resource Provider Package For Amazon Simple Notification Service (SNS)

This repository contains AWS-owned resource providers for the AWS::SNS::* namespace. It contains all of the currently supported CloudFormation resources for Amazon Simple Notification Service (SNS).

Users can download the code and deploy the package in an AWS account as a private AWS CloudFormation Registry. To learn how to develop new resource types, see Developing resource types for use in AWS CloudFormation templates. To learn how to develop and deploy custom resources to an AWS account, see Walkthrough: Develop a resource type.

Developing SNS Resources

The CloudFormation CLI (cfn) enables you to modify resource providers, such as this one for SNS, which can then be used in CloudFormation. To learn more, see the CloudFormation CLI reposiotry in GitHub.

Before you start making changes to the SNS resource provider, you need to install the CloudFormation CLI, as a required dependency:

pip3 install cloudformation-cli
pip3 install cloudformation-cli-java-plugin

Now, you're ready to clone this repository and start making the changes that you need. For that, pre-commit is the linter that we use to do code style checks. You can install it by following the Installation Guide. Linting via pre-commit is performed automatically upon commit. The continuous integration also runs these style checks.

# Install the git hook scripts
pre-commit install

Manual options are available, in case you don't need to commit:

# run all hooks on all files, mirrors what the CI runs
pre-commit run --all-files
# run unit tests and coverage checks
mvn verify

Check the README files in these folders:

./aws-sns-subscription
./aws-sns-topic
./aws-sns-topicpolicy

Deploying SNS Resources to an AWS Account

After cloning this repository into your local workspace, cd to one of the folders corresponding to the resource you would like to build, for example aws-sns-topic/ for the AWS::SNS::Topic resource.

# cd aws-sns-topic/ (the folder for topic resource)
# clean and build maven package
mvn clean && mvn package
#  run the submit command to register the resource type in an aws region (e.g. us-east-1)
cfn submit -v --region [us-east-1]

For more detailed information on resource submission, see Submit the resource type in the CloudFormation walkthrough.

Official User Guide for SNS Resources in CloudFormation

Contributing

See CONTRIBUTING for more information.

Security

See SECURITY ISSUE NOTIFICATIONS for more information.

License

This library is licensed under the Apache 2.0 License.

About

The CloudFormation Resource Provider Package For Amazon Simple Notification Service (Amazon SNS). Amazon SNS is a fully managed messaging service for both application-to-application (A2A) and application-to-person (A2P) communication.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages