vmware.vmware.vm_powerstate module – Manages power states of virtual machines in vCenter
Note
This module is part of the vmware.vmware collection (version 1.11.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install vmware.vmware
.
To use it in a playbook, specify: vmware.vmware.vm_powerstate
.
Synopsis
Manages power states of virtual machines in vCenter, e.g., Power on / Power off / Restart.
Parameters
Parameter |
Comments |
---|---|
The datacenter where the VM you’d like to operate the power. |
|
Destination folder, absolute or relative path to find an existing guest. Should be the full folder path, with or without the ‘datacenter/vm/’ prefix For example ‘datacenter_name/vm/path/to/folder’ or ‘path/to/folder’ |
|
Ignore warnings and complete the actions. This parameter is useful while forcing virtual machine state. Choices:
|
|
The hostname or IP address of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
Name of the virtual machine to work with. Virtual machine names in vCenter are not necessarily unique, which may be problematic, see |
|
If multiple virtual machines matching the name, use the first or last found. Choices:
|
|
The password of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
The port number of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable Default: |
|
The 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 |
|
The 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 |
|
A list of questions to answer, should one or more arise while waiting for the task to complete. Some common uses are to allow a cdrom to be changed even if locked, or to answer the question as to whether a VM was copied or moved. Can be used if |
|
The message id, for example |
|
The choice key, for example |
|
Date and time in string format at which specified task needs to be performed. The required format for date and time - ‘dd/mm/yyyy hh:mm’. Scheduling task requires vCenter server. A standalone ESXi server does not support this option. |
|
Description of scheduled task. Valid only if |
|
Flag to indicate whether the scheduled task is enabled or disabled. Choices:
|
|
Name of scheduled task. Valid only if |
|
Set the state of the virtual machine. Choices:
|
|
If this argument is set to a positive integer, the module will wait for the VM to reach the poweredoff state. The value sets a timeout in seconds for the module to wait for the state change. Can not be used if Default: |
|
Whether to use the VMware instance UUID rather than the BIOS UUID. Choices:
|
|
The username of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
Allows connection when SSL certificates are not valid. Set to If the value is not specified in the task, the value of environment variable Choices:
|
Notes
Note
All modules require API write access and hence are not supported on a free ESXi license.
All variables and VMware object names are case sensitive.
Modules may rely on the ‘requests’ python library, which does not use the system certificate store by default. You can specify the certificate store by setting the REQUESTS_CA_BUNDLE environment variable. Example: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’
Examples
- name: Set the state of a virtual machine to poweroff
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
folder: "/{{ datacenter_name }}/vm/my_folder"
name: "{{ guest_name }}"
state: powered-off
register: deploy
- name: Set the state of a virtual machine to poweron using MoID
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
folder: "/{{ datacenter_name }}/vm/my_folder"
moid: vm-42
state: powered-on
register: deploy
- name: Set the state of a virtual machine to poweroff at given scheduled time
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
folder: "/{{ datacenter_name }}/vm/my_folder"
name: "{{ guest_name }}"
state: powered-off
scheduled_at: "09/01/2018 10:18"
scheduled_task_name: "task_00001"
scheduled_task_description: "Sample task to poweroff VM"
scheduled_task_enabled: true
register: deploy_at_scheduled_datetime
- name: Wait for the virtual machine to shutdown
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
name: "{{ guest_name }}"
state: shutdown-guest
register: deploy
- name: Automatically answer if a question locked a virtual machine
block:
- name: Power on a virtual machine without the answer param
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
validate_certs: false
folder: "{{ f1 }}"
name: "{{ vm_name }}"
state: powered-on
rescue:
- name: Power on a virtual machine with the answer param
vmware.vmware.vm_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vm_datacenter }}"
validate_certs: false
folder: "{{ f1 }}"
name: "{{ vm_name }}"
question_answers:
- question: "msg.uuid.altered"
response: "button.uuid.copiedTheVM"
state: powered-on
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Information about the target VM Returned: On success Sample: |