{"id":18940746,"url":"https://github.com/aws-cloudformation/community-registry-extensions","last_synced_at":"2025-04-07T13:05:17.210Z","repository":{"id":59424527,"uuid":"525482735","full_name":"aws-cloudformation/community-registry-extensions","owner":"aws-cloudformation","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-28T17:56:06.000Z","size":2795,"stargazers_count":85,"open_issues_count":8,"forks_count":27,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-05-29T20:02:44.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-16T17:39:05.000Z","updated_at":"2024-05-17T02:34:53.000Z","dependencies_parsed_at":"2022-09-16T22:40:18.222Z","dependency_job_id":"8ed8a022-ddb5-466d-af80-f8fa2e2408ce","html_url":"https://github.com/aws-cloudformation/community-registry-extensions","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcommunity-registry-extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcommunity-registry-extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcommunity-registry-extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-cloudformation%2Fcommunity-registry-extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-cloudformation","download_url":"https://codeload.github.com/aws-cloudformation/community-registry-extensions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247657276,"owners_count":20974344,"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":[],"created_at":"2024-11-08T12:24:02.812Z","updated_at":"2025-04-07T13:05:17.190Z","avatar_url":"https://github.com/aws-cloudformation.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS CloudFormation Community Registry Extensions\n\nThis repository hosts [registry extensions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html)\nthat are published under the `AwsCommunity::` namespace in AWS CloudFormation.\nThe CloudFormation Registry allows customers to create public and private\n[resources\ntypes](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html),\n[modules](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules.html),\nand\n[hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/hooks.html).\nModules are authored as templates in either JSON or YAML. Resource types can be authored in Java, Go, Python, or Typescript, using the\n[CloudFormation Command Line Interface (CFN\nCLI)](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)\nfor project setup and testing. \n\n## Discord\n\nJoin us on Discord! Connect \u0026 interact with CloudFormation developers \u0026\nexperts, find channels to discuss the CloudFormation registry, StackSets,\ncfn-lint, Guard and more:\n\n[![Join our Discord](https://discordapp.com/api/guilds/981586120448020580/widget.png?style=banner3)](https://discord.gg/9zpd7TTRwq)\n\n## How to use these extensions\n\nLog in to your AWS account and go to the CloudFormation console. Under Registry\nin the menu, select Public extensions. Search under Third Party publishers for\nthe `AwsCommunity::` namespace. These extensions can be used from any template\nyou author in a region where they are available and activated. Unlike public\nextensions under the `AWS::` namespace, each of these community extensions must\nfirst be activated using the instructions\n[here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html).\n\n## Catalog of community extensions\n\n|Name|Type|Version|Description|\n|----|----|-------|-----------|\n|[AwsCommunity::Account::AlternateContact](./resources/Account_AlternateContact)|Resource|Prod|An alternate contact attached to an Amazon Web Services account|\n|[AwsCommunity::ApplicationAutoscaling::ScheduledAction](./resources/ApplicationAutoscaling_ScheduledAction)|Resource|Prod|Application Autoscaling Scheduled Action|\n|[AwsCommunity::AppSync::BreakingChangeDetection](./hooks/AppSync_BreakingChangeDetection)|Hook|Prod|Detect breaking changes to appsync schemas|\n|[AwsCommunity::CloudFront::LoggingEnabled](./hooks/CloudFront_LoggingEnabled)|Hook|Alpha|Validate that a CloudFront distribution has logging enabled|\n|[AwsCommunity::CloudFront::S3Website::MODULE](./modules/CloudFront_S3Website/)|Module|Prod|CloudFront backed by an S3 bucket with Route53 integration|\n|[AwsCommunity::DynamoDB::Item](./resources/DynamoDB_Item)|Resource|Prod|Manage the lifecycle of items in a DynamoDB table|\n|[AwsCommunity::EC2::SecurityGroupRestrictedSSH](./hooks/EC2_SecurityGroupRestrictedSSH)|Hook|Prod|Restrict SSH traffic from 0.0.0.0/0|\n|[AwsCommunity::KMS::EncryptionSettings](./hooks/KMS_EncryptionSettings)|Hook|Prod|Validates AWS KMS encryption-related, user-provided configuration settings for a number of AWS resources|\n|[AwsCommunity::Resource::Lookup](./resources/Resource_Lookup)|Resource|Prod|Uses AWS Cloud Control API to lookup a resource of a given type (such as, AWS::EC2::VPC)|\n|[AwsCommunity::S3::Bucket::MODULE](./modules/S3_Bucket/)|Module|Prod|Create a standard S3 bucket|\n|[AwsCommunity::SSM::ResizeVolume::MODULE](./modules/SSM_Document_ResizeVolume/)|Module|Prod|Create AWS SSM document to resize EBS volume and grow the filesystem on them|\n|[AwsCommunity::IotAnalytics::Pipeline::MODULE](./modules/IOT_ANALYTICS_PIPELINE/)|Module|Prod|Create an IOT analytics pipeline|\n|[AwsCommunity::S3::BucketAccessControlsRestricted](./hooks/S3_PublicAccessControlsRestricted)|Hook|Prod|Validates S3 Bucket is configured to block public access|\n|[AwsCommunity::S3::BucketNotification](./resources/S3_BucketNotification)|Resource|Alpha|Configure bucket notifications|\n|[AwsCommunity::S3::BucketVersioningEnabled](./hooks/S3_BucketVersioningEnabled)|Hook|Prod|Validate that an AWS::S3::Bucket has versioning enabled|\n|[AwsCommunity::S3::DeleteBucketContents](./resources/S3_DeleteBucketContents)|Resource|Prod|Delete all objects in a bucket|\n|[AwsCommunity::Time::Offset](./resources/Time_Offset)|Resource|Prod|Creates a time based resource with an offset from the provided time or now|\n|[AwsCommunity::Time::Sleep](./resources/Time_Sleep)|Resource|Prod|Sleep a provided number of seconds between create, update, or delete operations.|\n|[AwsCommunity::Time::Static](./resources/Time_Static)|Resource|Prod|Creates a static time stamp|\n\n\n## Contributing\n\nSee the contributer guide: [./CONTRIBUTING.md](CONTRIBUTING.md)\n\nAlso check out how our release process works here: [./RELEASE.md](RELEASE.md)\n\n## Related Repositories\n\n### CloudFormation CLI and language plugins\n\nThe CloudFormation CLI (`cfn`), not to be confused with the `aws\ncloudformation` commands, is used to initialize, build, test, and publish\nregistry extensions.\n\nhttps://github.com/aws-cloudformation/cloudformation-cli\n\nhttps://github.com/aws-cloudformation/cloudformation-cli-python-plugin\n\nhttps://github.com/aws-cloudformation/cloudformation-cli-typescript-plugin\n\nhttps://github.com/aws-cloudformation/cloudformation-cli-go-plugin\n\nhttps://github.com/aws-cloudformation/cloudformation-cli-java-plugin\n\n### cfn-lint\n\nThe CloudFormation linter is an indespensible tool for developing templates. It\ndoes static analysis on your template to make sure it's valid before submitting\nit, which saves a lot of wasted time waiting for the service to tell you the\nsame thing.\n\nhttps://github.com/aws-cloudformation/cfn-lint\n\n### rain\n\nRain is what happens when you have cloud formations... Rain is a CLI helper for\nCloudFormation that makes it a lot easier to author and deploy stacks. Instead\nof needing to string together `aws cloudformation` commands to check the status\nof a stack before either creating or updating, rain does all of this with a\nsimple `deploy` command.\n\nhttps://github.com/aws-cloudformation/rain\n\n### 3p resources\n\nThese third party resources are also published from our publisher account using the release process in this repo.\n\nhttps://github.com/aws-ia/cloudformation-okta-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-github-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-rollbar-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-fastly-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-cloudflare-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-snowflake-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-pagerduty-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-gitlab-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-dynatrace-resource-providers\n\nhttps://github.com/aws-ia/cloudformation-bigid-resource-providers\n\n### cdk-import\n\nGenerates CDK constructs from external sources such as public CloudFormation Registry types and modules (L1s) as well as AWS Service Catalog product versions.\n\nhttps://github.com/cdklabs/cdk-import\n\n### cdk-cloudformation\n\nA collection of L1 constructs created with `cdk-import`, based on registry resource types.\n\nhttps://github.com/cdklabs/cdk-cloudformation\n\n## Publishing packages\n\n(Note that we decided to move these out to a separate repo, so they won't be here much longer)\n\nWe publish our python packages in `packages/` to pypi. When we publish a release a workflow is triggered to do the publishing. See the `CD.yml` workflows [here](./github/workflows)\n\nFor `cfn-guard-rs` we tag the release with `cfn-guard-rs-vX.X.X`\nFor `cfn-guard-rs-hook` we tag the release with `cfn-guard-rs-hook-vX.X.X`\n\n## Maintainers\n\n[![](https://github.com/ericzbeard.png?size=50)](https://github.com/ericzbeard)\n[![](https://github.com/kddejong.png?size=50)](https://github.com/kddejong)\n[![](https://github.com/mmaeng.png?size=50)](https://github.com/mmaeng)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Fcommunity-registry-extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-cloudformation%2Fcommunity-registry-extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-cloudformation%2Fcommunity-registry-extensions/lists"}