amazon.aws.aws_rds – rds instance source
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.
| |
aws_profile string |
env:AWS_DEFAULT_PROFILE env:AWS_PROFILE |
The AWS 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.
| |
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 |
|
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 |
|
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 |
|
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 |
|
If 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 |
|
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 |
|
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