Uploading an OVA to vSphere as template, not VM

I'm interested in uploading an OVA or OVF template on local file storage to vSphere without immediately deploying it as a VM.

Some things I've looked into:

  • doesn't seem like you can do this through the Flash or HTML UI

  • Terraform currently doesn't have the ability to upload OVAs at all, and the vSphere Terraform provider maintainer has explicitly stated that he does not plan to add it and considers it out of scope for Terraform

  • govc doesn't provide a way to mark VMs as templates on upload

  • Packer doesn't seem to currently have the ability to upload OVA/OVF templates to vSphere

  • I haven't used ovftool much but it doesn't seem to have the capability to mark uploads as templates

(What I'm trying to gain from doing this is to allow users to upload a template without configuring host, resource pool, network mappings, and vApp settings, and have that configuration done by an opinionated Terraform template instead. If you see a better way of enabling this that doesn't require marking a VM as template, I'm interested in that as well.)


You can upload a template using datastore browser. That is, either via web client or a GUI go to datastores section, right-click the datastore and select Browse. Datastore browser will open and you can upload your templates as a regular file.

You can then deploy from that file in a datastore using https URL that you can get by navigating to https://esx.ip.addr/folder and then browsing down till you get to your template and copy its complete URL.


If you have a vCenter, you could use the content library to import an OVF package to use as a template for deploying virtual machines and vApps. Obviously, the tools you use to deploy VMs would have to work with the content library... but it might be a possibility.