infinidat.infinibox.infini_export – Create, Delete or Modify NFS Exports on Infinibox
Note
This plugin is part of the infinidat.infinibox collection (version 1.3.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
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
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 |
Comments |
---|---|
List of dictionaries with client entries. See examples. Check infini_export_client module to modify individual NFS client entries for export. Default: “All Hosts(*), RW, no_root_squash: True” |
|
Name of exported file system. |
|
Export name. Must start with a forward slash, e.g. name=/data. |
|
Infinibox User password. |
|
Creates/Modifies export when present, removes when absent, or provides export details with stat. Choices:
|
|
Infinibox Hostname or IPv4 Address. |
|
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.htmlAll 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)