-
Notifications
You must be signed in to change notification settings - Fork 0
/
snapshot_vm.yml
39 lines (35 loc) · 1.17 KB
/
snapshot_vm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
---
- name: Snapshot the instances
hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Fail if variables not defined
ansible.builtin.assert:
that:
- aws_region is defined
- managed_vms_name_prefix is defined
- managed_vms_environment is defined
fail_msg: "Required variables not set"
- name: Check if the demo VMs are already provisioned
amazon.aws.ec2_instance_info:
filters:
"tag:purpose": "{{ purpose }}"
"tag:Name": "{{ managed_vms_name_prefix }}-*"
"tag:environment": "{{ managed_vms_environment }}"
instance-state-name:
- pending
- running
- shutting-down
- stopping
- stopped
region: "{{ aws_region }}"
register: target_vms
- name: Snapshot the EC2 instances
amazon.aws.ec2_snapshot:
instance_id: "{{ item.instance_id }}"
device_name: /dev/sda1
description: "Snapshot begore updating"
region: "{{ aws_region }}"
loop: "{{ target_vms.instances }}"
when: target_vms.instances is defined and target_vms.instances | length > 0