The Ansible Amazon AWS collection includes a variety of Ansible content to help automate the management of AWS services. 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.
Tested with the Ansible Core >= 2.15.0 versions, and the current development version of Ansible. Ansible Core versions prior to 2.15.0 are not supported.
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.7 or greater.
Amazon has also announced the planned end of support for Python less than 3.8. As such support for Python less than 3.8 will be removed in a release after 2024-12-01.
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 7.0.0 of this collection supports boto3 >= 1.26.0
and botocore >= 1.29.0
All support for the original AWS SDK boto
was removed in release 4.0.0.
See the complete list of collection content in the Plugin Index.
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 -r requirements.txt
or:
pip install boto3 botocore
You can either call modules by their Fully Qualified Collection Name (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
- Amazon Web Services Guide
- Ansible Using collections for more details.
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.md for more details.
This collection is tested using GitHub Actions. To know more about testing, refer to CI.md.
You can also join us on:
- Libera.Chat IRC - the
#ansible-aws
irc.libera.chat channel
- Ansible Community Guide - Details on contributing to Ansible
- Contributing to Collections - How to check out collection git repositories correctly
- Guidelines for Ansible Amazon AWS module development
- Getting Started With AWS Ansible Module Development and Community Contribution
See the rendered changelog or the raw generated changelog.
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Collection Developer Guide
- Ansible Community code of conduct
GNU General Public License v3.0 or later.
See COPYING to see the full text.