Skip to content

Commit

Permalink
Merge branch 'main' into add-support-for-ec2-imdsv2
Browse files Browse the repository at this point in the history
  • Loading branch information
roadmapper committed Jul 22, 2020
2 parents e4e17fd + 88594a3 commit 051bd73
Show file tree
Hide file tree
Showing 166 changed files with 21,210 additions and 1,914 deletions.
66 changes: 38 additions & 28 deletions .github/BOTMETA.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,36 @@
automerge: false
files:
$actions/aws_s3.py:
labels: aws_s3
$callbacks/aws_resource_actions.py:
maintainers: $team_aws
docs/:
labels: docs
$action/:
labels: action
$action/aws_s3.py:
$callback/:
labels: callback
$doc_fragments/:
labels: doc_fragments
$doc_fragments/aws.py:
$doc_fragments/aws_credentials.py:
$doc_fragments/aws_region.py:
$doc_fragments/ec2.py:
$inventories/aws_ec2.py:
maintainers: $team_aws
labels: aws_ec2
$inventories/aws_rds.py:
$lookups/:
labels: aws cloud
$inventory/:
labels: inventory
$inventory/aws_ec2.py:
labels: inventory
$inventory/aws_rds.py:
labels: inventory
$lookup/:
labels: lookup
$module_utils/:
labels: module_utils
$module_utils/ec2.py:
labels: aws cloud ec2
labels: ec2
$modules/:
authors: wimnat
maintainers: $team_aws
ignore: erydo nadirollo seiffert tedder
labels: modules
$modules/_aws_az_facts.py:
authors: Sodki
$modules/_aws_caller_facts.py:
Expand All @@ -26,10 +41,6 @@ files:
authors: prasadkatti
$modules/_ec2_group_facts.py:
authors: Sodki
$modules/:
authors: wimnat
maintainers: $team_aws
ignore: erydo nadirollo seiffert tedder
$modules/_ec2_vpc_dhcp_option_facts.py:
authors: naslanidis
$modules/aws_az_info.py:
Expand All @@ -38,10 +49,8 @@ files:
authors: orthanc sdubrul
$modules/aws_s3.py:
authors: lwade s-hertel
maintainers: jillr tremble
$modules/cloudformation.py:
authors: jsmartin
labels: cloudformation
$modules/cloudformation_info.py:
authors: jmenga waffie1
$modules/ec2.py:
Expand All @@ -56,45 +65,46 @@ files:
authors: jsdalton
$modules/ec2_group.py:
authors: adq
labels: ec2_group
$modules/ec2_group_info.py:
authors: Sodki
$modules/ec2_key.py:
authors: prasadkatti zbal
labels: ec2_key
$modules/ec2_metadata_facts.py:
authors: roadmapper silviud
$modules/ec2_snapshot.py:
authors: willthames
$modules/ec2_tag.py:
authors: flowerysong lwade
labels: ec2_tag
$modules/ec2_tag_info.py:
authors: tremble
maintainers: jillr s-hertel
$modules/ec2_vol.py:
authors: lwade
labels: ec2_vol
$modules/ec2_vpc_dhcp_option.py:
authors: joelthompson
$modules/ec2_vpc_dhcp_option_info.py:
authors: naslanidis
$modules/ec2_vpc_net.py:
authors: defionscode s-hertel
maintainers: jillr tremble
labels: ec2_vpc_net
ignore: defionscode joshsouza ryansb simplesteph
$modules/ec2_vpc_net_info.py:
maintainers: $team_aws whiter
labels: ec2_vpc_net_info
maintainers: whiter
$modules/ec2_vpc_subnet.py:
authors: brandond erydo
scripts/inventory/:
labels: inventory
tests/:
labels: tests
tests/integration/:
labels: integrations
tests/units/:
labels: units
macros:
actions: plugins/action
callbacks: plugins/callback
action: plugins/action
callback: plugins/callback
doc_fragments: plugins/doc_fragments
inventories: plugins/inventory
lookups: plugins/lookup
inventory: plugins/inventory
lookup: plugins/lookup
module_utils: plugins/module_utils
modules: plugins/modules
team_aws: jillr s-hertel tremble
5 changes: 5 additions & 0 deletions .github/settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# DO NOT MODIFY

# Settings: https://probot.github.io/apps/settings/
# Pull settings from https://github.com/ansible-collections/.github/blob/master/.github/settings.yml
_extends: ".github"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -384,4 +384,7 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

# Antsibull-changelog
changelogs/.plugin-cache.yaml

# End of https://www.gitignore.io/api/git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv
81 changes: 81 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Contributing

## Getting Started

General information about setting up your Python environment, testing modules,
Ansible coding styles, and more can be found in the [Ansible Community Guide](
https://docs.ansible.com/ansible/latest/community/index.html).

Information about boto library usage, module utils, testing, and more can be
found in the [AWS Guidelines](https://docs.ansible.com/ansible/devel/dev_guide/platforms/aws_guidelines.html)
documentation.

## AWS Collections

There are two related collections containing AWS content (modules and plugins).

### amazon.aws
This collection contains the `module_utils` (shared libraries) used by both collections.
Content in this collection is included downstream in Red Hat Ansible Automation Platform.

Code standards, test coverage, and other supportability criteria may be higher in this collection.

The `amazon.aws` collection is an [Ansible-maintained collection](https://docs.ansible.com/ansible/devel/community/contributing_maintained_collections.html).

### community.aws
This collection contains modules and plugins contributed and maintained by the Ansible AWS
community. The `community.aws` collection is tested and generally assured to work in
conjunction with `amazon.aws`.

New modules and plugins developed by the community should be proposed to `community.aws`.
Content in this collection that is stable and meets other acceptance criteria has the potential
to be promoted and migrated into `amazon.aws`.

## Submitting Issues
All software has bugs, and the `amazon.aws` collection is no exception. When you find a bug,
you can help tremendously by [telling us about it](https://github.com/ansible-collections/amazon.aws/issues/new/choose).

If you should discover that the bug you're trying to file already exists in an issue,
you can help by verifying the behavior of the reported bug with a comment in that
issue, or by reporting any additional information

## Pull Requests

All modules MUST have integration tests for new features. Upgrading to boto3 shall be considered a feature request.
Bug fixes for modules that currently have integration tests SHOULD have tests added.
New modules should be submitted to the [community.aws](https://github.com/ansible-collections/community.aws) collection
and MUST have integration tests.

Expected test criteria:
* Resource creation under check mode
* Resource creation
* Resource creation again (idempotency) under check mode
* Resource creation again (idempotency)
* Resource modification under check mode
* Resource modification
* Resource modification again (idempotency) under check mode
* Resource modification again (idempotency)
* Resource deletion under check mode
* Resource deletion
* Resource deletion (of a non-existent resource) under check mode
* Resource deletion (of a non-existent resource)

Where modules have multiple parameters we recommend running through the 4-step modification cycle for each parameter the module accepts, as well as a modification cycle where as most, if not all, parameters are modified at the same time.

For general information on running the integration tests see the
[Integration Tests page of the Module Development Guide](https://docs.ansible.com/ansible/devel/dev_guide/testing_integration.html#testing-integration),
especially the section on configuration for cloud tests. For questions about writing tests the Ansible AWS community can
be found on Freenode IRC as detailed below.


### Code of Conduct
The `amazon.aws` collection follows the Ansible project's
[Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html).
Please read and familiarize yourself with this document.

### IRC
Our IRC channels may require you to register your nickname. If you receive an error when you connect, see
[Freenode's Nickname Registration guide](https://freenode.net/kb/answer/registration) for instructions

The `#ansible-aws` channel on Freenode irc is the main and official place to discuss use and development
of the `amazon.aws` collection.
66 changes: 58 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,63 @@


# Amazon AWS Collection
[![Shippable build status](https://api.shippable.com/projects/5e4451b6aa9a61000733064c/badge?branch=master)](https://api.shippable.com/projects/5e4451b6aa9a61000733064c/badge?branch=master)
<!--[![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/amazon.aws)](https://codecov.io/gh/ansible-collections/amazon.aws)-->
[![Shippable build status](https://api.shippable.com/projects/5e4451b6aa9a61000733064c/badge?branch=main)](https://api.shippable.com/projects/5e4451b6aa9a61000733064c/badge?branch=main)
[![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/amazon.aws)](https://codecov.io/gh/ansible-collections/amazon.aws)

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.

<!--start requires_ansible-->
## Ansible version compatibility

This collection has been tested against following Ansible versions: **>=2.9,<2.11**.

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.
<!--end requires_ansible-->

## Included content

Click the ``Content`` button to see the list of content included in this collection.
<!--start collection content-->
### Lookup plugins
Name | Description
--- | ---
[amazon.aws.aws_account_attribute](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_account_attribute_lookup.rst)|Look up AWS account attributes.
[amazon.aws.aws_secret](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_secret_lookup.rst)|Look up secrets stored in AWS Secrets Manager.
[amazon.aws.aws_service_ip_ranges](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_service_ip_ranges_lookup.rst)|Look up the IP ranges for services provided in AWS such as EC2 and S3.
[amazon.aws.aws_ssm](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_ssm_lookup.rst)|Get the value for a SSM parameter or all parameters under a path.

### Modules
Name | Description
--- | ---
[amazon.aws.aws_az_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_az_info_module.rst)|Gather information about availability zones in AWS.
[amazon.aws.aws_caller_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_caller_info_module.rst)|Get information about the user and account being used to make AWS calls.
[amazon.aws.aws_s3](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.aws_s3_module.rst)|manage objects in S3.
[amazon.aws.cloudformation](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.cloudformation_module.rst)|Create or delete an AWS CloudFormation stack
[amazon.aws.cloudformation_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.cloudformation_info_module.rst)|Obtain information about an AWS CloudFormation stack
[amazon.aws.ec2](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_module.rst)|create, terminate, start or stop an instance in ec2
[amazon.aws.ec2_ami](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_ami_module.rst)|Create or destroy an image (AMI) in ec2
[amazon.aws.ec2_ami_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_ami_info_module.rst)|Gather information about ec2 AMIs
[amazon.aws.ec2_elb_lb](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_elb_lb_module.rst)|Creates, updates or destroys an Amazon ELB.
[amazon.aws.ec2_eni](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_eni_module.rst)|Create and optionally attach an Elastic Network Interface (ENI) to an instance
[amazon.aws.ec2_eni_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_eni_info_module.rst)|Gather information about ec2 ENI interfaces in AWS
[amazon.aws.ec2_group](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_group_module.rst)|maintain an ec2 VPC security group.
[amazon.aws.ec2_group_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_group_info_module.rst)|Gather information about ec2 security groups in AWS.
[amazon.aws.ec2_key](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_key_module.rst)|create or delete an ec2 key pair
[amazon.aws.ec2_metadata_facts](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_metadata_facts_module.rst)|Gathers facts (instance metadata) about remote hosts within ec2
[amazon.aws.ec2_snapshot](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_snapshot_module.rst)|Creates a snapshot from an existing volume
[amazon.aws.ec2_snapshot_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_snapshot_info_module.rst)|Gather information about ec2 volume snapshots in AWS
[amazon.aws.ec2_tag](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_tag_module.rst)|create and remove tags on ec2 resources
[amazon.aws.ec2_tag_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_tag_info_module.rst)|list tags on ec2 resources
[amazon.aws.ec2_vol](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vol_module.rst)|Create and attach a volume, return volume id and device map
[amazon.aws.ec2_vol_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vol_info_module.rst)|Gather information about ec2 volumes in AWS
[amazon.aws.ec2_vpc_dhcp_option](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_dhcp_option_module.rst)|Manages DHCP Options, and can ensure the DHCP options for the given VPC match what's requested
[amazon.aws.ec2_vpc_dhcp_option_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_dhcp_option_info_module.rst)|Gather information about dhcp options sets in AWS
[amazon.aws.ec2_vpc_net](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_net_module.rst)|Configure AWS virtual private clouds
[amazon.aws.ec2_vpc_net_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_net_info_module.rst)|Gather information about ec2 VPCs in AWS
[amazon.aws.ec2_vpc_subnet](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_subnet_module.rst)|Manage subnets in AWS virtual private clouds
[amazon.aws.ec2_vpc_subnet_info](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.ec2_vpc_subnet_info_module.rst)|Gather information about ec2 VPC subnets in AWS
[amazon.aws.s3_bucket](https://github.com/ansible-collections/amazon.aws/blob/main/docs/amazon.aws.s3_bucket_module.rst)|Manage S3 buckets in AWS, DigitalOcean, Ceph, Walrus, FakeS3 and StorageGRID

<!--end collection content-->

## Installing this collection

Expand All @@ -22,7 +71,6 @@ You can also include it in a `requirements.yml` file and install it with `ansibl
---
collections:
- name: amazon.aws
version: 0.1.1
```
## Using this collection

Expand All @@ -45,6 +93,8 @@ You can either call modules by their Fully Qualified Collection Namespace (FQCN)
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:

Expand All @@ -53,7 +103,7 @@ You can either call modules by their Fully Qualified Collection Namespace (FQCN)

## 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](https://github.com/ansible-collections/amazon.aws).
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](https://github.com/ansible-collections/amazon.aws). See [Contributing to Ansible-maintained collections](https://docs.ansible.com/ansible/devel/community/contributing_maintained_collections.html#contributing-maintained-collections) for more details.

You can also join us on:

Expand All @@ -80,4 +130,4 @@ See the [Ansible Community Guide](https://docs.ansible.com/ansible/latest/commun

GNU General Public License v3.0 or later.

See [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.
See [COPYING](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.
29 changes: 29 additions & 0 deletions changelogs/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
changelog_filename_template: ../CHANGELOG.rst
changelog_filename_version_depth: 0
changes_file: changelog.yaml
changes_format: combined
keep_fragments: false
mention_ancestor: true
new_plugins_after_name: removed_features
notesdir: fragments
prelude_section_name: release_summary
prelude_section_title: Release Summary
sections:
- - major_changes
- Major Changes
- - minor_changes
- Minor Changes
- - breaking_changes
- Breaking Changes / Porting Guide
- - deprecated_features
- Deprecated Features
- - removed_features
- Removed Features (previously deprecated)
- - security_fixes
- Security Fixes
- - bugfixes
- Bugfixes
- - known_issues
- Known Issues
title: community.aws
trivial_section_name: trivial
4 changes: 4 additions & 0 deletions changelogs/fragments/107_info_check_mode.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
minor_changes:
- Added check_mode support to aws_az_info
- Added check_mode support to ec2_eni_info
- Added check_mode support to ec2_snapshot_info
2 changes: 2 additions & 0 deletions changelogs/fragments/108-ec2_vol-deprecate-list.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
deprecated_features:
- 'ec2_vol: deprecate the `list` option in favor of ec2_vol_info'
2 changes: 2 additions & 0 deletions changelogs/fragments/27800-ec2_vpc_net-ipv6-support.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
minor_changes:
- ec2_vpc_net - Enable IPv6 CIDR assignment
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- aws_s3 - Delete objects and delete markers so versioned buckets can be removed.
2 changes: 2 additions & 0 deletions changelogs/fragments/61279-ec2_launch_template-output.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- ec2_launch_template - Update output to include latest_version and default_version, matching the documentation
3 changes: 3 additions & 0 deletions changelogs/fragments/61284-ec2_asg-idempotency.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bugfixes:
- aws_ec2 - fix idempotency when managing tags
- aws_ec2 - fix idempotency when metrics are enable
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- aws_s3 - Try to wait for the bucket to exist before setting the access control list.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- ec2_transit_gateway - fixed issue where auto_attach set to yes was not being honored (https://github.com/ansible/ansible/issues/61907)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- cloudformation_info - Fix a KeyError returning information about the stack(s).
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
minor_changes:
- cloudformation - Return change_set_id in the cloudformation output if a change set was created.
5 changes: 5 additions & 0 deletions changelogs/fragments/64230-deprecate-unused.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
deprecated_features:
- "ec2_eip - The ``wait_timeout`` option had no effect and will be removed in Ansible 2.14"
- "ec2_key - The ``wait`` option had no effect and will be removed in Ansible 2.14"
- "ec2_key - The ``wait_timeout`` option had no effect and will be removed in Ansible 2.14"
- "ec2_lc - The ``associate_public_ip_address`` option had no effect and will be removed in Ansible 2.14"
3 changes: 3 additions & 0 deletions changelogs/fragments/64368-deprecate-unused.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
deprecated_features:
- "cloudformation - The ``template_format`` option had no effect since Ansible 2.3 and will be removed in Ansible 2.14"
- "data_pipeline - The ``version`` option had no effect and will be removed in Ansible 2.14"
Loading

0 comments on commit 051bd73

Please sign in to comment.