infinidat.infinibox.infini_export – Create, Delete or Modify NFS Exports on Infinibox
Note
This plugin is part of the infinidat.infinibox collection (version 1.2.4).
To install it use: ansible-galaxy collection install infinidat.infinibox
.
To use it in a playbook, specify: infinidat.infinibox.infini_export
.
New in version 2.3: of infinidat.infinibox
Synopsis
- This module creates, deletes or modifies NFS exports on Infinibox.
Requirements
The below requirements are needed on the host that executes this module.
- infinisdk (https://infinisdk.readthedocs.io/en/latest/)
- munch
- python2 >= 2.7 or python3 >= 3.6
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
client_list string | Default: "All Hosts(*), RW, no_root_squash: True" | List of dictionaries with client entries. See examples. Check infini_export_client module to modify individual NFS client entries for export. |
filesystem string / required | Name of exported file system. | |
name string / required | Export name. Must start with a forward slash, e.g. name=/data. | |
password string | Infinibox User password. | |
state string |
| Creates/Modifies export when present, removes when absent, or provides export details with stat. |
system string / required | Infinibox Hostname or IPv4 Address. | |
user string | Infinibox User username with sufficient priveledges ( see notes ). |
Notes
Note
- This module requires infinisdk python library
- You must set INFINIBOX_USER and INFINIBOX_PASSWORD environment variables if user and password arguments are not passed to the module directly
- Ansible uses the infinisdk configuration file
~/.infinidat/infinisdk.ini
if no credentials are provided. See http://infinisdk.readthedocs.io/en/latest/getting_started.html - All Infinidat modules support check mode (–check). However, a dryrun that creates resources may fail if the resource dependencies are not met for a task. For example, consider a task that creates a volume in a pool. If the pool does not exist, the volume creation task will fail. It will fail even if there was a previous task in the playbook that would have created the pool but did not because the pool creation was also part of the dry run.
Examples
- name: Export bar filesystem under foo pool as /data infini_export: name: /data01 filesystem: foo state: present # Default user: admin password: secret system: ibox001 - name: Get status of export bar filesystem under foo pool as /data infini_export: name: /data01 filesystem: foo state: stat user: admin password: secret system: ibox001 - name: Remove export bar filesystem under foo pool as /data infini_export: name: /data01 filesystem: foo state: absent user: admin password: secret system: ibox001 - name: Export and specify client list explicitly infini_export: name: /data02 filesystem: foo client_list: - client: 192.168.0.2 access: RW no_root_squash: True - client: 192.168.0.100 access: RO no_root_squash: False - client: 192.168.0.10-192.168.0.20 access: RO no_root_squash: False system: ibox001 user: admin password: secret
Authors
- Gregory Shulov (@GR360RY)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/infinidat/infinibox/infini_export_module.html