community.vmware.vmware_guest_screenshot (4.2.0) — module

Create a screenshot of the Virtual Machine console.

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

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 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.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: take a screenshot of the virtual machine console
  community.vmware.vmware_guest_screenshot:
    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
  community.vmware.vmware_guest_screenshot:
    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 O(name) or O(uuid) is not supplied.
    type: str

name:
    description:
    - Name of the virtual machine.
    - This is a required parameter, if parameter 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 instance to gather facts if known, this is VMware's unique identifier.
    - This is a required parameter, if parameter 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 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 O(esxi_hostname) is not set.
    - O(esxi_hostname) and O(cluster) are mutually exclusive.
    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:
    - The datacenter name to which virtual machine belongs to.
    type: str

local_path:
    description:
    - If not set, the created screenshot file will be kept in the directory of the virtual
      machine on ESXi host. If 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 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

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

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