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

Create a screenshot of the Virtual Machine console.

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

Authors: Diane Wang (@Tomorrow9) <dianew@vmware.com>

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.24

Description

This module is used to take screenshot of the given virtual machine when virtual machine is powered on.

All parameters and VMware object names are case sensitive.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: take a screenshot of the virtual machine console
  vmware_guest_screenshot:
    validate_certs: no
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    folder: "{{ folder_name }}"
    name: "{{ vm_name }}"
    local_path: "/tmp/"
  delegate_to: localhost
  register: take_screenshot
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Take a screenshot of the virtual machine console using MoID
  vmware_guest_screenshot:
    validate_certs: no
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    folder: "{{ folder_name }}"
    moid: vm-42
    local_path: "/tmp/"
  delegate_to: localhost
  register: take_screenshot

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 virtual machine.
    - This is a required parameter, if parameter 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 instance to gather facts if known, this is VMware's unique identifier.
    - This is a required parameter, if parameter 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 a required parameter, only if multiple VMs are found with same name.
    - The folder should include the datacenter. ESXi server'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

cluster:
    description:
    - The name of cluster where the virtual machine is running.
    - This is a required parameter, if C(esxi_hostname) is not set.
    - C(esxi_hostname) and C(cluster) are mutually exclusive parameters.
    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

datacenter:
    description:
    - The datacenter name to which virtual machine belongs to.
    type: str

local_path:
    description:
    - If C(local_path) is not set, the created screenshot file will be kept in the directory
      of the virtual machine on ESXi host. If C(local_path) is set to a valid path on
      local machine, then the screenshot file will be downloaded from ESXi host to the
      local directory.
    - If not download screenshot file to local machine, you can open it through the returned
      file URL in screenshot facts manually.
    type: path

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

esxi_hostname:
    description:
    - The ESXi hostname where the virtual machine is running.
    - This is a required parameter, if C(cluster) is not set.
    - C(esxi_hostname) and C(cluster) are mutually exclusive parameters.
    type: str

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

Outputs

screenshot_info:
  description: display the facts of captured virtual machine screenshot file
  returned: always
  sample:
    download_file_size: 2367
    download_local_path: /tmp/
    result: success
    screenshot_file: '[datastore0] test_vm/test_vm-1.png'
    screenshot_file_url: https://test_vcenter/folder/test_vm/test_vm-1.png?dcPath=test-dc&dsName=datastore0
    task_complete_time: '2019-05-25T10:35:04.412622Z'
    task_start_time: '2019-05-25T10:35:04.215016Z'
    virtual_machine: test_vm
  type: dict