amazon.aws.aws_rds – rds instance source

From Get docs
Ansible/docs/2.11/collections/amazon/aws/aws rds inventory


amazon.aws.aws_rds – rds instance source

Note

This plugin is part of the amazon.aws collection (version 1.3.0).

To install it use: ansible-galaxy collection install amazon.aws.

To use it in a playbook, specify: amazon.aws.aws_rds.


Synopsis

  • Get instances and clusters from Amazon Web Services RDS.
  • Uses a YAML configuration file that ends with aws_rds.(yml|yaml).

Requirements

The below requirements are needed on the local controller node that executes this inventory.

  • boto3
  • botocore

Parameters

Parameter Choices/Defaults Configuration Comments

aws_access_key

string

env:EC2_ACCESS_KEY

env:AWS_ACCESS_KEY

env:AWS_ACCESS_KEY_ID

The AWS access key to use.


aliases: aws_access_key_id

aws_profile

string

env:AWS_DEFAULT_PROFILE

env:AWS_PROFILE

The AWS profile


aliases: boto_profile

aws_secret_key

string

env:EC2_SECRET_KEY

env:AWS_SECRET_KEY

env:AWS_SECRET_ACCESS_KEY

The AWS secret key that corresponds to the access key.


aliases: aws_secret_access_key

aws_security_token

string

env:EC2_SECURITY_TOKEN

env:AWS_SESSION_TOKEN

env:AWS_SECURITY_TOKEN

The AWS security token if using temporary access and secret keys.

cache

boolean

  • no

  • yes

ini entries: [inventory]cache = no


env:ANSIBLE_INVENTORY_CACHE

Toggle to enable/disable the caching of the inventory's source data, requires a cache plugin setup to work.

cache_connection

string

ini entries: [defaults]fact_caching_connection = None

[inventory]cache_connection = None


env:ANSIBLE_CACHE_PLUGIN_CONNECTION

env:ANSIBLE_INVENTORY_CACHE_CONNECTION

Cache connection data or path, read cache plugin documentation for specifics.

cache_plugin

string

Default:

"memory"

ini entries: [defaults]fact_caching = memory

[inventory]cache_plugin = memory


env:ANSIBLE_CACHE_PLUGIN

env:ANSIBLE_INVENTORY_CACHE_PLUGIN

Cache plugin to use for the inventory's source data.

cache_prefix

string

Default:

"ansible_inventory_"

ini entries: [default]fact_caching_prefix = ansible_inventory_

[inventory]cache_prefix = ansible_inventory_


env:ANSIBLE_CACHE_PLUGIN_PREFIX

env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

Prefix to use for cache plugin files/tables

cache_timeout

integer

Default:

3600

ini entries: [defaults]fact_caching_timeout = 3600

[inventory]cache_timeout = 3600


env:ANSIBLE_CACHE_PLUGIN_TIMEOUT

env:ANSIBLE_INVENTORY_CACHE_TIMEOUT

Cache duration in seconds

compose

dictionary

Default:

{}

Create vars from jinja2 expressions.

filters

string

Default:

{}

A dictionary of filter value pairs. Available filters are listed here https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html#options. If you filter by db-cluster-id and include_clusters is True it will apply to clusters as well.

groups

dictionary

Default:

{}

Add hosts to group based on Jinja2 conditionals.

iam_role_arn

string

The ARN of the IAM role to assume to perform the inventory lookup. You should still provide AWS credentials with enough privilege to perform the AssumeRole action.

include_clusters

boolean

  • no

  • yes

Whether or not to query for Aurora clusters as well as instances

keyed_groups

list / elements=string

Default:

[]

Add hosts to group based on the values of a variable.

leading_separator

boolean

added in 2.11 of ansible.builtin

  • no
  • yes

Use in conjunction with keyed_groups.

By default, a keyed group that does not have a prefix or a separator provided will have a name that starts with an underscore.

This is because the default prefix is "" and the default separator is "_".

Set this option to False to omit the leading underscore (or other separator) if no prefix is given.

If the group name is derived from a mapping the separator is still used to concatenate the items.

To not use a separator in the group name at all, set the separator for the keyed group to an empty string instead.

regions

string

Default:

[]

A list of regions in which to describe RDS instances and clusters. Available regions are listed here https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

statuses

list / elements=string

Default:

["creating", "available"]

A list of desired states for instances/clusters to be added to inventory. Set to ['all'] as a shorthand to find everything.

strict

boolean

  • no

  • yes

If yes make invalid entries a fatal error, otherwise skip and continue.

Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default.

strict_permissions

boolean

  • no
  • yes

By default if an AccessDenied exception is encountered this plugin will fail. You can set strict_permissions to False in the inventory config file which will allow the restrictions to be gracefully skipped.

use_extra_vars

boolean

added in 2.11 of ansible.builtin

  • no

  • yes

ini entries: [inventory_plugins]use_extra_vars = no


env:ANSIBLE_INVENTORY_USE_EXTRA_VARS

Merge extra vars into the available variables for composition (highest precedence).



Examples

plugin: aws_rds
regions:
  - us-east-1
  - ca-central-1
keyed_groups:
  - key: 'db_parameter_groups|json_query("[].db_parameter_group_name")'
    prefix: rds_parameter_group
  - key: engine
    prefix: rds
  - key: tags
  - key: region

Authors

  • Sloane Hertel (@s-hertel)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/amazon/aws/aws_rds_inventory.html