Generating a VMX file using Jinja2
The basic unit for a virtual machine (sometimes called a guest machine) is the VMX file. This file contains all the settings needed to build the virtual machine in terms of compute resources, allocated memory, HDD, and networking. Also, it defines the operating system that runs over the machine so the VMware can install some tools to manage the VM powering.
An additional file is needed: VMDK. This file stores the actual contents of the VM and acts as the hard disk for the VM partitions:

These files (VMX and VMDK) should be stored under the /vmfs/volumes/datastore1
directory in the ESXi Shell and should be inside a directory with the name of the virtual machine.
Building the VMX template
We are now going to create the template file that we will use to build our virtual machine in Python. Here's an example of the final running VMX file that we need to generate with the help of Python and Jinja2:
.encoding = "UTF-8" vhv.enable = "TRUE" config.version = "8" virtualHW...