--- - name: SMB Share Module Operations in Unity hosts: localhost connection: local vars: unispherehost: '10.*.*.*' validate_certs: false username: 'user' password: '**' filesystem_name: "ansible_smb_share_fs" snapshot_name: "ansible_smb_share_snap" nas_server_name: "lglad071" description: "Share is created using playbook" new_description: "modified the description of share using playbook" fs_share_name: "ansible_share_2" snap_share_name: "ansible_share_21" tasks: - name: Create a SMB Share for Filesystem register: smb_result dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" path: "/" filesystem_name: "{{ filesystem_name }}" nas_server_name: "{{ nas_server_name }}" umask: "000" description: "Added description of filesystem SMB share during creation" offline_availability: "PROGRAMS" is_abe_enabled: true is_branch_cache_enabled: true is_continuous_availability_enabled: true is_encryption_enabled: true state: "present" - name: Set Snapshot SMB Share ID ansible.builtin.set_fact: fs_share_id: "{{ smb_result.smb_share_details.id }}" - name: Create a SMB Share for Filesystem Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" path: "/" filesystem_name: "{{ filesystem_name }}" nas_server_name: "{{ nas_server_name }}" umask: "000" description: "Added description of filesystem SMB share during creation" offline_availability: "PROGRAMS" is_abe_enabled: true is_branch_cache_enabled: true is_continuous_availability_enabled: true is_encryption_enabled: true state: "present" - name: Get SMB Share Details using Name dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" filesystem_id: "fs_65" state: "present" - name: Update the details of the SMB share dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" filesystem_id: "fs_65" umask: "777" description: "updated description of filesystem SMB share" offline_availability: "DOCUMENTS" is_abe_enabled: false is_branch_cache_enabled: false is_continuous_availability_enabled: false is_encryption_enabled: false state: "present" - name: Update the details of the SMB share Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" filesystem_id: "fs_65" umask: "777" description: "updated description of filesystem SMB share" offline_availability: "DOCUMENTS" is_abe_enabled: false is_branch_cache_enabled: false is_continuous_availability_enabled: false is_encryption_enabled: false state: "present" - name: Delete SMB share for Filesystem dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" filesystem_id: "fs_65" state: "absent" - name: Delete SMB share for Filesystem Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ fs_share_name }}" filesystem_id: "fs_65" state: "absent" # Snapshot Name and ID both are unique across Unity Array. # Hence, NAS Server is not required for Unique Identification of Snapshot. - name: Create a SMB Share for Snapshot register: smb_result dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" path: "/" snapshot_name: "{{ snapshot_name }}" umask: "000" description: "Added description of Snapshot SMB share during creation" offline_availability: "PROGRAMS" is_abe_enabled: true is_branch_cache_enabled: true is_continuous_availability_enabled: true is_encryption_enabled: true state: "present" - name: Set Snapshot SMB Share ID ansible.builtin.set_fact: snap_share_id: "{{ smb_result.smb_share_details.id }}" - name: Create a SMB Share for Snapshot Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" path: "/" snapshot_name: "{{ snapshot_name }}" umask: "000" description: "Added description of Snapshot SMB share during creation" offline_availability: "PROGRAMS" is_abe_enabled: true is_branch_cache_enabled: true is_continuous_availability_enabled: true is_encryption_enabled: true state: "present" - name: Get SMB Share Details using Name dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" snapshot_name: "{{ snapshot_name }}" state: "present" - name: Update the details of the SMB share dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" snapshot_name: "{{ snapshot_name }}" umask: "777" description: "updated description of snapshot's SMB share" offline_availability: "DOCUMENTS" is_abe_enabled: false is_branch_cache_enabled: false is_continuous_availability_enabled: false is_encryption_enabled: false state: "present" - name: Update the details of the SMB share Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" snapshot_name: "{{ snapshot_name }}" umask: "777" description: "updated description of snapshot's SMB share" offline_availability: "DOCUMENTS" is_abe_enabled: false is_branch_cache_enabled: false is_continuous_availability_enabled: false is_encryption_enabled: false state: "present" - name: Delete SMB share for Filesystem Snapshot dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_id: "{{ snap_share_id }}" state: "absent" - name: Delete SMB share for Filesystem Snapshot Idempotency dellemc.unity.smbshare: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" share_name: "{{ snap_share_name }}" snapshot_name: "{{ snapshot_name }}" state: "absent"