New in version 2.5.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
datacenter_name
-
|
Name of the datacenter to add the datastore.
The datacenter isn't used by the API to create a datastore.
Will be removed in 2.11.
|
|
datastore_name
-
/ required
|
Name of the datastore to add/remove.
|
|
datastore_type
-
/ required
|
|
Type of the datastore to configure (nfs/nfs41/vmfs).
|
esxi_hostname
-
/ required
|
ESXi hostname to manage the datastore.
|
|
hostname
string
|
The hostname or IP address of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6.
|
|
nfs_path
-
|
Resource path on NFS host.
Required if datastore type is set to
nfs /nfs41 and state is set to present , else unused. |
|
nfs_ro
boolean
|
|
ReadOnly or ReadWrite mount.
Unused if datastore type is not set to
nfs /nfs41 and state is not set to present . |
nfs_server
-
|
NFS host serving nfs datastore.
Required if datastore type is set to
nfs /nfs41 and state is set to present , else unused.Two or more servers can be defined if datastore type is set to
nfs41 |
|
password
string
|
The password of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6.
aliases: pass, pwd |
|
port
integer
added in 2.5 |
Default: 443
|
The port number of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6.
|
state
-
|
|
present: Mount datastore on host if datastore is absent else do nothing.
absent: Umount datastore if datastore is present else do nothing.
|
username
string
|
The username of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6.
aliases: admin, user |
|
validate_certs
boolean
|
|
Allows connection when SSL certificates are not valid. Set to
false when certificates are not trusted.If the value is not specified in the task, the value of environment variable
VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6.
If set to
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
vmfs_device_name
-
|
Name of the device to be used as VMFS datastore.
Required for VMFS datastore type and state is set to
present , else unused. |
|
vmfs_version
-
|
VMFS version to use for datastore creation.
Unused if datastore type is not set to
vmfs and state is not set to present . |
Note
- name: Mount VMFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
vmfs_device_name: 'naa.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
vmfs_version: 6
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
- name: Mount NFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
nfs_server: '{{ item.server }}'
nfs_path: '{{ item.path }}'
nfs_ro: no
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
loop:
- { 'name': 'NasDS_vol01', 'server': 'nas01', 'path': '/mnt/vol01', 'type': 'nfs'}
- { 'name': 'NasDS_vol02', 'server': 'nas01', 'path': '/mnt/vol02', 'type': 'nfs'}
- name: Mount NFS v4.1 datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
nfs_server: '{{ item.server }}'
nfs_path: '{{ item.path }}'
nfs_ro: no
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
loop:
- { 'name': 'NasDS_vol03', 'server': 'nas01,nas02', 'path': '/mnt/vol01', 'type': 'nfs41'}
- { 'name': 'NasDS_vol04', 'server': 'nas01,nas02', 'path': '/mnt/vol02', 'type': 'nfs41'}
- name: Remove/Umount Datastores from ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: NasDS_vol01
esxi_hostname: '{{ inventory_hostname }}'
state: absent
delegate_to: localhost
Hint
If you notice any issues in this documentation you can edit this document to improve it.