--- - name: NFS Share Module Operations on Unity hosts: localhost connection: local vars: unispherehost: '10.*.*.*' validate_certs: false username: 'user' password: '**' nfs_export_name_from_fs: 'ansible_nfs' nfs_export_name_from_snap: 'ansible_snap_nfs' filesystem_id: 'fs_377' filesystem_name: 'ansible_fs' nas_server_id: 'nas_3' nas_server_name: 'lglad071' snapshot_id: '171798692329' snapshot_name: 'ansible_fs_snap' description: 'Ansible Unity Module' anonymous_gid: 4294967290 anonymous_uid: 4294967290 host_id1: 'Host_12' host_id2: 'Host_14' host_id3: 'Host_31' host_id4: 'Host_63' host_name1: 'testlgl3' host_name2: 'testlgl2' host_name3: 'testlgl1' host_name4: 'test.lss.com' ip_address1: '10.*.*.*/24' ip_address2: 'fdfe:9042:c53d:0:250:56ff:fea2:5143' tasks: - name: Create nfs share from filesystem dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" path: '/' filesystem_id: "{{ filesystem_id }}" description: "{{ description }}" min_security: "SYS" default_access: "READ_ONLY" state: "present" register: result - name: Set nfs share ID created from filesystem ansible.builtin.set_fact: nfs_export_id_from_fs: "{{ result['nfs_share_details']['id'] }}" - name: Create nfs share from filesystem - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" path: '/' filesystem_name: "{{ filesystem_name }}" nas_server_id: "{{ nas_server_id }}" state: "present" register: result - name: Modify nfs share(fs) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_name: "{{ filesystem_name }}" nas_server_id: "{{ nas_server_id }}" description: "" default_access: "READ_ONLY_ROOT" anonymous_gid: "{{ anonymous_gid }}" anonymous_uid: "{{ anonymous_uid }}" state: "present" register: result - name: Modify nfs share(fs) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_name: "{{ filesystem_name }}" nas_server_id: "{{ nas_server_id }}" description: "" default_access: "READ_ONLY_ROOT" anonymous_gid: "{{ anonymous_gid }}" anonymous_uid: "{{ anonymous_uid }}" state: "present" register: result - name: Create nfs share from snapshot dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" path: '/' snapshot_name: "{{ snapshot_name }}" description: "{{ description }}" min_security: "SYS" default_access: "READ_ONLY" state: "present" register: result - name: Set nfs share ID created from snapshot ansible.builtin.set_fact: nfs_export_id_from_snap: "{{ result['nfs_share_details']['id'] }}" - name: Create nfs share from snapshot - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" path: '/' snapshot_id: "{{ snapshot_id }}" state: "present" register: result - name: Modify nfs share(snapshot) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_id: "{{ snapshot_id }}" description: '' default_access: "READ_ONLY_ROOT" anonymous_gid: "{{ anonymous_gid }}" anonymous_uid: "{{ anonymous_uid }}" state: "present" register: result - name: Modify nfs share(snapshot) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_id: "{{ snapshot_id }}" description: '' default_access: "READ_ONLY_ROOT" anonymous_gid: "{{ anonymous_gid }}" anonymous_uid: "{{ anonymous_uid }}" state: "present" register: result - name: Add host in nfs share(fs) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" read_only_root_hosts: - host_name: "{{ host_name1 }}" read_write_hosts: - host_name: "{{ host_name1 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" host_state: "present-in-export" state: "present" register: result - name: Add host in nfs share(fs) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" read_only_root_hosts: - host_name: "{{ host_name1 }}" read_write_hosts: - host_name: "{{ host_name1 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" host_state: "present-in-export" state: "present" register: result - name: Add more host in nfs share(fs) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "present-in-export" state: "present" register: result - name: Remove host in nfs share(fs) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "absent-in-export" state: "present" register: result - name: Remove host in nfs share(fs) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "absent-in-export" state: "present" register: result - name: Add host in nfs share(snapshot) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" read_only_root_hosts: - host_name: "{{ host_name1 }}" read_write_hosts: - host_name: "{{ host_name2 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" host_state: "present-in-export" state: "present" register: result - name: Add host in nfs share(snapshot) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" read_only_root_hosts: - host_name: "{{ host_name1 }}" read_write_hosts: - host_name: "{{ host_name2 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" host_state: "present-in-export" state: "present" register: result - name: Add more host in nfs share(snapshot) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "present-in-export" state: "present" register: result - name: Remove host in nfs share(snapshot) dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "absent-in-export" state: "present" register: result - name: Remove host in nfs share(snapshot) - idempotency dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" adv_host_mgmt_enabled: true no_access_hosts: - host_id: "{{ host_id1 }}" - host_name: "{{ host_name1 }}" read_only_hosts: - host_id: "{{ host_id2 }}" - host_id: "{{ host_id3 }}" read_only_root_hosts: - host_name: "{{ host_name2 }}" - host_name: "{{ host_name3 }}" read_write_hosts: - host_name: "{{ host_name4 }}" - host_id: "{{ host_id4 }}" read_write_root_hosts: - ip_address: "{{ ip_address1 }}" - ip_address: "{{ ip_address2 }}" host_state: "absent-in-export" state: "present" register: result - name: Get nfs details by nfs ID dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_id: "{{ nfs_export_id_from_fs }}" state: "present" register: result - name: Get nfs details by nfs name and filesystem ID dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_id: "{{ filesystem_id }}" state: "present" register: result - name: Get nfs details by nfs name, filesystem name & nas server ID dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_name: "{{ filesystem_name }}" nas_server_id: "{{ nas_server_id }}" state: "present" register: result - name: Get nfs details by nfs name, filesystem name & nas server name dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_name: "{{ filesystem_name }}" nas_server_name: "{{ nas_server_name }}" state: "present" register: result - name: Get nfs details by snapshot name dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_name: "{{ snapshot_name }}" state: "present" register: result - name: Get nfs details by snapshot ID dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_snap }}" snapshot_id: "{{ snapshot_id }}" state: "present" register: result - name: Delete nfs share by nfs ID dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_id: "{{ nfs_export_id_from_snap }}" state: "absent" register: result - name: Delete nfs share by nfs name dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "{{ nfs_export_name_from_fs }}" filesystem_name: "{{ filesystem_name }}" nas_server_name: "{{ nas_server_name }}" state: "absent" register: result - name: Add host in nfs share(fs) with adv_host_mgmt_enabled as false dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "csishare-csivol-346b60e518" filesystem_id: "fs_14267" adv_host_mgmt_enabled: false no_access_hosts: - domain: "google.com" read_only_hosts: - netgroup: "netgroup_admin" read_only_root_hosts: - host_name: "host5" read_write_hosts: - subnet: "10.*.*.*/255.255.255.0" read_write_root_hosts: - ip_address: "10.*.*.8" host_state: "present-in-export" state: "present" register: result - name: Remove host in nfs share(fs) with adv_host_mgmt_enabled as false dellemc.unity.nfs: unispherehost: "{{ unispherehost }}" username: "{{ username }}" password: "{{ password }}" validate_certs: "{{ validate_certs }}" nfs_export_name: "csishare-csivol-346b60e518" filesystem_id: "fs_14267" adv_host_mgmt_enabled: false no_access_hosts: - domain: "google.com" read_only_hosts: - netgroup: "netgroup_admin" read_only_root_hosts: - host_name: "host5" read_write_hosts: - subnet: "10.*.*.*/255.255.255.0" read_write_root_hosts: - ip_address: "10.*.*.*" host_state: "absent-in-export" state: "present" register: result