Add extra_create_args and extra_client_args to rax module to support passing
advanced configuration options to client instantiation and server create calls.
When a group is created, an egress_rule ALLOW ALL to 0.0.0.0/0 is added
automatically but it's not reflected in the object returned by the AWS API
call. After creation we re-read the group for getting an updated object.
Suppose a pair of groups, A and B, depending on each other. One solution
for breaking the circular dependency at playbook level:
- declare group A without dependencies
- declare group B depending on A
- declare group A depending on B
This patch breaks the dependency at module level. Whenever a depended-on
group is missing it's first created. This approach requires only two tasks:
- declare group A depending on B (group B will be auto created)
- declare group B depending on A
When creating a group EC2 requires you to pass the group description. In
order to fullfil this, rules now accept the `group_desc` param. Note
that group description can't be changed once the group is created so
it's nice to keep descriptions in sync.
Concrete example:
- ec2_group:
name: mysql-client
description: MySQL Client
rules_egress:
- proto: tcp
from_port: 3306
to_port: 3306
group_name: mysql-server
group_desc: MySQL Server
- ec2_group:
name: mysql-server
description: MySQL Server
rules:
- proto: tcp
from_port: 3306
to_port: 3306
group_name: mysql-client
* Added desired_capacity and vpc_zone_identifier to ec2_asg
* Use ec2_argument_spec() method and then remove unnecessary
declarations from argument_spec
* Remove AWS_REGIONS declaration
* Rename block_device_mappings to volumes to be consistent with ec2
* Remove all pep8 warnings except line length and continuation indent
* Use updated module_utils/ec2.py to add profile and security_token
support
* Remove mandatory arguments for delete to make launchconfig deletion
work
* Handle existing launch configurations better
* Improve output information
* Improve documentation