summaryrefslogtreecommitdiffstats
path: root/ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml')
-rw-r--r--ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml194
1 files changed, 194 insertions, 0 deletions
diff --git a/ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml b/ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml
new file mode 100644
index 000000000..164106f7f
--- /dev/null
+++ b/ansible_collections/dellemc/unity/playbooks/modules/snapshot.yml
@@ -0,0 +1,194 @@
+---
+- name: Snapshot Module Operations in Unity
+ hosts: localhost
+ connection: local
+ vars:
+ unispherehost: '10.*.*.*'
+ validate_certs: false
+ username: 'admin'
+ password: 'Password123!'
+ cg_snapshot_name: "ansible_snap_cg_1_1"
+ vol_snapshot_name: "ansible_snap_lun_4_2"
+ vol_name: "ansible_snap_lun_4"
+ cg_name: "ansible_snap_cg_1"
+ description: "Created using playbook"
+ new_description: "modified description using playbook"
+ host_name: "ansible_snap_host"
+ expiry_time: "04/15/2021 2:30"
+ new_expiry_time: "04/10/2021 2:30"
+ new_snapshot_name: "new_ansible_snap_lun_4_2"
+
+ tasks:
+ - name: Create a Snapshot for a CG
+ register: result
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ cg_name: "{{ cg_name }}"
+ snapshot_name: "{{ cg_snapshot_name }}"
+ description: "{{ description }}"
+ auto_delete: false
+ state: "present"
+
+ - name: Set snapshot id
+ ansible.builtin.set_fact:
+ cg_snapshot_id: "{{ result.snapshot_details.id }}"
+
+ - name: Create a Snapshot for a CG Idempotency
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ cg_name: "{{ cg_name }}"
+ snapshot_name: "{{ cg_snapshot_name }}"
+ description: "{{ description }}"
+ auto_delete: false
+ state: "present"
+
+ - name: Create a Snapshot for a LUN with Host attached.
+ register: result
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ vol_name: "{{ vol_name }}"
+ snapshot_name: "{{ vol_snapshot_name }}"
+ expiry_time: "{{ expiry_time }}"
+ description: "{{ description }}"
+ host_name: "{{ host_name }}"
+ host_state: "mapped"
+ state: "present"
+
+ - name: Set snapshot id
+ ansible.builtin.set_fact:
+ vol_snapshot_id: "{{ result.snapshot_details.id }}"
+
+ - name: Create a Snapshot for a LUN with Host attached Idempotency.
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ vol_name: "{{ vol_name }}"
+ snapshot_name: "{{ vol_snapshot_name }}"
+ expiry_time: "{{ expiry_time }}"
+ description: "{{ description }}"
+ host_name: "{{ host_name }}"
+ host_state: "mapped"
+ state: "present"
+
+ - name: Unmap a host for a Snapshot using Id
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ snapshot_id: "{{ vol_snapshot_id }}"
+ host_name: "{{ host_name }}"
+ host_state: "unmapped"
+ state: "present"
+
+ - name: Unmap a host for a Snapshot Idempotency case
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ snapshot_name: "{{ vol_snapshot_name }}"
+ host_name: "{{ host_name }}"
+ host_state: "unmapped"
+ state: "present"
+
+ - name: Map snapshot to a host using Id
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ snapshot_id: "{{ vol_snapshot_id }}"
+ host_name: "{{ host_name }}"
+ host_state: "mapped"
+ state: "present"
+
+ - name: Get Snapshot Details using Id
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_id: "{{ cg_snapshot_id }}"
+ state: "present"
+
+ - name: Update attributes of a Snapshot for a LUN using Id
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_id: "{{ vol_snapshot_id }}"
+ new_snapshot_name: "{{ new_snapshot_name }}"
+ expiry_time: "{{ new_expiry_time }}"
+ description: "{{ new_description }}"
+ host_name: "{{ host_name }}"
+ host_state: "unmapped"
+ state: "present"
+
+ - name: Update attributes of a Snapshot for a LUN Idempotency case
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_name: "{{ new_snapshot_name }}"
+ expiry_time: "{{ new_expiry_time }}"
+ description: "{{ new_description }}"
+ host_name: "{{ host_name }}"
+ host_state: "unmapped"
+ state: "present"
+
+ - name: Delete Snapshot of CG.
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_name: "{{ cg_snapshot_name }}"
+ state: "absent"
+
+ - name: Delete Snapshot of CG using Id Idempotency case.
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_id: "{{ cg_snapshot_id }}"
+ state: "absent"
+
+ - name: Delete Snapshot of volume.
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_name: "{{ new_snapshot_name }}"
+ state: "absent"
+
+ - name: Delete Snapshot of volume Idempotency.
+ dellemc.unity.snapshot:
+ unispherehost: "{{ unispherehost }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ snapshot_name: "{{ new_snapshot_name }}"
+ state: "absent"