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.
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
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.
See CONTRIBUTING for more information.
See SECURITY ISSUE NOTIFICATIONS for more information.
This library is licensed under the Apache 2.0 License.