vmware_guest_move - Moves virtual machines in vCenter¶
New in version 2.7.
Synopsis¶
- This module can be used to move virtual machines between folders.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
datacenter
required |
Destination datacenter for the move operation
|
|
dest_folder
required |
Absolute path to move an existing guest
The dest_folder should include the datacenter. ESX's datacenter is ha-datacenter.
This parameter is case sensitive.
Examples:
dest_folder: /ha-datacenter/vm
dest_folder: ha-datacenter/vm
dest_folder: /datacenter1/vm
dest_folder: datacenter1/vm
dest_folder: /datacenter1/vm/folder1
dest_folder: datacenter1/vm/folder1
dest_folder: /folder1/datacenter1/vm
dest_folder: folder1/datacenter1/vm
dest_folder: /folder1/datacenter1/vm/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.
|
|
name |
Name of the existing virtual machine to move.
This is required if
UUID is not supplied. |
|
name_match |
|
If multiple virtual machines matching the name, use the first or last found.
|
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 |
|
uuid |
UUID of the virtual machine to manage if known, this is VMware's unique identifier.
This is required if
name is not supplied. |
|
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. |
Examples¶
- name: Move Virtual Machine
vmware_guest_move:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: datacenter
validate_certs: no
name: testvm-1
dest_folder: /"{{ datacenter }}"/vm
delegate_to: localhost
- name: Get VM UUID
vmware_guest_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ datacenter }}"
folder: /"{{datacenter}}"/vm
name: "{{ vm_name }}"
delegate_to: localhost
register: vm_facts
- name: Get UUID from previous task and pass it to this task
vmware_guest_move:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ datacenter }}"
uuid: "{{ vm_facts.instance.hw_product_uuid }}"
dest_folder: "/DataCenter/vm/path/to/new/folder/where/we/want"
delegate_to: localhost
register: facts
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
instance
dict
|
always |
metadata about the virtual machine
Sample:
{'hw_esxi_host': 'DC0_H0', 'hw_power_status': 'poweredOn', 'hw_is_template': False, 'module_hw': True, 'ipv6': None, 'guest_consolidation_needed': False, 'snapshots': [], 'guest_question': None, 'hw_interfaces': ['eth0'], 'hw_guest_id': 'otherGuest', 'current_snapshot': None, 'hw_memtotal_mb': 32, 'hw_guest_full_name': None, 'hw_name': 'DC0_H0_VM0', 'guest_tools_version': '0', 'hw_folder': '/F0/DC0/vm/F0', 'annotation': None, 'instance_uuid': '8bcb0b6e-3a7d-4513-bf6a-051d15344352', 'hw_processor_count': 1, 'customvalues': {}, 'hw_cores_per_socket': 1, 'hw_files': ['[LocalDS_0] DC0_H0_VM0/DC0_H0_VM0.vmx'], 'hw_datastores': ['LocalDS_0'], 'guest_tools_status': None, 'ipv4': None, 'hw_guest_ha_state': None, 'hw_eth0': {'macaddress': '00:0c:29:6b:34:2c', 'addresstype': 'generated', 'ipaddresses': None, 'macaddress_dash': '00-0c-29-6b-34-2c', 'label': 'ethernet-0', 'summary': 'DVSwitch: 43cdd1db-1ef7-4016-9bbe-d96395616199'}, 'hw_product_uuid': '581c2808-64fb-45ee-871f-6a745525cb29'}
|
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¶
- Jose Angel Munoz (@imjoseangel)
Hint
If you notice any issues in this documentation you can edit this document to improve it.