community.vmware.vmware_guest_info (4.2.0) — module

Gather info about a single VM

Authors: Loic Blot (@nerzhul) <loic.blot@unix-experience.fr>

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

Gather information about a single VM on a VMware ESX cluster.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Gather info from standalone ESXi server having datacenter as 'ha-datacenter'
  community.vmware.vmware_guest_info:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: ha-datacenter
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
  delegate_to: localhost
  register: info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Gather some info from a guest using the vSphere API output schema
  community.vmware.vmware_guest_info:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: "{{ vm_name }}"
    schema: "vsphere"
    properties: ["config.hardware.memoryMB", "guest.disk", "overallStatus"]
  delegate_to: localhost
  register: info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Gather some information about a guest using MoID
  community.vmware.vmware_guest_info:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    moid: vm-42
    schema: "vsphere"
    properties: ["config.hardware.memoryMB", "guest.disk", "overallStatus"]
  delegate_to: localhost
  register: vm_moid_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Gather Managed object ID (moid) from a guest using the vSphere API output schema for REST Calls
  community.vmware.vmware_guest_info:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: "{{ vm_name }}"
    schema: "vsphere"
    properties:
      - _moId
  delegate_to: localhost
  register: moid_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Gather detailed information about tags and category associated with the given VM
  community.vmware.vmware_guest_info:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: "{{ vm_name }}"
    tags: true
    tag_details: true
  register: detailed_tag_info

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 VM to work with
    - 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

tags:
    default: false
    description:
    - Whether to show tags or not.
    - If set V(true), shows tags information. Returns a list of tag names.
    - If set V(false), hides tags information.
    - vSphere Automation SDK is required.
    type: bool

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

folder:
    description:
    - Destination folder, absolute or relative path to find an existing guest.
    - This is required if O(name) is supplied.
    - The folder should include the datacenter. ESX's datacenter is 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

schema:
    choices:
    - summary
    - vsphere
    default: summary
    description:
    - Specify the output schema desired.
    - The V(summary) output schema is the legacy output from the module
    - The V(vsphere) output schema is the vSphere API class definition which requires
      pyvmomi>6.7.1
    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 deploy operation
    required: true
    type: str

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

properties:
    description:
    - Specify the properties to retrieve.
    - If not specified, all properties are retrieved (deeply).
    - Results are returned in a structure identical to the vsphere API.
    - 'Example:'
    - '   properties: ['
    - '      "config.hardware.memoryMB",'
    - '      "config.hardware.numCPU",'
    - '      "guest.disk",'
    - '      "overallStatus"'
    - '   ]'
    - Only valid when O(schema=vsphere).
    elements: str
    required: false
    type: list

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

tag_details:
    default: false
    description:
    - If set V(true), detail information about tags returned.
    - Without this flag, O(tags=true) returns a list of tag names.
    - With this flag, O(tags=true) returns a list of dict about tag information with additional
      details like category name, category id, and tag id.
    - This parameter is added to maintain backward compatability.
    type: bool

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:
    advanced_settings: {}
    annotation: ''
    current_snapshot: null
    customvalues: {}
    guest_consolidation_needed: false
    guest_question: null
    guest_tools_status: guestToolsNotRunning
    guest_tools_version: '10247'
    hw_cores_per_socket: 1
    hw_datastores:
    - ds_226_3
    hw_esxi_host: 10.76.33.226
    hw_eth0:
      addresstype: assigned
      ipaddresses: null
      label: Network adapter 1
      macaddress: 00:50:56:87:a5:9a
      macaddress_dash: 00-50-56-87-a5-9a
      portgroup_key: null
      portgroup_portkey: null
      summary: VM Network
    hw_files:
    - '[ds_226_3] ubuntu_t/ubuntu_t.vmx'
    - '[ds_226_3] ubuntu_t/ubuntu_t.nvram'
    - '[ds_226_3] ubuntu_t/ubuntu_t.vmsd'
    - '[ds_226_3] ubuntu_t/vmware.log'
    - '[ds_226_3] u0001/u0001.vmdk'
    hw_folder: /DC0/vm/Discovered virtual machine
    hw_guest_full_name: null
    hw_guest_ha_state: null
    hw_guest_id: null
    hw_interfaces:
    - eth0
    hw_is_template: false
    hw_memtotal_mb: 1024
    hw_name: ubuntu_t
    hw_power_status: poweredOff
    hw_processor_count: 1
    hw_product_uuid: 4207072c-edd8-3bd5-64dc-903fd3a0db04
    hw_version: vmx-13
    instance_uuid: 5007769d-add3-1e12-f1fe-225ae2a07caf
    ipv4: null
    ipv6: null
    module_hw: true
    moid: vm-42
    snapshots: []
    tags:
    - backup
    vimref: vim.VirtualMachine:vm-42
    vnc: {}
  type: dict