ansible.builtin.ec2_snapshot (v2.9.17) — module

creates a snapshot from an existing volume

| "added in version" 1.5 of ansible.builtin"

Authors: Will Thames (@willthames)

preview | supported by core

Install Ansible via pip

Install with pip install ansible==2.9.17

Description

creates an EC2 snapshot from an existing EBS volume


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Simple snapshot of volume using volume_id
- ec2_snapshot:
    volume_id: vol-abcdef12
    description: snapshot of /data from DB123 taken 2013/11/28 12:18:32
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Snapshot of volume mounted on device_name attached to instance_id
- ec2_snapshot:
    instance_id: i-12345678
    device_name: /dev/sdb1
    description: snapshot of /data from DB123 taken 2013/11/28 12:18:32
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Snapshot of volume with tagging
- ec2_snapshot:
    instance_id: i-12345678
    device_name: /dev/sdb1
    snapshot_tags:
        frequency: hourly
        source: /data
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Remove a snapshot
- local_action:
    module: ec2_snapshot
    snapshot_id: snap-abcd1234
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a snapshot only if the most recent one is older than 1 hour
- local_action:
    module: ec2_snapshot
    volume_id: vol-abcdef12
    last_snapshot_min_age: 60

Inputs

    
wait:
    default: true
    description:
    - wait for the snapshot to be ready
    required: false
    type: bool
    version_added: 1.5.1
    version_added_collection: ansible.builtin

state:
    choices:
    - absent
    - present
    default: present
    description:
    - whether to add or create a snapshot
    required: false
    version_added: '1.9'
    version_added_collection: ansible.builtin

region:
    aliases:
    - aws_region
    - ec2_region
    description:
    - 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 U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
    type: str

ec2_url:
    aliases:
    - aws_endpoint_url
    - endpoint_url
    description:
    - 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.
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token)
      and support for passing them at the same time as I(profile) has been deprecated.
    - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually
      exclusive with I(profile) after 2022-06-01.
    type: str

volume_id:
    description:
    - volume from which to take the snapshot
    required: false

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config).
    - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto)
      for more boto configuration.
    type: dict

description:
    description:
    - description to be applied to the snapshot
    required: false

device_name:
    description:
    - device name of a mounted volume to be snapshotted
    required: false

instance_id:
    description:
    - instance that has the required volume to snapshot mounted
    required: false

snapshot_id:
    description:
    - snapshot id to remove
    required: false
    version_added: '1.9'
    version_added_collection: ansible.builtin

wait_timeout:
    default: 0
    description:
    - how long before wait gives up, in seconds
    - specify 0 to wait forever
    required: false
    version_added: 1.5.1
    version_added_collection: ansible.builtin

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - Not used by boto 2 based modules.
    - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied
      from the controller if not run locally.'
    type: path

snapshot_tags:
    description:
    - a hash/dictionary of tags to add to the snapshot
    required: false
    version_added: '1.6'
    version_added_collection: ansible.builtin

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY)
      or C(EC2_ACCESS_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

aws_secret_key:
    aliases:
    - ec2_secret_key
    - secret_key
    description:
    - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY),
      or C(EC2_SECRET_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

security_token:
    aliases:
    - aws_security_token
    - access_token
    description:
    - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN)
      or C(EC2_SECURITY_TOKEN) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(security_token) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for communication with
      the AWS APIs.
    type: bool

last_snapshot_min_age:
    default: 0
    description:
    - If the volume's most recent snapshot has started less than `last_snapshot_min_age'
      minutes ago, a new snapshot will not be created.
    required: false
    version_added: '2.0'
    version_added_collection: ansible.builtin

debug_botocore_endpoint_logs:
    default: 'no'
    description:
    - 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.
    type: bool