Skip to content

jonloza/community-registry-extensions

 
 

Repository files navigation

AWS CloudFormation Community Registry Extensions

This repository hosts registry extensions that are published under the AwsCommunity:: namespace in AWS CloudFormation. The CloudFormation Registry allows customers to create public and private resources types, modules, and hooks. Modules are authored as templates in either JSON or YAML. Resource types and hooks can be authored in Java, Go, Python, or Typescript, using the CloudFormation Command Line Interface (CFN CLI) for project setup and testing.

Discord

Join us on Discord! Connect & interact with CloudFormation developers & experts, find channels to discuss the CloudFormation registry, StackSets, cfn-lint, Guard and more:

Join our Discord

Open Discussions

This repository is part of an initiative to improve open source community engagement around Infrastructure as Code at AWS. We are still in early phases, so we would like community input on the direction we take.

  • Linting. Hooks and resources can be authored in a variety of languages. Should we enforce a coding standard at the top level for all projects (for example, a single .pylintrc)? Or let each project dictate its own standards?
  • What’s our “swim lane”? Do we allow contributions that patch gaps in CloudFormation resource coverage, which may later be handled by the AWS service team? Do we allow someone to basically re-write an AWS resource from scratch, for example AwsCommunity::S3::Bucket with different behavior from the original?
  • Experimental extensions. Do we have a variation on the namespace to give people freedom to experiment? AwsCommunityAlpha:: ? There may be a registry feature coming soon to give a resource an ‘Alpha’ badge or ‘GA’ badge, and also another high level category in the middle of “AWS” and “3rd Party”. We want to avoid a situation where customers install experimental extensions in production and then get surprised by a breaking change because it wasn't obvious.

How to use these extensions

(Note that we are not yet actually publishing the extensions, pending approval of our release process)

Log in to your AWS account and go to the CloudFormation console. Under Registry in the menu, select Public extensions. Search under Third Party publishers for the AwsCommunity:: namespace. These extensions can be used from any template you author in a region where they are available and activated. Unlike public extensions under the AWS:: namespace, each of these community extensions must first be activated using the instructions here.

Catalog of community extensions

Name Type Version Description
AwsCommunity::S3::BucketNotification Resource Alpha Configure bucket notifications
AwsCommunity::S3::DeleteBucketContents Resource Alpha Delete all objects in a bucket
AwsCommunity::S3::BucketVersioningEnabled Hook Alpha Validate an AWS::S3::Bucket has versioning enabled

Contributing

See the contributer guide: ./CONTRIBUTING.md

Also check out how our release process works here: ./RELEASE.md

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.5%
  • Other 1.5%