A Puppet module for managing AWS resources to build and model cloud infrastructure using Puppet code.
Puppetlabs-aws is a Puppet module that enables infrastructure as code on Amazon Web Services by allowing users to drive the AWS API through Puppet. It provides a declarative way to create, manage, and model relationships between AWS resources like EC2 instances, VPCs, security groups, and load balancers. The module brings Puppet's idempotent, declarative model to AWS, allowing users to treat their cloud infrastructure as manageable, version-controlled code.
Puppet users and system administrators who manage AWS infrastructure and want to apply Puppet's configuration management principles to their cloud resources. It is specifically for teams already using Puppet for on-premises or other infrastructure who need to extend that tooling to AWS.
Developers choose this module because it integrates AWS management directly into the Puppet ecosystem, allowing them to use a single tool for both cloud and traditional infrastructure. Its unique selling point is the ability to model dependencies and relationships between AWS components using Puppet's declarative language, and manage resources directly from the command line with `puppet resource`.
Puppet module for managing AWS resources to build out infrastructure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates AWS infrastructure into Puppet's idempotent, declarative model, allowing infrastructure to be treated as version-controlled code, as per the module's philosophy.
Supports over 50 AWS resource types including EC2, VPC, RDS, and IAM, enabling detailed modeling of dependencies and relationships between components.
Enables direct management of AWS resources using `puppet resource` from the command line, simplifying operations like listing or creating security groups.
Provides numerous examples for auditing, unit testing with rspec-puppet, and complex setups like Puppet Enterprise clusters, aiding implementation.
The module is being superseded by puppetlabs/amazon_aws, which supports over 2600 tasks and types, making this version less future-proof and maintained.
Requires installation of specific Ruby gems (aws-sdk, retries), environment variable configuration for credentials, and Puppet 4.7 or greater, adding initial overhead.
By default scans all AWS regions for resource discovery, which can be slow; users must manually set the AWS_REGION variable to target a single region for speed.