Giter VIP home page Giter VIP logo

community-registry-extensions's Introduction

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 that an AWS::S3::Bucket has versioning enabled
AwsCommunity::CloudFront::LoggingEnabled Hook Alpha Validate that a CloudFront distribution has logging enabled

Contributing

See the contributer guide: ./CONTRIBUTING.md

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

community-registry-extensions's People

Contributors

ericzbeard avatar kddejong avatar ezbeard-github-test avatar amazon-auto avatar jonloza avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.