Made URL an optional parameter
Added module to handle rabbit policies [1]

Used quite a bit of the existing rabbit modules provied by @chrishoffman.

[1] https://www.rabbitmq.com/parameters.html
Cleaned up docs just a smidge

Mostly added periods where missed, and corrected /vhost spacing.
use new airbrake API URL
The setting of params via dict or string by tags

Updated per @mpdehaan suggestions.
* Rather than passing in JSON, supply the policy options as a hash
  or string.
* Bumped version_added to 1.5.
Handled string/dict the ansible way
Optionally unarchive a file already on the remote machine
properly convert arg into boolean
If there is no tmp_src, don't modify the args
now handles default and allaows for either shorthand entry or specific
fields per entry section

the default option works both when added to entry or as stand alone.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
rds module: add snapshot capabilities

Add the ability to create snapshots and restore from them
Make instance creation, deletion, restore, and snapshotting idempotent
(really helps testing a playbook if you can run it multiple times)
postgresql_user module: Gracefully handle ALTER ROLE on read-only postgres servers.
Fix postgresql_user to understand PG namespaces

Previously postgresql_user quoted user supplied identifers to create
grant statements that look like this:

    GRANT SELECT on "tablename" to "user";

Which only works if the tablename is not in a namespace.  If you supply
a namespaced tabelname like "report.revenue" then it creates this
incorrect statement:

    GRANT SELECT on "report.revenue" to "user";

Which will not find the "revenue" table in the "report" namespace, but
will rather look for a table named "report.revenue" in the current
(default public) namespace.  The correct form is:

    GRANT SELECT on "report"."revenue" to "user";

This approach could have the unfortunate effect that code that
previously relied on the other behavior to grant privileges on tables
with periods in their names may now break.  PostgreSQL users
typically shouldn't name tables as such, and users can still access the
old behavior and use tablenames with periods in the if they must by
supplying their own quoting.
apt: fixed pkg=<name>=<version> fails if package is not yet installed.

Reported and patch provided by https://github.com/msolo. Closes GH-5625.
added new play_hosts var

this variable has the 'current host list' to be executed over in the
play. Useful when using --limit to not iterate over hosts not included
in play in templates or with_items.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
fix following redirects
Update docs for rax_facts to include parameters added for other OpenStack clouds
Addresses #5739 and cleans up copy.py

The copy action_plugin is not easy to read. Part of this commit is taking that file, restructuring it, and adding comments. No functionality changed in how it interacts with the world.

The fix for #5739 ends up being the assumption that there is a cleanup 'rm -rf' that happens at the end of the copy loop. This was not the fact before and we made a bunch of tmp directories that we hoped would end up being cleaned up. Now we just use the tmp directory that the runner provides and cleanup inline if it is a single file to be coppied or after the loop if it is a recursive copy.

As a part of this we did end up having to change runner to provide a flag so that we could short the inline tmp directory removal. This flag defaults to True so it will not change the behavior of other modules that are being called.
Minor tweaks to simplify examples and documentation

Made a few things more consistent with the bulk of the other EC2
modules and removed an unnecessary check that is handled by
AnsibleModule
Example should put instance_ids list in quotes for avoid YAML error