community.vmware.vmware_guest_powerstate – Manages power states of virtual machines in vCenter
Note
This plugin is part of the community.vmware collection (version 1.7.0).
To install it use: ansible-galaxy collection install community.vmware.
To use it in a playbook, specify: community.vmware.vmware_guest_powerstate.
Synopsis
- Power on / Power off / Restart a virtual machine.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - PyVmomi
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   folder    string    |    Destination folder, absolute or relative path to find an existing guest.  The folder should include the datacenter. ESX'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   |  |
|   force    boolean    |   
  |    Ignore warnings and complete the actions.  This parameter is useful while forcing virtual machine state.   |  
|   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.   |  |
|   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 to work with.  Virtual machine names in vCenter are not necessarily unique, which may be problematic, see   name_match. |  |
|   name_match    string    |   
  |    If multiple virtual machines matching the name, use the first or last found.   |  
|   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    |   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    |    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    |    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. |  |
|   schedule_task_description    string    |    Description of schedule task.  Valid only if   scheduled_at is specified. |  |
|   schedule_task_enabled    boolean    |   
  |    Flag to indicate whether the scheduled task is enabled or disabled.   |  
|   schedule_task_name    string    |    Name of schedule task.  Valid only if   scheduled_at is specified. |  |
|   scheduled_at    string    |    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.   |  |
|   state    string    |   
  |    Set the state of the virtual machine.   |  
|   state_change_timeout    integer    |   Default: 0   |    If the   state is set to shutdown-guest, by default the module will return immediately after sending the shutdown signal.If this argument is set to a positive integer, the module will instead 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.   |  
|   use_instance_uuid    boolean    |   
  |    Whether to use the VMware instance UUID rather than the BIOS UUID.   |  
|   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 manage if known, this is VMware's unique identifier.  This is required if   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   true, please make sure Python >= 2.7.9 is installed on the given machine. |  
Examples
- name: Set the state of a virtual machine to poweroff
  community.vmware.vmware_guest_powerstate:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: "/{{ datacenter_name }}/vm/my_folder"
    name: "{{ guest_name }}"
    state: powered-off
  delegate_to: localhost
  register: deploy
- name: Set the state of a virtual machine to poweron using MoID
  community.vmware.vmware_guest_powerstate:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: "/{{ datacenter_name }}/vm/my_folder"
    moid: vm-42
    state: powered-on
  delegate_to: localhost
  register: deploy
- name: Set the state of a virtual machine to poweroff at given scheduled time
  community.vmware.vmware_guest_powerstate:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: "/{{ datacenter_name }}/vm/my_folder"
    name: "{{ guest_name }}"
    state: powered-off
    scheduled_at: "09/01/2018 10:18"
    schedule_task_name: "task_00001"
    schedule_task_description: "Sample task to poweroff VM"
    schedule_task_enabled: True
  delegate_to: localhost
  register: deploy_at_schedule_datetime
- name: Wait for the virtual machine to shutdown
  community.vmware.vmware_guest_powerstate:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: "{{ guest_name }}"
    state: shutdown-guest
    state_change_timeout: 200
  delegate_to: localhost
  register: deploy
  Authors
- Abhijeet Kasurde (@Akasurde) <akasurde@redhat.com>
 
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/community/vmware/vmware_guest_powerstate_module.html