Add several useful functions to boto_elasticache state and execution modules. Clean up hard-to-parse multi-line log messages in boto_iam and boto_s3_bucket states
Otherwise, an invalid pkg atom such as generated by the following state:
```SaltStack
sys-apps/systemd:
pkg.installed:
- pkgs:
- sys-apps/systemd: '[curl, importd, nat]'
```
…would lead to this backtrace:
```
ID: sys-apps/systemd
Function: pkg.installed
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/salt/state.py", line 1723, in call
**cdata['kwargs'])
File "/usr/lib64/python2.7/site-packages/salt/loader.py", line 1650, in wrapper
return f(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/salt/states/pkg.py", line 1062, in installed
**kwargs)
File "/usr/lib64/python2.7/site-packages/salt/states/pkg.py", line 454, in _find_install_targets
if not __salt__['pkg_resource.check_extra_requirements'](key, val):
File "/usr/lib64/python2.7/site-packages/salt/modules/pkg_resource.py", line 290, in check_extra_requirements
return __salt__['pkg.check_extra_requirements'](pkgname, pkgver)
File "/usr/lib64/python2.7/site-packages/salt/modules/ebuild.py", line 1059, in check_extra_requirements
cpv = _porttree().dbapi.xmatch('bestmatch-visible', atom)
File "/usr/lib64/python2.7/site-packages/portage/dbapi/porttree.py", line 835, in xmatch
mydep = dep_expand(origdep, mydb=self, settings=self.settings)
File "/usr/lib64/python2.7/site-packages/portage/proxy/objectproxy.py", line 31, in __call__
return result(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/portage/dbapi/dep_expand.py", line 35, in dep_expand
mydep = Atom(mydep, allow_repo=True)
File "/usr/lib64/python2.7/site-packages/portage/dep/__init__.py", line 1366, in __init__
use = _use_dep(use_str[1:-1].split(","), eapi_attrs)
File "/usr/lib64/python2.7/site-packages/portage/dep/__init__.py", line 855, in __init__
raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
InvalidAtom: Invalid use dep: ' importd'
Started: 21:53:35.925124
Duration: 999.249 ms
Changes:
```
This normalises the style of long function argument lists to use
continuation lines with 'hanging indents' that align with the opening
delimiter as discussed in PEP8.
This allows the influx08 module to work with influxdb-python versions
after 1.0.0 and specifically uses the influxdb08.InfluxDBClient shipped
therein.
It furthermore removes code that was meant to provide 0.9 compatibility
in the same module and simplifies user/cluster admin user management
logic.
InfluxDB versions newer than 0.8 introduced significant changes in
database concepts, user administration and Python API.
We therefore decided to rename the old InfluxDB states to 'influxdb08*'
and to reserve the 'influxdb' name for InfluxDB 0.9+ compatible states
and modules.
The beacon's __grains__ variable is set at load time, then never
refreshed. This is inconvenient as it limits the scope of what can be
done in a beacon (can't rely on grain values that change).
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>