vmware_guest_sendkey – Send USB HID codes to the Virtual Machine’s keyboard¶
New in version 2.9.
Synopsis¶
- This module is used to send keystrokes to given virtual machine.
- All parameters and VMware object names are case sensitive.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
cluster
string
|
The name of cluster where the virtual machine is running.
This is a required parameter, if
esxi_hostname is not set.esxi_hostname and cluster are mutually exclusive parameters. |
|
datacenter
string
|
The datacenter name to which virtual machine belongs to.
|
|
esxi_hostname
string
|
The ESXi hostname where the virtual machine is running.
This is a required parameter, if
cluster is not set.esxi_hostname and cluster are mutually exclusive parameters. |
|
folder
string
|
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
|
|
hostname
string
|
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
VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6.
|
|
keys_send
list
|
The list of the keys will be sent to the virtual machine.
Valid values are
ENTER , ESC , BACKSPACE , TAB , SPACE , CAPSLOCK , DELETE , CTRL_ALT_DEL , CTRL_C and F1 to F12 , RIGHTARROW , LEFTARROW , DOWNARROW , UPARROW .If both
keys_send and string_send are specified, keys in keys_send list will be sent in front of the string_send . |
|
moid
string
|
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
name or uuid is not supplied. |
|
name
string
|
Name of the virtual machine.
This is a required parameter, if parameter
uuid or moid is not supplied. |
|
password
string
|
The password of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6.
aliases: pass, pwd |
|
port
integer
added in 2.5 |
Default: 443
|
The port number of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6.
|
proxy_host
string
added in 2.9 |
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
VMWARE_PROXY_HOST will be used instead.This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
|
|
proxy_port
integer
added in 2.9 |
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
VMWARE_PROXY_PORT will be used instead. |
|
string_send
string
|
The string will be sent to the virtual machine.
This string can contain valid special character, alphabet and digit on the keyboard.
|
|
username
string
|
The username of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6.
aliases: admin, user |
|
uuid
string
|
UUID of the instance to gather facts if known, this is VMware's unique identifier.
This is a required parameter, if parameter
name or moid is not supplied. |
|
validate_certs
boolean
|
|
Allows connection when SSL certificates are not valid. Set to
false when certificates are not trusted.If the value is not specified in the task, the value of environment variable
VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6.
If set to
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
Examples¶
- name: Send list of keys to virtual machine
vmware_guest_sendkey:
validate_certs: no
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "{{ folder_name }}"
name: "{{ vm_name }}"
keys_send:
- TAB
- TAB
- ENTER
delegate_to: localhost
register: keys_num_sent
- name: Send list of keys to virtual machine using MoID
vmware_guest_sendkey:
validate_certs: no
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "{{ folder_name }}"
moid: vm-42
keys_send:
- CTRL_ALT_DEL
delegate_to: localhost
register: ctrl_alt_del_sent
- name: Send a string to virtual machine
vmware_guest_sendkey:
validate_certs: no
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "{{ folder_name }}"
name: "{{ vm_name }}"
string_send: "user_logon"
delegate_to: localhost
register: keys_num_sent
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
sendkey_info
dictionary
|
always |
display the keys and the number of keys sent to the virtual machine
Sample:
{'virtual_machine': 'test_vm', 'keys_send': ['SPACE', 'DOWNARROW', 'DOWNARROW', 'ENTER'], 'string_send': None, 'keys_send_number': 4, 'returned_keys_send_number': 4}
|
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Diane Wang (@Tomorrow9) <dianew@vmware.com>
Hint
If you notice any issues in this documentation, you can edit this document to improve it.