Skip to content

rbobrowicz/amazon.aws

 
 

Repository files navigation

Amazon AWS Collection

The Ansible Amazon AWS collection includes a variety of Ansible content to help automate the management of AWS instances. This collection is maintained by the Ansible cloud team.

AWS related modules and plugins supported by the Ansible community are in the community.aws collection.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.9.10.

Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.

Python version compatibility

This collection depends on the AWS SDK for Python (Boto3 and Botocore). Due to the AWS SDK Python Support Policy this collection requires Python 3.6 or greater.

Amazon have also announced the end of support for Python less than 3.7. As such support for Python less than 3.7 by this collection has been deprecated and will be removed in a release after 2023-05-31.

AWS SDK version compatibility

Starting with the 2.0.0 releases of amazon.aws and community.aws, it is generally the collection's policy to support the versions of botocore and boto3 that were released 12 months prior to the most recent major collection release, following semantic versioning (for example, 2.0.0, 3.0.0).

Version 5.0.0 of this collection supports boto3 >= 1.18.0 and botocore >= 1.21.0

All support for the original AWS SDK boto was removed in release 4.0.0.

Included content

Inventory plugins

Name Description
amazon.aws.aws_ec2 EC2 inventory source
amazon.aws.aws_rds rds instance source

Lookup plugins

Name Description
amazon.aws.aws_account_attribute Look up AWS account attributes.
amazon.aws.aws_secret Look up secrets stored in AWS Secrets Manager.
amazon.aws.aws_service_ip_ranges Look up the IP ranges for services provided in AWS such as EC2 and S3.
amazon.aws.aws_ssm Get the value for a SSM parameter or all parameters under a path.

Modules

Name Description
amazon.aws.aws_az_info Gather information about availability zones in AWS
amazon.aws.aws_caller_info Get information about the user and account being used to make AWS calls
amazon.aws.cloudformation Create or delete an AWS CloudFormation stack
amazon.aws.cloudformation_info Obtain information about an AWS CloudFormation stack
amazon.aws.ec2_ami Create or destroy an image (AMI) in EC2
amazon.aws.ec2_ami_info Gather information about ec2 AMIs
amazon.aws.ec2_eni Create and optionally attach an Elastic Network Interface (ENI) to an instance
amazon.aws.ec2_eni_info Gather information about ec2 ENI interfaces in AWS
amazon.aws.ec2_instance Create & manage EC2 instances
amazon.aws.ec2_instance_info Gather information about ec2 instances in AWS
amazon.aws.ec2_key Create or delete an EC2 key pair
amazon.aws.ec2_metadata_facts Gathers facts (instance metadata) about remote hosts within EC2
amazon.aws.ec2_security_group Maintain an EC2 security group
amazon.aws.ec2_security_group_info Gather information about EC2 security groups in AWS
amazon.aws.ec2_snapshot Creates a snapshot from an existing volume
amazon.aws.ec2_snapshot_info Gathers information about EC2 volume snapshots in AWS
amazon.aws.ec2_spot_instance Request, stop, reboot or cancel spot instance
amazon.aws.ec2_spot_instance_info Gather information about ec2 spot instance requests
amazon.aws.ec2_tag Create and remove tags on ec2 resources
amazon.aws.ec2_tag_info List tags on ec2 resources
amazon.aws.ec2_vol Create and attach a volume, return volume ID and device map
amazon.aws.ec2_vol_info Gather information about ec2 volumes in AWS
amazon.aws.ec2_vpc_dhcp_option Manages DHCP Options, and can ensure the DHCP options for the given VPC match what's requested
amazon.aws.ec2_vpc_dhcp_option_info Gather information about DHCP options sets in AWS
amazon.aws.ec2_vpc_endpoint Create and delete AWS VPC endpoints
amazon.aws.ec2_vpc_endpoint_info Retrieves AWS VPC endpoints details using AWS methods
amazon.aws.ec2_vpc_endpoint_service_info Retrieves AWS VPC endpoint service details
amazon.aws.ec2_vpc_igw Manage an AWS VPC Internet gateway
amazon.aws.ec2_vpc_igw_info Gather information about internet gateways in AWS
amazon.aws.ec2_vpc_nat_gateway Manage AWS VPC NAT Gateways
amazon.aws.ec2_vpc_nat_gateway_info Retrieves AWS VPC Managed Nat Gateway details using AWS methods
amazon.aws.ec2_vpc_net Configure AWS Virtual Private Clouds
amazon.aws.ec2_vpc_net_info Gather information about ec2 VPCs in AWS
amazon.aws.ec2_vpc_route_table Manage route tables for AWS Virtual Private Clouds
amazon.aws.ec2_vpc_route_table_info Gather information about ec2 VPC route tables in AWS
amazon.aws.ec2_vpc_subnet Manage subnets in AWS virtual private clouds
amazon.aws.ec2_vpc_subnet_info Gather information about ec2 VPC subnets in AWS
amazon.aws.elb_classic_lb Creates, updates or destroys an Amazon ELB
amazon.aws.s3_bucket Manage S3 buckets in AWS, DigitalOcean, Ceph, Walrus, FakeS3 and StorageGRID
amazon.aws.s3_object Manage objects in S3

Installing this collection

You can install the AWS collection with the Ansible Galaxy CLI:

ansible-galaxy collection install amazon.aws

You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml, using the format:

---
collections:
  - name: amazon.aws

A specific version of the collection can be installed by using the version keyword in the requirements.yml file:

---
collections:
  - name: amazon.aws
    version: 3.1.1

The python module dependencies are not installed by ansible-galaxy. They can be manually installed using pip:

pip install requirements.txt

or:

pip install boto3 botocore

Using this collection

You can either call modules by their Fully Qualified Collection Namespace (FQCN), such as amazon.aws.ec2_instance, or you can call modules by their short name if you list the amazon.aws collection in the playbook's collections keyword:

---
  - name: Setup an instance for testing
    amazon.aws.ec2_instance:
      name: '{{ resource_prefix }}'
      instance_type: t2.nano
      image_id: "{{ (amis.images | sort(attribute='creation_date') | last).image_id }}"
      wait: yes
      volumes:
        - device_name: /dev/xvda
          ebs:
            volume_size: 8
            delete_on_termination: true
    register: instance

NOTE: For Ansible 2.9, you may not see deprecation warnings when you run your playbooks with this collection. Use this documentation to track when a module is deprecated.

See Also:

Contributing to this collection

We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the Amazon AWS collection repository. See Contributing to Ansible-maintained collections for more details.

You can also join us on:

More information about contributing

Release notes

Roadmap

More information

Licensing

GNU General Public License v3.0 or later.

See COPYING to see the full text.

About

Ansible Collection for Amazon AWS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%