{"id":18940752,"url":"https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sns","last_synced_at":"2025-04-15T19:31:34.228Z","repository":{"id":49821114,"uuid":"193953280","full_name":"aws-cloudformation/aws-cloudformation-resource-providers-sns","owner":"aws-cloudformation","description":"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.","archived":false,"fork":false,"pushed_at":"2023-11-17T00:00:15.000Z","size":300,"stargazers_count":17,"open_issues_count":3,"forks_count":14,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-29T01:42:16.658Z","etag":null,"topics":["aws-resources","cloudformation","resources","simple-notification-service","sns","sns-client","sns-sdk"],"latest_commit_sha":null,"homepage":"https://aws.amazon.com/sns/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws-cloudformation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-06-26T17:54:57.000Z","updated_at":"2025-02-26T17:28:21.000Z","dependencies_parsed_at":"2023-11-17T02:19:26.151Z","dependency_job_id":"95d51f74-e44d-4850-8a4e-c2918253f1fa","html_url":"https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Faws-cloudformation-resource-providers-sns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Faws-cloudformation-resource-providers-sns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Faws-cloudformation-resource-providers-sns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Faws-cloudformation-resource-providers-sns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-cloudformation","download_url":"https://codeload.github.com/aws-cloudformation/aws-cloudformation-resource-providers-sns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249138789,"owners_count":21218946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-resources","cloudformation","resources","simple-notification-service","sns","sns-client","sns-sdk"],"created_at":"2024-11-08T12:24:05.143Z","updated_at":"2025-04-15T19:31:33.647Z","avatar_url":"https://github.com/aws-cloudformation.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## The CloudFormation Resource Provider Package For Amazon Simple Notification Service (SNS)\n\nThis 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](https://aws.amazon.com/sns/)).\n\nUsers can download the code and deploy the package in an AWS account as a private [AWS CloudFormation Registry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html). To learn how to develop new resource types, see [Developing resource types for use in AWS CloudFormation templates](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-develop.html). To learn how to develop and deploy custom resources to an AWS account, see [Walkthrough: Develop a resource type](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-walkthrough.html).\n\nDeveloping SNS Resources\n------------------------\n\nThe 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](https://github.com/aws-cloudformation/aws-cloudformation-rpdk) reposiotry in GitHub.\n\nBefore you start making changes to the SNS resource provider, you need to install the [CloudFormation CLI](https://github.com/aws-cloudformation/aws-cloudformation-rpdk), as a required dependency:\n\n```shell\npip3 install cloudformation-cli\npip3 install cloudformation-cli-java-plugin\n```\n\nNow, you're ready to clone this repository and start making the changes that you need. For that, [pre-commit](https://pre-commit.com/) is the linter that we use to do code style checks. You can install it by following the [Installation Guide](https://pre-commit.com/#install). Linting via `pre-commit` is performed automatically upon commit. The continuous integration also runs these style checks.\n\n```shell\n# Install the git hook scripts\npre-commit install\n```\n\nManual options are available, in case you don't need to commit:\n\n```shell\n# run all hooks on all files, mirrors what the CI runs\npre-commit run --all-files\n# run unit tests and coverage checks\nmvn verify\n```\n\nCheck the README files in these folders:\n```\n./aws-sns-subscription\n./aws-sns-topic\n./aws-sns-topicpolicy\n```\n\nDeploying SNS Resources to an AWS Account\n-----------------------------------------\n\nAfter 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.\n\n```shell\n# cd aws-sns-topic/ (the folder for topic resource)\n# clean and build maven package\nmvn clean \u0026\u0026 mvn package\n#  run the submit command to register the resource type in an aws region (e.g. us-east-1)\ncfn submit -v --region [us-east-1]\n```\n\nFor more detailed information on resource submission, see [Submit the resource type](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-walkthrough.html#resource-type-walkthrough-submit) in the CloudFormation walkthrough.\n\nOfficial User Guide for SNS Resources in CloudFormation\n-------------------------------------------------------\n\n- [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)\n- [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html)\n- [AWS::SNS::TopicPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html)\n\n## Contributing\n\nSee [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n## Security\n\nSee [SECURITY ISSUE NOTIFICATIONS](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis library is licensed under the Apache 2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Faws-cloudformation-resource-providers-sns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-cloudformation%2Faws-cloudformation-resource-providers-sns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Faws-cloudformation-resource-providers-sns/lists"}