community.vmware.vmware_guest_powerstate (4.2.0) — module

Manages power states of virtual machines in vCenter

Authors: Abhijeet Kasurde (@Akasurde) <akasurde@redhat.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

Power on / Power off / Restart a virtual machine.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Automatically answer if a question locked a virtual machine
  block:
    - name: Power on a virtual machine without the answer param
      community.vmware.vmware_guest_powerstate:
        hostname: "{{ esxi_hostname }}"
        username: "{{ esxi_username }}"
        password: "{{ esxi_password }}"
        validate_certs: false
        folder: "{{ f1 }}"
        name: "{{ vm_name }}"
        state: powered-on
  rescue:
    - name: Power on a virtual machine with the answer param
      community.vmware.vmware_guest_powerstate:
        hostname: "{{ esxi_hostname }}"
        username: "{{ esxi_username }}"
        password: "{{ esxi_password }}"
        validate_certs: false
        folder: "{{ f1 }}"
        name: "{{ vm_name }}"
        answer:
          - question: "msg.uuid.altered"
            response: "button.uuid.copiedTheVM"
        state: powered-on

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 to work with.
    - Virtual machine names in vCenter are not necessarily unique, which may be problematic,
      see O(name_match).
    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 manage if known, this is VMware's unique identifier.
    - This is required if O(name) or O(moid) is not supplied.
    type: str

force:
    default: false
    description:
    - Ignore warnings and complete the actions.
    - This parameter is useful while forcing virtual machine state.
    type: bool

state:
    choices:
    - powered-off
    - powered-on
    - reboot-guest
    - restarted
    - shutdown-guest
    - suspended
    - present
    default: present
    description:
    - Set the state of the virtual machine.
    type: str

answer:
    description:
    - 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 O(state=powered-on).
    elements: dict
    suboptions:
      question:
        description:
        - The message id, for example C(msg.uuid.altered).
        required: true
        type: str
      response:
        description:
        - The choice key, for example C(button.uuid.copiedTheVM).
        required: true
        type: str
    type: list

folder:
    description:
    - 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'
    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:
    default: ha-datacenter
    description:
    - The datacenter where the VM you'd like to operate the power.
    - This parameter is case sensitive.
    type: str

name_match:
    choices:
    - first
    - last
    default: first
    description:
    - If multiple virtual machines matching the name, use the first or last found.
    type: str

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

scheduled_at:
    description:
    - 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.
    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

use_instance_uuid:
    default: false
    description:
    - Whether to use the VMware instance UUID rather than the BIOS UUID.
    type: bool

schedule_task_name:
    description:
    - Name of schedule task.
    - Valid only if O(scheduled_at) is specified.
    required: false
    type: str

state_change_timeout:
    default: 0
    description:
    - If the O(state=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.
    type: int

schedule_task_enabled:
    default: true
    description:
    - Flag to indicate whether the scheduled task is enabled or disabled.
    required: false
    type: bool

schedule_task_description:
    description:
    - Description of schedule task.
    - Valid only if O(scheduled_at) is specified.
    required: false
    type: str