vmware_guest_file_operation - Files operation in a VMware guest operating system without network¶
New in version 2.5.
Synopsis¶
- Module to copy a file to a VM, fetch a file from a VM and create or delete a directory in the guest OS.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
- requests
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
cluster |
The cluster hosting the virtual machine.
If set, it will help to speed up virtual machine search.
|
|
copy |
Copy file to vm without requiring network.
Valid attributes are:
src: file source absolute or relative
dest: file destination, path must be exist
overwrite: False or True (not required, default False)
|
|
datacenter |
The datacenter hosting the virtual machine.
If set, it will help to speed up virtual machine search.
|
|
directory |
Create or delete directory.
Valid attributes are:
path: directory path to create or remove
operation: Valid values are create, delete
recurse (boolean): Not required, default (false)
|
|
fetch
(added in 2.5) |
Get file from virtual machine without requiring network.
Valid attributes are:
src: The file on the remote system to fetch. This must be a file, not a directory
dest: file destination on localhost, path must be exist
|
|
folder |
Destination folder, absolute path to find an existing guest or create the new guest.
The folder should include the datacenter. ESX's datacenter is ha-datacenter
Used only if
vm_id_type is inventory_path .Examples:
folder: /ha-datacenter/vm
folder: ha-datacenter/vm
folder: /datacenter1/vm
folder: datacenter1/vm
folder: /datacenter1/vm/folder1
folder: datacenter1/vm/folder1
folder: /folder1/datacenter1/vm
folder: folder1/datacenter1/vm
folder: /folder1/datacenter1/vm/folder2
folder: vm/folder2
folder: folder2
|
|
hostname
str |
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 supported added in version 2.6.
|
|
password
str |
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 supported added in version 2.6.
aliases: pass, pwd |
|
port
int (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 supported added in version 2.6.
|
username
str |
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 supported added in version 2.6.
aliases: admin, user |
|
validate_certs
bool |
|
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 supported added in version 2.6.
If set to
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
vm_id
required |
Name of the virtual machine to work with.
|
|
vm_id_type |
|
The VMware identification method by which the virtual machine will be identified.
|
vm_password
required |
The password used to login-in to the virtual machine.
|
|
vm_username
required |
The user to login in to the virtual machine.
|
Notes¶
Note
- Tested on vSphere 6
- Only the first match against vm_id is used, even if there are multiple matches
Examples¶
- name: Create directory inside a vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
validate_certs: no
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
directory:
path: "/test"
operation: create
recurse: no
delegate_to: localhost
- name: copy file to vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
copy:
src: "files/test.zip"
dest: "/root/test.zip"
overwrite: False
delegate_to: localhost
- name: fetch file from vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
fetch:
src: "/root/test.zip"
dest: "files/test.zip"
delegate_to: localhost
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Stéphane Travassac (@stravassac)
Hint
If you notice any issues in this documentation you can edit this document to improve it.