vmware_host_datastore – Manage a datastore on ESXi host¶
New in version 2.5.
Synopsis¶
- This module can be used to mount/umount datastore on ESXi host.
- This module only support NFS/VMFS type of datastores.
- For VMFS datastore, available device must already be connected on ESXi host.
- All parameters and VMware object names are case sensitive.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
datacenter_name
-
/ required
|
Name of the datacenter to add the datastore.
|
|
datastore_name
-
/ required
|
Name of the datastore to add/remove.
|
|
datastore_type
-
/ required
|
|
Type of the datastore to configure (nfs/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 version 2.6.
|
|
nfs_path
-
|
Resource path on NFS host.
Required if datastore type is set to
nfs and state is set to present , else unused. |
|
nfs_ro
boolean
|
|
ReadOnly or ReadWrite mount.
Unused if datastore type is not set to
nfs and state is not set to present . |
nfs_server
-
|
NFS host serving nfs datastore.
Required if datastore type is set to
nfs and state is set to present , else unused. |
|
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 version 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 version 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 version 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 version 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 . |
Examples¶
- name: Mount VMFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter_name: '{{ datacenter }}'
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 }}'
datacenter_name: '{{ datacenter }}'
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
with_items:
- { 'name': 'NasDS_vol01', 'server': 'nas01', 'path': '/mnt/vol01', 'type': 'nfs'}
- { 'name': 'NasDS_vol02', 'server': 'nas01', 'path': '/mnt/vol02', 'type': 'nfs'}
- name: Remove/Umount Datastores from ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter_name: '{{ datacenter }}'
datastore_name: NasDS_vol01
esxi_hostname: '{{ inventory_hostname }}'
state: absent
delegate_to: localhost
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Ludovic Rivallain (@lrivallain) <ludovic.rivallain@gmail.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.