Add ability for boto_route53.present() to magically figure out the IP address for 'value' (#32644)
Add ability for boto_route53.present() to magically figure out the IP address for 'value' (#32644)

* ip_protocol.isdigit() fails when isinstance(ip_protocol, int)

* Fix """Warnings: 'name' is an invalid keyword argument for
'boto_iam.account_policy'. If you were trying to pass additional
data to be used in a template context, please populate 'context'
with 'key: value' pairs. Your approach will work until Salt Carbon
is out. Please update your state files."""

* Add boto_iam.get_all_users() module function

* Add boto_iam.get_all_groups() module function

* Update boto_iam.export_users() to use new get_all_users() function

* Add boto_iam.get_all_roles() module function

* Finally got around to implementing image_name option to boto_ec2.instance_present :)

* Add boto_secgroup.get_all_security_groups() function
Add options public_ip, allocation_id, and allocate_eip to boto_ec2.instance_exists()
Add option release_eip to boto_ec2.instance_absent()

* Boy, I REALLY disagree with PEP about the whole "whitespace after/before braces/brackets/parens" readability thing....

* INFRA-856 - add 'private:<Name tag>' and 'public:<Name tag>' flavors to boto_route53.present() 'value' option to allow route53 to automatically figure out IPs of freshly created instances

* INFRA-856 - add in_states argument so we only get back useful instances

* INFRA-856 - ...aaaaand boto arbitrarily maps PublicIpAddress to ip_address, while mapping EVERY OTHER instance attribute to it's immediate CamelCase->snake_case equivalents.  Helpful?  Not!  Brilliant?  NOT!

saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt