vCenter Server Appliance Terraform Module

Terraform module which creates a vCenter Server Appliance virtual machine in a vSphere environment.

The module presently assumes you are deploying from a machine with bash, curl, and jq installed.

The module has been tested with:

  • VMware-vCenter-Server-Appliance-7.0.1.00200-17327517_OVF10.ova
  • VMware-vCenter-Server-Appliance-7.0.2.00000-17694817_OVF10.ova

Other versions may or may not work correctly.

Requirements

Name Version
terraform >= 0.13
vsphere >= 1.25.0

Providers

Name Version
random n/a
vsphere >= 1.25.0

Modules

No Modules.

Resources

Name
random_password
vsphere_ovf_vm_template
vsphere_virtual_machine

Inputs

Name Description Type Default Required
cpu_count_override The number of CPUs the vCenter Server Appliance should have. Defaults to 0 which uses the CPU count of the deployment selected. number 0 no
datacenter_id The ID of the dataceter the vCenter Server Appliance should be created in. string n/a yes
datastore_id The ID of the datastore the vCenter Server Appliance should be created in. string n/a yes
deployment_size The deployment size of the vCenter Server Appliances. Defaults to "tiny". string "tiny" no
dns The DNS server(s) for the vCenter Server Appliance. This defaults to "" which results in DHCP being used. Must be set if a static IP is set in ip_address. string "" no
enable_ceip Should the Customer Experience Improvement Program (CEIP) be enabled for the vCenter Server Appliance? Defaults to false bool false no
enable_ssh Should SSH be enabled on the vCenter Server Appliance? Defaults to false. bool false no
folder_name The name of the vm folder the vCenter Server Appliance should be created in. string n/a yes
gateway The gateway of the vCenter Server Appliance. This defaults to "" which results in DHCP being used. Must be set if a static IP is set in ip_address string "" no
host_system_id The ID of the host system that the vCenter Server Appliance OVA will be initially deployed on. string n/a yes
hostname The FQDN of the vCenter Server Appliance. DNS records must exist ahead of provisioning or DDNS must be working in the environment. string n/a yes
ip_address The IP address of the vCenter Server Appliance. This defaults to "" which results in DHCP being used. string "" no
mac_address The MAC address of the vCenter Server Appliance. This defaults to "" which results in a MAC address being generated. string "" no
memory_override The ammount of memory the vCenter Server Appliance should have. Defaults to 0 which uses the memory size of the deployment selected. number 0 no
network_id The ID of the network the vCenter Server Appliance should be attached to. string n/a yes
ntp The NTP server for the vCenter Server Appliance. Defaults to "pool.ntp.org". string "pool.ntp.org" no
ova_path The full path to the vCenter Server Appliance OVA. string n/a yes
prefix The subnet of the vCenter Server Appliance in CIDR format. This defaults to null. Must be set if a static IP is set in ip_address. number null no
provisioner_timeout The max amount of time to wait in minutes for the vCenter Server Appliance to become available after provisioning number 60 no
resource_pool_id The ID of the resource pool the vCenter Server Appliance should be created in. string n/a yes
sso_domain_name The name of the internal SSO domain. Defaults to "vsphere.local". string "vsphere.local" no

Outputs

Name Description
administrator_password The password of the default VMware SSO Administrator.
administrator_user The full username of the default VMware SSO Administrator.
root_password The root password that was generated for the vCenter Server Appliance.