vmware.vmware_rest.vcenter_vm_power module – Operate a boot, hard shutdown, hard reset or hard suspend on a guest.
Note
This module is part of the vmware.vmware_rest collection (version 2.2.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_rest
.
To use it in a playbook, specify: vmware.vmware_rest.vcenter_vm_power
.
New in version 0.1.0: of vmware.vmware_rest
Synopsis
Ask the vCenter to boot, force shutdown or force reset a guest. If you want to do a soft shutdown or a soft reset, you can use vmware.vmware_rest.vmware_vm_guest_power instead.
Requirements
The below requirements are needed on the host that executes this module.
vSphere 7.0.2 or greater
python >= 3.6
aiohttp
Parameters
Parameter |
Comments |
---|---|
Timeout settings for client session. The maximal number of seconds for the whole operation including connection establishment, request sending and response. The default value is 300s. |
|
Choices:
|
|
The hostname or IP address of the vSphere vCenter If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter password If the value is not specified in the task, the value of environment variable |
|
You can use this optional parameter to set the location of a log file. This file will be used to record the HTTP REST interaction. The file will be stored on the host that run the module. If the value is not specified in the task, the value of environment variable |
|
The vSphere vCenter username 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:
|
|
Virtual machine identifier. This parameter is mandatory. |
See Also
See also
- vmware.vmware_rest.vcenter_vm_guest_power
Issues a request to the guest operating system asking it to perform a soft shutdown, standby (suspend) or soft reboot
Examples
- name: Look up the VM called test_vm1 in the inventory
register: search_result
vmware.vmware_rest.vcenter_vm_info:
filter_names:
- test_vm1
- name: Collect information about a specific VM
vmware.vmware_rest.vcenter_vm_info:
vm: '{{ search_result.value[0].vm }}'
register: test_vm1_info
- name: Turn the power of the VM on
vmware.vmware_rest.vcenter_vm_power:
state: start
vm: '{{ test_vm1_info.id }}'
- name: Collect the list of the existing VM
vmware.vmware_rest.vcenter_vm_info:
register: existing_vms
until: existing_vms is not failed
- name: Turn off the VM
vmware.vmware_rest.vcenter_vm_power:
state: stop
vm: '{{ item.vm }}'
with_items: '{{ existing_vms.value }}'
ignore_errors: yes
- name: Create a VM
vmware.vmware_rest.vcenter_vm:
placement:
cluster: "{{ lookup('vmware.vmware_rest.cluster_moid', '/my_dc/host/my_cluster')\
\ }}"
datastore: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/local')\
\ }}"
folder: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/vm') }}"
resource_pool: "{{ lookup('vmware.vmware_rest.resource_pool_moid', '/my_dc/host/my_cluster/Resources')\
\ }}"
name: test_vm1
guest_OS: RHEL_7_64
hardware_version: VMX_11
memory:
hot_add_enabled: true
size_MiB: 1024
disks:
- type: SATA
backing:
type: VMDK_FILE
vmdk_file: '[local] test_vm1/{{ disk_name }}.vmdk'
- type: SATA
new_vmdk:
name: second_disk
capacity: 32000000000
cdroms:
- type: SATA
sata:
bus: 0
unit: 2
nics:
- backing:
type: STANDARD_PORTGROUP
network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM\
\ Network') }}"
register: my_vm
- name: Turn on the power of the VM
vmware.vmware_rest.vcenter_vm_power:
state: start
vm: '{{ my_vm.id }}'
- name: Turn the power of the VM on
vmware.vmware_rest.vcenter_vm_power:
state: start
vm: '{{ my_vm.id }}'
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Turn off the VM Returned: On success Sample: “All items completed” |
|
Turn off the VM Returned: On success Sample: [{“_ansible_item_label”: {“cpu_count”: 1, “memory_size_MiB”: 128, “name”: “vCLS-a3e9f505-69fc-43d0-beed-c1a43d06184e”, “power_state”: “POWERED_OFF”, “vm”: “vm-1130”}, “_ansible_no_log”: null, “ansible_loop_var”: “item”, “changed”: 0, “failed”: 0, “invocation”: {“module_args”: {“session_timeout”: null, “state”: “stop”, “vcenter_hostname”: “vcenter.test”, “vcenter_password”: “VALUE_SPECIFIED_IN_NO_LOG_PARAMETER”, “vcenter_rest_log_file”: null, “vcenter_username”: “administrator@vsphere.local”, “vcenter_validate_certs”: 0, “vm”: “vm-1130”}}, “item”: {“cpu_count”: 1, “memory_size_MiB”: 128, “name”: “vCLS-a3e9f505-69fc-43d0-beed-c1a43d06184e”, “power_state”: “POWERED_OFF”, “vm”: “vm-1130”}, “value”: {“error_type”: “ALREADY_IN_DESIRED_STATE”, “messages”: [{“args”: [], “default_message”: “Virtual machine is already powered off.”, “id”: “com.vmware.api.vcenter.vm.power.already_powered_off”}, {“args”: [], “default_message”: “The attempted operation cannot be performed in the current state (Powered off).”, “id”: “vmsg.InvalidPowerState.summary”}]}}, {“_ansible_item_label”: {“cpu_count”: 1, “memory_size_MiB”: 1024, “name”: “test_vm1”, “power_state”: “POWERED_OFF”, “vm”: “vm-1131”}, “_ansible_no_log”: null, “ansible_loop_var”: “item”, “changed”: 0, “failed”: 0, “invocation”: {“module_args”: {“session_timeout”: null, “state”: “stop”, “vcenter_hostname”: “vcenter.test”, “vcenter_password”: “VALUE_SPECIFIED_IN_NO_LOG_PARAMETER”, “vcenter_rest_log_file”: null, “vcenter_username”: “administrator@vsphere.local”, “vcenter_validate_certs”: 0, “vm”: “vm-1131”}}, “item”: {“cpu_count”: 1, “memory_size_MiB”: 1024, “name”: “test_vm1”, “power_state”: “POWERED_OFF”, “vm”: “vm-1131”}, “value”: {“error_type”: “ALREADY_IN_DESIRED_STATE”, “messages”: [{“args”: [], “default_message”: “Virtual machine is already powered off.”, “id”: “com.vmware.api.vcenter.vm.power.already_powered_off”}, {“args”: [], “default_message”: “The attempted operation cannot be performed in the current state (Powered off).”, “id”: “vmsg.InvalidPowerState.summary”}]}}, {“_ansible_item_label”: {“cpu_count”: 1, “memory_size_MiB”: 1024, “name”: “foobar2002”, “power_state”: “POWERED_OFF”, “vm”: “vm-1134”}, “_ansible_no_log”: null, “ansible_loop_var”: “item”, “changed”: 0, “failed”: 0, “invocation”: {“module_args”: {“session_timeout”: null, “state”: “stop”, “vcenter_hostname”: “vcenter.test”, “vcenter_password”: “VALUE_SPECIFIED_IN_NO_LOG_PARAMETER”, “vcenter_rest_log_file”: null, “vcenter_username”: “administrator@vsphere.local”, “vcenter_validate_certs”: 0, “vm”: “vm-1134”}}, “item”: {“cpu_count”: 1, “memory_size_MiB”: 1024, “name”: “foobar2002”, “power_state”: “POWERED_OFF”, “vm”: “vm-1134”}, “value”: {“error_type”: “ALREADY_IN_DESIRED_STATE”, “messages”: [{“args”: [], “default_message”: “Virtual machine is already powered off.”, “id”: “com.vmware.api.vcenter.vm.power.already_powered_off”}, {“args”: [], “default_message”: “The attempted operation cannot be performed in the current state (Powered off).”, “id”: “vmsg.InvalidPowerState.summary”}]}}] |
Authors
Ansible Cloud Team (@ansible-collections)