---
title: Vmware Guest Powerstate
slug: homologacao-atmosphere/vmware-guest-powerstate
description: Learn how to control the power state of your virtual machines with the "vmware_guest_powerstate" module. This comprehensive document outlines the parameters and subparameters available, such as answering questions, specifying datacenter and folder, forcin
docTags: 
createdAt: 2021-12-10T12:28:09.000Z
---

## Sinopse

- Ligar / Desligar/ Restartar uma virutal machine.

## Parâmetros

| **Parâmetro**               | **Tipo**                                     | **Escolhas \|&#x20;*****Valor Padrão***                                                             | **Comentários**                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| --------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| answer                      | list / elements=dictionary<br /><br /><br /> |                                                                                                     | Uma list de questẽs e respostas, uma ou mais devem aparecer equanto espera pela task ser completada. Alguns usos comuns deve permitir um cdrom a ser mudado mesmo se travado, ou para responder a questão se a VM foi copiada ou movida. A resposta pode ser usada se `state` está em `powered-on.`                                                                                                                                                                              |
| datacenter                  | string                                       | - ***ha-datacenter***                                                                               | O `datacenter` onde a VM que você gostaria de operar o power. Esse parâmetro é case sensitive.                                                                                                                                                                                                                                                                                                                                                                                   |
| folder <br />               | string                                       |                                                                                                     | Pasta de destino, absoluto ou relativo camino para encontrar o guest. A pasta deve incluir o datacenter. Datacenter do ESX e ha-datacenter.<br />Exemplos: <br />folder: /ha-datacenter/vm<br />folder: ha-datacenter/vm<br />folder: /datacenter1/vm<br />folder: datacenter1/vm<br />folder: /datacenter1/vm/folder1<br />folder: datacenter1/vm/folder1<br />folder: /folder1/datacenter1/vm<br />folder: folder1/datacenter1/vm<br />folder: /folder1/datacenter1/vm/folder2 |
| force                       | boolean                                      | * ***no***
* yes                                                                                    | Ignore os avisos e complete as ações. Esse parâmetro é útil enquanto forçar o state da VM.                                                                                                                                                                                                                                                                                                                                                                                       |
| moid                        | integer                                      | ******                                                                                              | Objeto ID gerenciado na instancia de gerenciar se conhecido, esse é um identificador unico somente dentro de uma vCenter instanciada. Este é requerido se  `name` ou `uuid` não é fornecido.                                                                                                                                                                                                                                                                                     |
| name                        | string                                       |                                                                                                     | Nome da VM para ser gerenciada. Os nomes das VMs no vCenter não são necessáriamente unicos, isso pode ser problemático. veja`name_match`.                                                                                                                                                                                                                                                                                                                                        |
| name\_match                 | string                                       | - ***first***
- last                                                                                | Se multiplas VMs tem o mesmo nome, use a primeira ou a ultima encontrada.                                                                                                                                                                                                                                                                                                                                                                                                        |
| schedule\_task\_description | string                                       |                                                                                                     | Descrição de uma task agendada. Valido somente se `scheduled_at` é especificado.                                                                                                                                                                                                                                                                                                                                                                                                 |
| schedule\_task\_enabled     | boolean                                      | * ***yes***
* no                                                                                    | Flag para indicar se a task agendada está enabled ou disabled.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| schedule\_task\_name        | string                                       |                                                                                                     | Nome da task agendada. Valido somente se`scheduled_at` é especificada.                                                                                                                                                                                                                                                                                                                                                                                                           |
| scheduled\_at               | string                                       |                                                                                                     | Data e hora em formato de string com uma task especificada que precisa ser feita. O format requerido para data e hora é: 'dd/mm/yyyy hh\:mm'. Agendar uma task requere  um server vCenter. Um server ESXi não suporta essa opção.                                                                                                                                                                                                                                                |
| state                       | string                                       | - powered-off
- powered-on
- reboot-guest
- restarted
- shutdown-guest
- suspended
- ***present***  | O estado da virtual machine.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| state\_change\_timeout      | boolean                                      | ***0***                                                                                             | Se o `state` é setad para `shutdown-guest`,<br />por padrão o módulo irá retornara imediatamente depois de mandar um sinal para desligar. Se esse argumento está setado para um interger positivo, como alternativa o módulo irá esperar pela VM estar no poweroff state. Os valores setam um tempo em seguntos para o módulo esperar pela mudança do `state`                                                                                                                    |
| use\_instance\_uuid         | string                                       | * ***no***
* yes                                                                                    | Usar ou não usar a instancia UUID da VMware ao invez da BIOS UUID.                                                                                                                                                                                                                                                                                                                                                                                                               |
| uuid                        | string                                       |                                                                                                     | UUID da instancia a ser gerenciada se conhecida, esse é o idenficador unico da VMware. Este é requerido se `name` ou`moid` não for fornecido.                                                                                                                                                                                                                                                                                                                                    |

## Subparâmetros de Answer

| **Parâmetro** | **Tipo** | **Escolhas \|&#x20;*****Valor Padrão*** | **Comentários**                                        |
| ------------- | -------- | --------------------------------------- | ------------------------------------------------------ |
| question      | string   |                                         | A mensagem id, por exemplo: `msg.uuid.altered.n`.      |
| response      | string   |                                         | A escolha key, por exemplo: `button.uuid.copiedTheVM`. |

## Notas

- Todos os módulos requerem acesso de gravação API e, portanto, não são suportados em uma licença ESXi gratuita.

## Exemplos

```yaml
- 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

- name: Automatically answer if a question locked a virtual machine
  block:
    - name: Power on a virtual machine without the answer param
      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
      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
```

