ansible.builtin.vmware_guest_tools_wait (v2.9.24) — module

Wait for VMware tools to become available

| "added in version" 2.4 of ansible.builtin"

Authors: Philippe Dellaert (@pdellaert) <philippe@dellaert.org>

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.24

Description

This module can be used to wait for VMware tools to become available on the given VM and return facts.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait for VMware tools to become available by 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get UUID from previous task and pass it to this task
  vmware_guest_tools_wait:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    uuid: "{{ vm_facts.instance.hw_product_uuid }}"
  delegate_to: localhost
  register: facts
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: Wait for VMware tools to become available by MoID
  vmware_guest_tools_wait:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    moid: vm-42
  delegate_to: localhost
  register: facts
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait for VMware tools to become available by name
  vmware_guest_tools_wait:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    name: test-vm
    folder: "/{{datacenter}}/vm"
  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 C(name) or C(uuid) is not supplied.
    type: str
    version_added: '2.9'
    version_added_collection: ansible.builtin

name:
    description:
    - Name of the VM for which to wait until the tools become available.
    - This is required if C(uuid) or C(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 C(VMWARE_PORT)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: int

uuid:
    description:
    - UUID of the VM  for which to wait until the tools become available, if known. This
      is VMware's unique identifier.
    - This is required, if C(name) or C(moid) is not supplied.
    type: str

folder:
    description:
    - Destination folder, absolute or relative path to find an existing guest.
    - This is required only, if multiple VMs with same C(name) is found.
    - The folder should include the datacenter. ESX's datacenter is C(ha-datacenter).
    - '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'
    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 C(VMWARE_HOST)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    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 C(VMWARE_PASSWORD)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    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 C(VMWARE_USER)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    type: str

name_match:
    choices:
    - first
    - last
    default: first
    description:
    - If multiple VMs match 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 C(VMWARE_PROXY_HOST)
      will be used instead.
    - This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
    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 C(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to C(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable C(VMWARE_VALIDATE_CERTS)
      will be used instead.
    - Environment variable support added in Ansible 2.6.
    - If set to C(true), please make sure Python >= 2.7.9 is installed on the given machine.
    type: bool

use_instance_uuid:
    default: false
    description:
    - Whether to use the VMware instance UUID rather than the BIOS UUID.
    type: bool
    version_added: '2.8'
    version_added_collection: ansible.builtin

Outputs

instance:
  description: metadata about the virtual machine
  returned: always
  sample: None
  type: dict