AWS Resource Providers

October 10, 2021 ยท View on GitHub

License MIT contributions welcome

A community driven repository where you can find AWS Resource Type Providers for different purposes (including org-formation ones)

Resources

GitHub Workflow Status Codecov Node.js version

ResourceDescriptionStatusDocs
Community::CloudFormation::DelayResource that waits for a specified time periodin progressinstallation
docs
example
Community::CodeCommit::ApprovalRuleTemplateResource that allows for the creation of approval rule template for CodeCommitin progressinstallation
docs
example
Community::CodeCommit::RepositoryAssociationResource that allows for the association of a particular approval rule template to CodeCommit repositoriesin progressinstallation
docs
example
Community::IAM::PasswordPolicyResource that allows for the creation of an IAM Password Policy (applies to entire account)in progressinstallation
docs
example
Community::Organizations::EbsEncryptionDefaultsRegion level EBS encryption defaults: encryption enabled/disabled and KmsKeyIdin progressinstallation
docs
example
Community::Organizations::NoDefaultVPCWhen added to a template removes the Default VPC, when removed it re-adds itin progressinstallation
docs
example
Community::Organizations::PolicyResource that allows for the creation of AWS Organizations policies and attaching to different targets in the organizationin progressinstallation
docs
example
Community::S3::PublicAccessBlockAccount level public access block (applies to all buckets within account)in progressinstallation
docs
example
Community::SSM::PublicAccessBlockRegion level settings to provide secure defaults on SSMin progressinstallation
docs
example
Community::ServiceQuotas::CloudFormationCustom Service Quota limits for CloudFormation resources. e.g: to increase the maximum number of stacks per accountin progressinstallation
docs
example
Community::ServiceQuotas::S3Custom Service Quota limits for S3 resources. e.g: to increase the maximum number of buckets per accountin progressinstallation
docs
example
Community::Account::AlternateContactResource that manages alternate contactsin progressinstallation
docs
example

The following resource providers used to be part of this community effort but are now supported by AWS natively:

ResourceDescriptionAWS Native resource
Community::IAM::SamlProviderResource that allows for the creation of an SAML based Identity ProviderAWS::IAM::SAMLProvider
Community::IAM::OpenIDConnectProviderResource that allows for the creation of an Open ID Connect ProviderAWS::IAM::OIDCProvider

Development

Check out the master branch and run Lerna to get started:

npm run bootstrap

Now that you have the dependencies installed for every package, you can run this command in the individual package folder to compile them. By doing so in the root, all packages will be compiled.

npm run build

Linting is done via TypeScript ESLint and running unit tests via Jest. The continuous integration runs these checks, but you can run them locally with:

npm run lint
npm test