Loading...

Watch: Deploy a VMware vSphere Virtual Machine from a Template - Ansible module vmware_guest

How to automate the deployment of a virtual machine guest from “mytemplate” template using Ansible Playbook and vmware_guest module.

How to Deploy a VMware vSphere Virtual Machine from a Template 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 Deploy a VMware vSphere Virtual Machine from a Template

  • community.vmware.vmware_guest
  • Manages virtual machines in vCenter

Let's talk about the Ansible module vmware_guest.

The full name is community.vmware.vmware_guest, which means that is part of the collection of modules to interact with VMware, community-supported.

It's a module pretty stable and out for years.

It manages virtual machines in vCenter.

Parameters

The module vmware_guest has a very long list of parameters to customize all your needs to create a VMware vSphere Virtual Machine. Please refer to the manual for the full list.

Links

  • [community.vmware.vmware_guest](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_module.html)

## Playbook

How to Deploy a VMware vSphere Virtual Machine from a Template with Ansible.

I'm going to show you how to deploy a Virtual Machine named "myvm" from a template "mytemplate" without any customization.

code

  • vm_deploy_template.yml

``yaml

---

  • name: deploy vm from template Playbook

hosts: localhost

become: false

gather_facts: false

collections:

- community.vmware

pre_tasks:

- include_vars: vars.yml

tasks:

- name: create folder

vcenter_folder:

hostname: "{{ vcenter_hostname }}"

username: "{{ vcenter_username }}"

password: "{{ vcenter_password }}"

validate_certs: "{{ vcenter_validate_certs }}"

datacenter_name: "{{ vcenter_datacenter }}"

folder_name: "{{ vcenter_destination_folder }}"

folder_type: vm

state: present

- name: clone VM

vmware_guest:

hostname: "{{ vcenter_hostname }}"

username: "{{ vcenter_username }}"

password: "{{ vcenter_password }}"

validate_certs: "{{ vcenter_validate_certs }}"

datacenter: "{{ vcenter_datacenter }}"

cluster: "{{ vcenter_cluster }}"

name: "{{ vm_name }}"

folder: "{{ vcenter_destination_folder }}"

template: "{{ vm_template }}"

`

  • 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"

vcenter_destinatio

Read the full tutorial: Deploy a VMware vSphere Virtual Machine from a Template - Ansible module vmware_guest