community.aws.rds_snapshot_info – obtain information about one or more RDS snapshots

Note

This plugin is part of the community.aws collection (version 1.4.0).

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

To use it in a playbook, specify: community.aws.rds_snapshot_info.

New in version 1.0.0: of community.aws

Synopsis

  • Obtain information about one or more RDS snapshots. These can be for unclustered snapshots or snapshots of clustered DBs (Aurora).

  • Aurora snapshot information may be obtained if no identifier parameters are passed or if one of the cluster parameters are passed.

  • This module was called rds_snapshot_facts before Ansible 2.9. The usage did not change.

Requirements

The below requirements are needed on the host that executes this module.

  • boto

  • boto3

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
aws_access_key
string
AWS access key. If not set then the value of the AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY or EC2_ACCESS_KEY environment variable is used.
If profile is set this parameter is ignored.
Passing the aws_access_key and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.

aliases: ec2_access_key, access_key
aws_ca_bundle
path
The location of a CA Bundle to use when validating SSL certificates.
Only used for boto3 based modules.
Note: The CA Bundle is read 'module' side and may need to be explicitly copied from the controller if not run locally.
aws_config
dictionary
A dictionary to modify the botocore configuration.
Only the 'user_agent' key is used for boto modules. See http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto for more boto configuration.
aws_secret_key
string
AWS secret key. If not set then the value of the AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, or EC2_SECRET_KEY environment variable is used.
If profile is set this parameter is ignored.
Passing the aws_secret_key and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.

aliases: ec2_secret_key, secret_key
db_cluster_identifier
string
RDS cluster name for which to find snapshots.
Mutually exclusive with db_snapshot_identifier, db_instance_identifier, db_cluster_snapshot_identifier
db_cluster_snapshot_identifier
string
Name of an RDS cluster snapshot.
Mutually exclusive with db_instance_identifier, db_snapshot_identifier, db_cluster_identifier
db_instance_identifier
string
RDS instance name for which to find snapshots.
Mutually exclusive with db_snapshot_identifier, db_cluster_identifier, db_cluster_snapshot_identifier
db_snapshot_identifier
string
Name of an RDS (unclustered) snapshot.
Mutually exclusive with db_instance_identifier, db_cluster_identifier, db_cluster_snapshot_identifier

aliases: snapshot_name
debug_botocore_endpoint_logs
boolean
    Choices:
  • no ←
  • yes
Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action" API calls made during a task, outputing the set to the resource_actions key in the task results. Use the aws_resource_action callback to output to total list made during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also be used.
ec2_url
string
Url to use to connect to EC2 or your Eucalyptus cloud (by default the module will use EC2 endpoints). Ignored for modules where region is required. Must be specified for all other modules if region is not used. If not set then the value of the EC2_URL environment variable, if any, is used.

aliases: aws_endpoint_url, endpoint_url
profile
string
Uses a boto profile. Only works with boto >= 2.24.0.
Using profile will override aws_access_key, aws_secret_key and security_token and support for passing them at the same time as profile has been deprecated.
aws_access_key, aws_secret_key and security_token will be made mutually exclusive with profile after 2022-06-01.

aliases: aws_profile
region
string
The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used. See http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

aliases: aws_region, ec2_region
security_token
string
AWS STS security token. If not set then the value of the AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN environment variable is used.
If profile is set this parameter is ignored.
Passing the security_token and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.

aliases: aws_security_token, access_token
snapshot_type
string
    Choices:
  • automated
  • manual
  • shared
  • public
Type of snapshot to find.
By default both automated and manual snapshots will be returned.
validate_certs
boolean
    Choices:
  • no
  • yes ←
When set to "no", SSL certificates will not be validated for boto versions >= 2.6.0.

Notes

Note

  • If parameters are not set within the module, the following environment variables can be used in decreasing order of precedence AWS_URL or EC2_URL, AWS_PROFILE or AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY or EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY or EC2_SECRET_KEY, AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN, AWS_REGION or EC2_REGION, AWS_CA_BUNDLE

  • Ansible uses the boto configuration file (typically ~/.boto) if no credentials are provided. See https://boto.readthedocs.io/en/latest/boto_config_tut.html

  • AWS_REGION or EC2_REGION can be typically be used to specify the AWS region, when required, but this can also be configured in the boto config file

Examples

- name: Get information about an snapshot
  community.aws.rds_snapshot_info:
    db_snapshot_identifier: snapshot_name
  register: new_database_info

- name: Get all RDS snapshots for an RDS instance
  community.aws.rds_snapshot_info:
    db_instance_identifier: helloworld-rds-master

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
cluster_snapshots
complex
always
List of cluster snapshots

 
allocated_storage
integer
always
How many gigabytes of storage are allocated

Sample:
1
 
availability_zones
list / elements=string
always
The availability zones of the database from which the snapshot was taken

Sample:
['ca-central-1a', 'ca-central-1b']
 
cluster_create_time
string
always
Date and time the cluster was created

Sample:
2018-05-17T00:13:40.223000+00:00
 
db_cluster_identifier
string
always
Database cluster identifier

Sample:
test-aurora-cluster
 
db_cluster_snapshot_arn
string
always
ARN of the database snapshot

Sample:
arn:aws:rds:ca-central-1:111111111111:cluster-snapshot:test-aurora-snapshot
 
db_cluster_snapshot_identifier
string
always
Snapshot identifier

Sample:
test-aurora-snapshot
 
engine
string
always
Database engine

Sample:
aurora
 
engine_version
string
always
Database engine version

Sample:
5.6.10a
 
iam_database_authentication_enabled
boolean
always
Whether database authentication through IAM is enabled

 
kms_key_id
string
always
ID of the KMS Key encrypting the snapshot

Sample:
arn:aws:kms:ca-central-1:111111111111:key/abcd1234-abcd-1111-aaaa-0123456789ab
 
license_model
string
always
License model

Sample:
aurora
 
master_username
string
always
Database master username

Sample:
shertel
 
percent_progress
integer
always
Percent progress of snapshot

 
port
integer
always
Database port

 
snapshot_create_time
string
always
Date and time when the snapshot was created

Sample:
2018-05-17T00:23:23.731000+00:00
 
snapshot_type
string
always
Type of snapshot

Sample:
manual
 
status
string
always
Status of snapshot

Sample:
creating
 
storage_encrypted
boolean
always
Whether the snapshot is encrypted

Sample:
True
 
tags
complex
when snapshot is not shared
Tags of the snapshot

 
vpc_id
string
always
VPC of the database

Sample:
vpc-abcd1234
snapshots
complex
When cluster parameters are not passed
List of non-clustered snapshots

 
allocated_storage
integer
always
How many gigabytes of storage are allocated

Sample:
10
 
availability_zone
string
always
The availability zone of the database from which the snapshot was taken

Sample:
us-west-2b
 
db_instance_identifier
string
always
Database instance identifier

Sample:
hello-world-rds
 
db_snapshot_arn
string
always
Snapshot ARN

Sample:
arn:aws:rds:us-west-2:111111111111:snapshot:rds:hello-world-rds-us1-2018-05-16-04-03
 
db_snapshot_identifier
string
always
Snapshot name

Sample:
rds:hello-world-rds-us1-2018-05-16-04-03
 
encrypted
boolean
always
Whether the snapshot was encrypted

Sample:
True
 
engine
string
always
Database engine

Sample:
postgres
 
engine_version
string
always
Database engine version

Sample:
9.5.10
 
iam_database_authentication_enabled
boolean
always
Whether database authentication through IAM is enabled

 
instance_create_time
string
always
Time the Instance was created

Sample:
2017-10-10T04:00:07.434000+00:00
 
kms_key_id
string
always
ID of the KMS Key encrypting the snapshot

Sample:
arn:aws:kms:us-west-2:111111111111:key/abcd1234-1234-aaaa-0000-1234567890ab
 
license_model
string
always
License model

Sample:
postgresql-license
 
master_username
string
always
Database master username

Sample:
dbadmin
 
option_group_name
string
always
Database option group name

Sample:
default:postgres-9-5
 
percent_progress
integer
always
Percent progress of snapshot

Sample:
100
 
snapshot_create_time
string
always
Time snapshot was created

Sample:
2018-05-16T04:03:33.871000+00:00
 
snapshot_type
string
always
Type of snapshot

Sample:
automated
 
status
string
always
Status of snapshot

Sample:
available
 
storage_type
string
always
Storage type of underlying DB

Sample:
gp2
 
tags
complex
when snapshot is not shared
Snapshot tags

 
vpc_id
string
always
ID of VPC containing the DB

Sample:
vpc-abcd1234


Authors

  • Will Thames (@willthames)