How to Start a VMware vSphere Virtual Machine with Ansible?
I'm going to show you a live Playbook and some simple Ansible code.
I'm Luca Berton and welcome to today's episode of Ansible Pilot.
Ansible Start a VMware vSphere Virtual Machine
community.vmware.vmware_guest_powerstate
- Manages power states of virtual machines in vCenter
Let's talk about the Ansible module vmware_guest_powerstate.
The full name is community.vmware.vmware_guest_powerstate, which means that is part of the collection of modules to interact with VMware, community-supported.
Manages power states of virtual machines in vCenter.
Parameters
- hostname string / username string / password string / datacenter string / validate_certs boolean - connection details
- state string - present / powered-off / powered-on / reboot-guest / restarted / shutdown-guest / suspended
- force boolean - no/yes
- answer string - A list of questions to answer, should one or more arise while waiting for the task to be complete.
The following parameters are useful in order to Start a VMware vSphere Virtual Machine using the module vmware_guest_powerstate.
First of all, we need to establish the connection with VMware vSphere or VMware vCenter using a plethora of self-explicative parameters: hostname, username, password, datacenter, and validate_certs.
Once the connection is successfully established you could specify the desired power state, in this case, "powered-on".
You could also force the power state change using the force parameter, default disabled.
You could also specify the reply to some answer that could 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.
Links
- [community.vmware.vmware_guest_powerstate](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_powerstate_module.html)
## Playbook
How to Start a VMware vSphere Virtual Machine with Ansible.
I'm going to show you how to start the Virtual Machine named "myvm" from the power state "Powered Off" to the power state "Powered On" using Ansible Playbook.
code
- vm_start.yml
``yaml
---
- name: start vm Playbook
hosts: localhost
become: false
gather_facts: false
collections:
- community.vmware
pre_tasks:
- include_vars: vars.yml
tasks:
- name: power on
vmware_guest_powerstate:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: "{{ vm_name }}"
validate_certs: "{{ vcenter_validate_certs }}"
state: powered-on
`
- vars.yml
`yaml
---
vcenter_hostname: "vmware.example.com"
vcenter_datacenter: "vmwaredatacenter"
vcenter_validate_certs: false
vcenter_username: "[email protected]"
vcenter_password: "MySecretPassword123"
vm_name: "myvm"
`
- inventory
`ini
localhost
`
execution
``bas