-
Notifications
You must be signed in to change notification settings - Fork 1
/
40.1-playbook_restore_vm_asset_copies.yml
67 lines (66 loc) · 2.15 KB
/
40.1-playbook_restore_vm_asset_copies.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Example Playbook to configure query PPDM Server Disaster Recovery
- name: Get VM Copies
hosts: localhost
gather_facts: no
connection: local
vars_files:
- ./vars/main.yml
tasks:
- name: Checking Required Variable ppdm_fqdn
fail:
msg: "We do not have ppdm fqdn set !"
when: (ppdm_fqdn is not defined) or (ppdm_fqdn|length <= 8)
- name: Checking Required Variable ppdm_new_password
fail:
msg: "We do not have ppdm_new_password set !"
when: (ppdm_new_password is not defined) or (ppdm_new_password|length == 0)
- name: Checking Required Variable vm_name
fail:
msg: "We do not have the vm_name set !"
when: (vm_name is not defined) or (vm_name|length <= 3)
- name: Setting Base URL
set_fact:
ppdm_baseurl: "https://{{ ppdm_fqdn | regex_replace('^https://') }}"
- name: Get PPDM Token for https://{{ ppdm_fqdn | regex_replace('^https://') }}
include_role:
name: get_ppdm_token
vars:
ppdm_password: "{{ ppdm_new_password }}"
- debug:
msg: "{{ access_token }}"
verbosity: 1
name: do we have a token ?
- name: Get PPDM Assets
include_role:
name: get_ppdm_assets
vars:
filter: type eq "VMWARE_VIRTUAL_MACHINE" and protectionStatus eq "PROTECTED" and name eq "{{ vm_name }}"
- name: Assets Result
debug:
msg: "{{ assets }}"
verbosity: 0
# - name: set_copy
# set_fact:
# copy_time:
- name: Get VM Assetcopies
include_role:
name: get_ppdm_assetcopies
vars:
filter: startTime eq "{{ copy_time | default(assets[0].lastAvailableCopyTime)}}"
id: "{{ assets[0].id }}"
- name: Copies Result
debug:
msg: "{{ copies[0] }}"
verbosity: 0
- name: Restore VM Assetcopies
include_role:
name: restore_ppdm_vm_copies
vars:
# filter: type eq "VMWARE_VIRTUAL_MACHINE" and protectionStatus eq "PROTECTED" and name eq "{{ vm_name }}"
copy: "{{ copies[0] }}"
asset: "{{ assets[0] }}"
message: "{{ ticket_reason | default('') }}"
- name: Restore Result
debug:
msg: "{{ restore }}"
verbosity: 0