community.vmware.vmware_guest_move (4.2.0) — module

Moves virtual machines in vCenter

Authors: Jose Angel Munoz (@imjoseangel)

Install collection

Install with ansible-galaxy collection install community.vmware:==4.2.0


Add to requirements.yml

  collections:
    - name: community.vmware
      version: 4.2.0

Description

This module can be used to move virtual machines between folders.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Move Virtual Machine
  community.vmware.vmware_guest_move:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: datacenter
    name: testvm-1
    dest_folder: "/{{ datacenter }}/vm"
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Move Virtual Machine using MoID
  community.vmware.vmware_guest_move:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: datacenter
    moid: vm-42
    dest_folder: "/{{ datacenter }}/vm"
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get VM UUID
  vmware_guest_facts:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    folder: "/{{ datacenter }}/vm"
    name: "{{ vm_name }}"
  delegate_to: localhost
  register: vm_facts
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get UUID from previous task and pass it to this task
  community.vmware.vmware_guest_move:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    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

Inputs

    
moid:
    description:
    - Managed Object ID of the instance to manage if known, this is a unique identifier
      only within a single vCenter instance.
    - This is required if O(name) or O(uuid) is not supplied.
    type: str

name:
    description:
    - Name of the existing virtual machine to move.
    - This is required if O(uuid) or O(moid) is not supplied.
    type: str

port:
    default: 443
    description:
    - The port number of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PORT)
      will be used instead.
    type: int

uuid:
    description:
    - UUID of the virtual machine to manage if known, this is VMware's unique identifier.
    - This is required if O(name) or O(moid) is not supplied.
    type: str

hostname:
    description:
    - 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 E(VMWARE_HOST)
      will be used instead.
    type: str

password:
    aliases:
    - pass
    - pwd
    description:
    - The password of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PASSWORD)
      will be used instead.
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - The username of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_USER)
      will be used instead.
    type: str

datacenter:
    description:
    - Destination datacenter for the move operation
    required: true
    type: str

name_match:
    choices:
    - first
    - last
    default: first
    description:
    - If multiple virtual machines matching the name, use the first or last found.
    type: str

proxy_host:
    description:
    - Address of a proxy that will receive all HTTPS requests and relay them.
    - The format is a hostname or a IP.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PROXY_HOST)
      will be used instead.
    required: false
    type: str

proxy_port:
    description:
    - Port of the HTTP proxy that will receive all HTTPS requests and relay them.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

dest_folder:
    description:
    - 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'
    required: true
    type: str

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to V(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_VALIDATE_CERTS)
      will be used instead.
    type: bool

use_instance_uuid:
    default: false
    description:
    - Whether to use the VMware instance UUID rather than the BIOS UUID.
    type: bool

Outputs

instance:
  description: metadata about the virtual machine
  returned: always
  sample:
    annotation: null
    current_snapshot: null
    customvalues: {}
    guest_consolidation_needed: false
    guest_question: null
    guest_tools_status: null
    guest_tools_version: '0'
    hw_cores_per_socket: 1
    hw_datastores:
    - LocalDS_0
    hw_esxi_host: DC0_H0
    hw_eth0:
      addresstype: generated
      ipaddresses: null
      label: ethernet-0
      macaddress: 00:0c:29:6b:34:2c
      macaddress_dash: 00-0c-29-6b-34-2c
      summary: 'DVSwitch: 43cdd1db-1ef7-4016-9bbe-d96395616199'
    hw_files:
    - '[LocalDS_0] DC0_H0_VM0/DC0_H0_VM0.vmx'
    hw_folder: /F0/DC0/vm/F0
    hw_guest_full_name: null
    hw_guest_ha_state: null
    hw_guest_id: otherGuest
    hw_interfaces:
    - eth0
    hw_is_template: false
    hw_memtotal_mb: 32
    hw_name: DC0_H0_VM0
    hw_power_status: poweredOn
    hw_processor_count: 1
    hw_product_uuid: 581c2808-64fb-45ee-871f-6a745525cb29
    instance_uuid: 8bcb0b6e-3a7d-4513-bf6a-051d15344352
    ipv4: null
    ipv6: null
    module_hw: true
    snapshots: []
  type: dict