Previously, the `promote` command in the `rds` module would always return OK and never actually promote an instance. This was because `promote_db_instance()` had its conditions backwards: if the instance had the `replication_source` attribute indicating that it **was** a replica, it would set `changed = False` and do nothing. If the instance **wasn't** a replica, it would attempt to run `boto.rds.promote_read_replica()`, which would always fail.
'exact_count' and 'state' are mutually exclusive options they should not be in the following examples:
- # Enforce that 5 running instances named "database" with a "dbtype" of "postgres" example and
- # Enforce that 5 instances with a tag "foo" are running
There was no db restore example. I've provided one that shows how to do the restore, then add a security group (you cannot add the security group during the restore step -- it has to be done in a modify step afterward). Also, I show how to get the endpoint.
Absent unction was not working on user with login profile
also fixed the exception handling
fixed the delete user function
now works with or without loginprofile (password)
typo
1 allow interface ids and vpc peering connections as route targets
2 set state to "terminated" when VPC is removed
3 fix some comment typos
updates per PR comments
* devel: (84 commits)
Document and return an error if httplib2 >= 0.7 is not present. We
since find doesn't make changes, support check mode and gather data for other tasks in check mode
Correct typo in yum module docs
Update doc to reflect password is required if adding a new user
Update error message to be more explicit
Simplify logic to handle options set to empty string
Fix to issue 12912. Supply 'force' to install of python-apt.
Note the difference between yum package groups and environment groups.
rearranged systemd check, removed redundant systemctl check fixed unused cmd and state var assignements
added earlier paths to systemd
make os_router return a top level 'id' key
Version bump for new beta 2.0.0-0.4.beta2
allow os_port to accept a list of security groups
allow os_server to accept a list of security groups
Add capability for stat module to use more hash algorithms
allow empty description attribute for os_security_group
Update hostname.py
simpler way to check if systemd is the init system
make os_keypair return a top level 'id' key
make os_flavor return a top-level 'id' key
...
When this was treated as a boolean, sphinx was leaving the Default
column on http://docs.ansible.com/ansible/ec2_module.html blank,
implying it would use AWS's default. In reality, it passes False, which
overrides the defaults at AWS (it's possible to boot an instance which
AWS claims will always have EBS optimization without it because of this
silently passed False).
Changed=true now reported on new volume.
Only detach volume when instance is specified as 'None' or '' rather than whenever instance is not specified at all
Fix regression caused by 6b27cdc where by no volume is created if id or Name is not supplied
Remove unnecessary empty aliases
Corrected example to use acceptable parameter for ions
Added exception handling to get_all_instances call
Moved the attachment state validation code to attach_volume function rather than create_volume function
Refactored attach_volume and detach_volume so that changed state can be passed back to call
Created get_volume_info function so that state=present and state=list can return the same data. Also added instance_id as a returned value in attachment_set dict
Updated aws connection method so that boto profile can be used
Without this, «ec2: state=stopped instance_ids=…» would fail with a
traceback like this:
if inst.get_attribute('sourceDestCheck')['sourceDestCheck'] != source_dest_check:
NameError: global name 'source_dest_check' is not defined
Both `source_dest_check` and `termination_protection` variables are not
available within the scope of the startstopec2 instance method. This just
pulls them from module.params.
I think in this commit 720aeffca2
There was bug introduced where the ElastiCacheManager init method has
a number of positional arguments like so.
```py
def __init__(self, module, name, engine, cache_engine_version, node_type,
num_nodes, cache_port, parameter_group, cache_subnet_group,
cache_security_groups, security_group_ids, zone, wait,
hard_modify, region, **aws_connect_kwargs):
```
But then later in the code the positional arguments are passed in
like this.
```py
elasticache_manager = ElastiCacheManager(module, name, engine,
cache_engine_version, node_type,
num_nodes, cache_port,
cache_subnet_group,
cache_security_groups,
security_group_ids, parameter_group, zone, wait,
hard_modify, region, **aws_connect_kwargs)
```
If you count, you can see that cache_subnet_group, is being passed in
where the manager expects to see parameter_group.
When attempting to modify the size of an RDS instance Ansible succeeds and
returns a "changed" status. However, no changes are applied to the RDS
instance. Boto is looking for a keyword parameter of "allocated_storage" to
update the size, and this parameter wasn't being included.