published on Thursday, Feb 26, 2026 by Pulumi
published on Thursday, Feb 26, 2026 by Pulumi
The vsphere.getOvfVmTemplate data source can be used to submit an OVF to
vSphere and extract its hardware settings in a form that can be then used as
inputs for a vsphere.VirtualMachine resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as vsphere from "@pulumi/vsphere";
const datacenter = vsphere.getDatacenter({
name: "dc-01",
});
const datastore = datacenter.then(datacenter => vsphere.getDatastore({
name: "datastore-01",
datacenterId: datacenter.id,
}));
const cluster = datacenter.then(datacenter => vsphere.getComputeCluster({
name: "cluster-01",
datacenterId: datacenter.id,
}));
const _default = Promise.all([cluster, datacenter]).then(([cluster, datacenter]) => vsphere.getResourcePool({
name: std.index.format({
input: "%s%s",
args: [
cluster.name,
"/Resources",
],
}).result,
datacenterId: datacenter.id,
}));
const host = datacenter.then(datacenter => vsphere.getHost({
name: "esxi-01.example.com",
datacenterId: datacenter.id,
}));
const network = datacenter.then(datacenter => vsphere.getNetwork({
name: "172.16.11.0",
datacenterId: datacenter.id,
}));
//# Remote OVF/OVA Source
const ovfRemote = Promise.all([_default, datastore, host, network]).then(([_default, datastore, host, network]) => vsphere.getOvfVmTemplate({
name: "ubuntu-server-cloud-image-01",
diskProvisioning: "thin",
resourcePoolId: _default.id,
datastoreId: datastore.id,
hostSystemId: host.id,
remoteOvfUrl: "https://cloud-images.ubuntu.com/releases/xx.xx/release/ubuntu-xx.xx-server-cloudimg-amd64.ova",
ovfNetworkMap: {
"VM Network": network.id,
},
}));
//# Local OVF/OVA Source
const ovfLocal = Promise.all([_default, datastore, host, network]).then(([_default, datastore, host, network]) => vsphere.getOvfVmTemplate({
name: "ubuntu-server-cloud-image-02",
diskProvisioning: "thin",
resourcePoolId: _default.id,
datastoreId: datastore.id,
hostSystemId: host.id,
localOvfPath: "/Volume/Storage/OVA/ubuntu-xx-xx-server-cloudimg-amd64.ova",
ovfNetworkMap: {
"VM Network": network.id,
},
}));
//# Deployment of VM from Remote OVF
const vmFromRemoteOvf = new vsphere.VirtualMachine("vmFromRemoteOvf", {
networkInterfaces: .map(entry => ({
networkId: entry.value,
})),
name: "ubuntu-server-cloud-image-01",
datacenterId: datacenter.then(datacenter => datacenter.id),
datastoreId: datastore.then(datastore => datastore.id),
hostSystemId: host.then(host => host.id),
resourcePoolId: _default.then(_default => _default.id),
numCpus: ovfRemote.then(ovfRemote => ovfRemote.numCpus),
numCoresPerSocket: ovfRemote.then(ovfRemote => ovfRemote.numCoresPerSocket),
memory: ovfRemote.then(ovfRemote => ovfRemote.memory),
guestId: ovfRemote.then(ovfRemote => ovfRemote.guestId),
firmware: ovfRemote.then(ovfRemote => ovfRemote.firmware),
scsiType: ovfRemote.then(ovfRemote => ovfRemote.scsiType),
waitForGuestNetTimeout: 0,
waitForGuestIpTimeout: 0,
ovfDeploy: {
remoteOvfUrl: "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.ova",
ovfNetworkMap: ovfRemote.then(ovfRemote => ovfRemote.ovfNetworkMap),
},
cdroms: [{
clientDevice: true,
}],
vapp: {
properties: {
hostname: remoteOvfName,
"instance-id": remoteOvfUuid,
"public-keys": remoteOvfPublicKeys,
password: remoteOvfPassword,
"user-data": std.index.base64encode({
input: remoteOvfUserData,
}).result,
},
},
});
//# Deployment of VM from Local OVF
const vmFromLocalOvf = new vsphere.VirtualMachine("vmFromLocalOvf", {
networkInterfaces: .map(entry => ({
networkId: entry.value,
})),
name: "ubuntu-server-cloud-image-02",
datacenterId: datacenter.then(datacenter => datacenter.id),
datastoreId: datastore.then(datastore => datastore.id),
hostSystemId: host.then(host => host.id),
resourcePoolId: _default.then(_default => _default.id),
numCpus: ovfLocal.then(ovfLocal => ovfLocal.numCpus),
numCoresPerSocket: ovfLocal.then(ovfLocal => ovfLocal.numCoresPerSocket),
memory: ovfLocal.then(ovfLocal => ovfLocal.memory),
guestId: ovfLocal.then(ovfLocal => ovfLocal.guestId),
firmware: ovfLocal.then(ovfLocal => ovfLocal.firmware),
scsiType: ovfLocal.then(ovfLocal => ovfLocal.scsiType),
waitForGuestNetTimeout: 0,
waitForGuestIpTimeout: 0,
ovfDeploy: {
allowUnverifiedSslCert: false,
localOvfPath: ovfLocal.then(ovfLocal => ovfLocal.localOvfPath),
diskProvisioning: ovfLocal.then(ovfLocal => ovfLocal.diskProvisioning),
ovfNetworkMap: ovfLocal.then(ovfLocal => ovfLocal.ovfNetworkMap),
},
cdroms: [{
clientDevice: true,
}],
vapp: {
properties: {
hostname: localOvfName,
"instance-id": localOvfUuid,
"public-keys": localOvfPublicKeys,
password: localOvfPassword,
"user-data": std.index.base64encode({
input: localOvfUserData,
}).result,
},
},
});
import pulumi
import pulumi_std as std
import pulumi_vsphere as vsphere
datacenter = vsphere.get_datacenter(name="dc-01")
datastore = vsphere.get_datastore(name="datastore-01",
datacenter_id=datacenter.id)
cluster = vsphere.get_compute_cluster(name="cluster-01",
datacenter_id=datacenter.id)
default = vsphere.get_resource_pool(name=std.index.format(input="%s%s",
args=[
cluster.name,
"/Resources",
])["result"],
datacenter_id=datacenter.id)
host = vsphere.get_host(name="esxi-01.example.com",
datacenter_id=datacenter.id)
network = vsphere.get_network(name="172.16.11.0",
datacenter_id=datacenter.id)
## Remote OVF/OVA Source
ovf_remote = vsphere.get_ovf_vm_template(name="ubuntu-server-cloud-image-01",
disk_provisioning="thin",
resource_pool_id=default.id,
datastore_id=datastore.id,
host_system_id=host.id,
remote_ovf_url="https://cloud-images.ubuntu.com/releases/xx.xx/release/ubuntu-xx.xx-server-cloudimg-amd64.ova",
ovf_network_map={
"VM Network": network.id,
})
## Local OVF/OVA Source
ovf_local = vsphere.get_ovf_vm_template(name="ubuntu-server-cloud-image-02",
disk_provisioning="thin",
resource_pool_id=default.id,
datastore_id=datastore.id,
host_system_id=host.id,
local_ovf_path="/Volume/Storage/OVA/ubuntu-xx-xx-server-cloudimg-amd64.ova",
ovf_network_map={
"VM Network": network.id,
})
## Deployment of VM from Remote OVF
vm_from_remote_ovf = vsphere.VirtualMachine("vmFromRemoteOvf",
network_interfaces=[{"key": k, "value": v} for k, v in ovf_remote.ovf_network_map].apply(lambda entries: [{
"networkId": entry["value"],
} for entry in entries]),
name="ubuntu-server-cloud-image-01",
datacenter_id=datacenter.id,
datastore_id=datastore.id,
host_system_id=host.id,
resource_pool_id=default.id,
num_cpus=ovf_remote.num_cpus,
num_cores_per_socket=ovf_remote.num_cores_per_socket,
memory=ovf_remote.memory,
guest_id=ovf_remote.guest_id,
firmware=ovf_remote.firmware,
scsi_type=ovf_remote.scsi_type,
wait_for_guest_net_timeout=0,
wait_for_guest_ip_timeout=0,
ovf_deploy={
"remote_ovf_url": "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.ova",
"ovf_network_map": ovf_remote.ovf_network_map,
},
cdroms=[{
"client_device": True,
}],
vapp={
"properties": {
"hostname": remote_ovf_name,
"instance-id": remote_ovf_uuid,
"public-keys": remote_ovf_public_keys,
"password": remote_ovf_password,
"user-data": std.index.base64encode(input=remote_ovf_user_data)["result"],
},
})
## Deployment of VM from Local OVF
vm_from_local_ovf = vsphere.VirtualMachine("vmFromLocalOvf",
network_interfaces=[{"key": k, "value": v} for k, v in ovf_local.ovf_network_map].apply(lambda entries: [{
"networkId": entry["value"],
} for entry in entries]),
name="ubuntu-server-cloud-image-02",
datacenter_id=datacenter.id,
datastore_id=datastore.id,
host_system_id=host.id,
resource_pool_id=default.id,
num_cpus=ovf_local.num_cpus,
num_cores_per_socket=ovf_local.num_cores_per_socket,
memory=ovf_local.memory,
guest_id=ovf_local.guest_id,
firmware=ovf_local.firmware,
scsi_type=ovf_local.scsi_type,
wait_for_guest_net_timeout=0,
wait_for_guest_ip_timeout=0,
ovf_deploy={
"allow_unverified_ssl_cert": False,
"local_ovf_path": ovf_local.local_ovf_path,
"disk_provisioning": ovf_local.disk_provisioning,
"ovf_network_map": ovf_local.ovf_network_map,
},
cdroms=[{
"client_device": True,
}],
vapp={
"properties": {
"hostname": local_ovf_name,
"instance-id": local_ovf_uuid,
"public-keys": local_ovf_public_keys,
"password": local_ovf_password,
"user-data": std.index.base64encode(input=local_ovf_user_data)["result"],
},
})
Example coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using VSphere = Pulumi.VSphere;
return await Deployment.RunAsync(() =>
{
var datacenter = VSphere.GetDatacenter.Invoke(new()
{
Name = "dc-01",
});
var datastore = VSphere.GetDatastore.Invoke(new()
{
Name = "datastore-01",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
});
var cluster = VSphere.GetComputeCluster.Invoke(new()
{
Name = "cluster-01",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
});
var @default = VSphere.GetResourcePool.Invoke(new()
{
Name = Std.Index.Format.Invoke(new()
{
Input = "%s%s",
Args = new[]
{
cluster.Apply(getComputeClusterResult => getComputeClusterResult.Name),
"/Resources",
},
}).Result,
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
});
var host = VSphere.GetHost.Invoke(new()
{
Name = "esxi-01.example.com",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
});
var network = VSphere.GetNetwork.Invoke(new()
{
Name = "172.16.11.0",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
});
//# Remote OVF/OVA Source
var ovfRemote = VSphere.GetOvfVmTemplate.Invoke(new()
{
Name = "ubuntu-server-cloud-image-01",
DiskProvisioning = "thin",
ResourcePoolId = @default.Apply(getResourcePoolResult => getResourcePoolResult.Id),
DatastoreId = datastore.Apply(getDatastoreResult => getDatastoreResult.Id),
HostSystemId = host.Apply(getHostResult => getHostResult.Id),
RemoteOvfUrl = "https://cloud-images.ubuntu.com/releases/xx.xx/release/ubuntu-xx.xx-server-cloudimg-amd64.ova",
OvfNetworkMap =
{
{ "VM Network", network.Apply(getNetworkResult => getNetworkResult.Id) },
},
});
//# Local OVF/OVA Source
var ovfLocal = VSphere.GetOvfVmTemplate.Invoke(new()
{
Name = "ubuntu-server-cloud-image-02",
DiskProvisioning = "thin",
ResourcePoolId = @default.Apply(getResourcePoolResult => getResourcePoolResult.Id),
DatastoreId = datastore.Apply(getDatastoreResult => getDatastoreResult.Id),
HostSystemId = host.Apply(getHostResult => getHostResult.Id),
LocalOvfPath = "/Volume/Storage/OVA/ubuntu-xx-xx-server-cloudimg-amd64.ova",
OvfNetworkMap =
{
{ "VM Network", network.Apply(getNetworkResult => getNetworkResult.Id) },
},
});
//# Deployment of VM from Remote OVF
var vmFromRemoteOvf = new VSphere.VirtualMachine("vmFromRemoteOvf", new()
{
NetworkInterfaces = ,
Name = "ubuntu-server-cloud-image-01",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
DatastoreId = datastore.Apply(getDatastoreResult => getDatastoreResult.Id),
HostSystemId = host.Apply(getHostResult => getHostResult.Id),
ResourcePoolId = @default.Apply(@default => @default.Apply(getResourcePoolResult => getResourcePoolResult.Id)),
NumCpus = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.NumCpus),
NumCoresPerSocket = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.NumCoresPerSocket),
Memory = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.Memory),
GuestId = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.GuestId),
Firmware = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.Firmware),
ScsiType = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.ScsiType),
WaitForGuestNetTimeout = 0,
WaitForGuestIpTimeout = 0,
OvfDeploy = new VSphere.Inputs.VirtualMachineOvfDeployArgs
{
RemoteOvfUrl = "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.ova",
OvfNetworkMap = ovfRemote.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.OvfNetworkMap),
},
Cdroms = new[]
{
new VSphere.Inputs.VirtualMachineCdromArgs
{
ClientDevice = true,
},
},
Vapp = new VSphere.Inputs.VirtualMachineVappArgs
{
Properties =
{
{ "hostname", remoteOvfName },
{ "instance-id", remoteOvfUuid },
{ "public-keys", remoteOvfPublicKeys },
{ "password", remoteOvfPassword },
{ "user-data", Std.Index.Base64encode.Invoke(new()
{
Input = remoteOvfUserData,
}).Result },
},
},
});
//# Deployment of VM from Local OVF
var vmFromLocalOvf = new VSphere.VirtualMachine("vmFromLocalOvf", new()
{
NetworkInterfaces = ,
Name = "ubuntu-server-cloud-image-02",
DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
DatastoreId = datastore.Apply(getDatastoreResult => getDatastoreResult.Id),
HostSystemId = host.Apply(getHostResult => getHostResult.Id),
ResourcePoolId = @default.Apply(@default => @default.Apply(getResourcePoolResult => getResourcePoolResult.Id)),
NumCpus = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.NumCpus),
NumCoresPerSocket = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.NumCoresPerSocket),
Memory = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.Memory),
GuestId = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.GuestId),
Firmware = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.Firmware),
ScsiType = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.ScsiType),
WaitForGuestNetTimeout = 0,
WaitForGuestIpTimeout = 0,
OvfDeploy = new VSphere.Inputs.VirtualMachineOvfDeployArgs
{
AllowUnverifiedSslCert = false,
LocalOvfPath = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.LocalOvfPath),
DiskProvisioning = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.DiskProvisioning),
OvfNetworkMap = ovfLocal.Apply(getOvfVmTemplateResult => getOvfVmTemplateResult.OvfNetworkMap),
},
Cdroms = new[]
{
new VSphere.Inputs.VirtualMachineCdromArgs
{
ClientDevice = true,
},
},
Vapp = new VSphere.Inputs.VirtualMachineVappArgs
{
Properties =
{
{ "hostname", localOvfName },
{ "instance-id", localOvfUuid },
{ "public-keys", localOvfPublicKeys },
{ "password", localOvfPassword },
{ "user-data", Std.Index.Base64encode.Invoke(new()
{
Input = localOvfUserData,
}).Result },
},
},
});
});
Example coming soon!
Example coming soon!
Using getOvfVmTemplate
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getOvfVmTemplate(args: GetOvfVmTemplateArgs, opts?: InvokeOptions): Promise<GetOvfVmTemplateResult>
function getOvfVmTemplateOutput(args: GetOvfVmTemplateOutputArgs, opts?: InvokeOptions): Output<GetOvfVmTemplateResult>def get_ovf_vm_template(allow_unverified_ssl_cert: Optional[bool] = None,
datastore_id: Optional[str] = None,
deployment_option: Optional[str] = None,
disk_provisioning: Optional[str] = None,
enable_hidden_properties: Optional[bool] = None,
folder: Optional[str] = None,
host_system_id: Optional[str] = None,
ip_allocation_policy: Optional[str] = None,
ip_protocol: Optional[str] = None,
local_ovf_path: Optional[str] = None,
name: Optional[str] = None,
ovf_network_map: Optional[Mapping[str, str]] = None,
remote_ovf_url: Optional[str] = None,
resource_pool_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetOvfVmTemplateResult
def get_ovf_vm_template_output(allow_unverified_ssl_cert: Optional[pulumi.Input[bool]] = None,
datastore_id: Optional[pulumi.Input[str]] = None,
deployment_option: Optional[pulumi.Input[str]] = None,
disk_provisioning: Optional[pulumi.Input[str]] = None,
enable_hidden_properties: Optional[pulumi.Input[bool]] = None,
folder: Optional[pulumi.Input[str]] = None,
host_system_id: Optional[pulumi.Input[str]] = None,
ip_allocation_policy: Optional[pulumi.Input[str]] = None,
ip_protocol: Optional[pulumi.Input[str]] = None,
local_ovf_path: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
ovf_network_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
remote_ovf_url: Optional[pulumi.Input[str]] = None,
resource_pool_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetOvfVmTemplateResult]func GetOvfVmTemplate(ctx *Context, args *GetOvfVmTemplateArgs, opts ...InvokeOption) (*GetOvfVmTemplateResult, error)
func GetOvfVmTemplateOutput(ctx *Context, args *GetOvfVmTemplateOutputArgs, opts ...InvokeOption) GetOvfVmTemplateResultOutput> Note: This function is named GetOvfVmTemplate in the Go SDK.
public static class GetOvfVmTemplate
{
public static Task<GetOvfVmTemplateResult> InvokeAsync(GetOvfVmTemplateArgs args, InvokeOptions? opts = null)
public static Output<GetOvfVmTemplateResult> Invoke(GetOvfVmTemplateInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetOvfVmTemplateResult> getOvfVmTemplate(GetOvfVmTemplateArgs args, InvokeOptions options)
public static Output<GetOvfVmTemplateResult> getOvfVmTemplate(GetOvfVmTemplateArgs args, InvokeOptions options)
fn::invoke:
function: vsphere:index/getOvfVmTemplate:getOvfVmTemplate
arguments:
# arguments dictionaryThe following arguments are supported:
- Host
System stringId - The ID of the ESXi host system to deploy the virtual machine.
- Name string
- Name of the virtual machine to create.
- Resource
Pool stringId - The ID of a resource pool in which to place the virtual machine.
- Allow
Unverified boolSsl Cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- Datastore
Id string - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- Deployment
Option string - The key of the chosen deployment option. If empty, the default option is chosen.
- Disk
Provisioning string - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - bool
- Allow properties with
ovf:userConfigurable=falseto be set. - Folder string
- The name of the folder in which to place the virtual machine.
- Ip
Allocation stringPolicy - The IP allocation policy.
- Ip
Protocol string - The IP protocol.
- Local
Ovf stringPath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - Ovf
Network Dictionary<string, string>Map - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- Remote
Ovf stringUrl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
- Host
System stringId - The ID of the ESXi host system to deploy the virtual machine.
- Name string
- Name of the virtual machine to create.
- Resource
Pool stringId - The ID of a resource pool in which to place the virtual machine.
- Allow
Unverified boolSsl Cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- Datastore
Id string - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- Deployment
Option string - The key of the chosen deployment option. If empty, the default option is chosen.
- Disk
Provisioning string - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - bool
- Allow properties with
ovf:userConfigurable=falseto be set. - Folder string
- The name of the folder in which to place the virtual machine.
- Ip
Allocation stringPolicy - The IP allocation policy.
- Ip
Protocol string - The IP protocol.
- Local
Ovf stringPath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - Ovf
Network map[string]stringMap - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- Remote
Ovf stringUrl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
- host
System StringId - The ID of the ESXi host system to deploy the virtual machine.
- name String
- Name of the virtual machine to create.
- resource
Pool StringId - The ID of a resource pool in which to place the virtual machine.
- allow
Unverified BooleanSsl Cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- datastore
Id String - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- deployment
Option String - The key of the chosen deployment option. If empty, the default option is chosen.
- disk
Provisioning String - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - Boolean
- Allow properties with
ovf:userConfigurable=falseto be set. - folder String
- The name of the folder in which to place the virtual machine.
- ip
Allocation StringPolicy - The IP allocation policy.
- ip
Protocol String - The IP protocol.
- local
Ovf StringPath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - ovf
Network Map<String,String>Map - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- remote
Ovf StringUrl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
- host
System stringId - The ID of the ESXi host system to deploy the virtual machine.
- name string
- Name of the virtual machine to create.
- resource
Pool stringId - The ID of a resource pool in which to place the virtual machine.
- allow
Unverified booleanSsl Cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- datastore
Id string - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- deployment
Option string - The key of the chosen deployment option. If empty, the default option is chosen.
- disk
Provisioning string - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - boolean
- Allow properties with
ovf:userConfigurable=falseto be set. - folder string
- The name of the folder in which to place the virtual machine.
- ip
Allocation stringPolicy - The IP allocation policy.
- ip
Protocol string - The IP protocol.
- local
Ovf stringPath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - ovf
Network {[key: string]: string}Map - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- remote
Ovf stringUrl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
- host_
system_ strid - The ID of the ESXi host system to deploy the virtual machine.
- name str
- Name of the virtual machine to create.
- resource_
pool_ strid - The ID of a resource pool in which to place the virtual machine.
- allow_
unverified_ boolssl_ cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- datastore_
id str - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- deployment_
option str - The key of the chosen deployment option. If empty, the default option is chosen.
- disk_
provisioning str - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - bool
- Allow properties with
ovf:userConfigurable=falseto be set. - folder str
- The name of the folder in which to place the virtual machine.
- ip_
allocation_ strpolicy - The IP allocation policy.
- ip_
protocol str - The IP protocol.
- local_
ovf_ strpath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - ovf_
network_ Mapping[str, str]map - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- remote_
ovf_ strurl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
- host
System StringId - The ID of the ESXi host system to deploy the virtual machine.
- name String
- Name of the virtual machine to create.
- resource
Pool StringId - The ID of a resource pool in which to place the virtual machine.
- allow
Unverified BooleanSsl Cert - Allow unverified SSL certificates when deploying OVF/OVA from a URL.
- datastore
Id String - The ID of the virtual machine's datastore. The virtual machine configuration is placed here, along with any virtual disks that are created without datastores.
- deployment
Option String - The key of the chosen deployment option. If empty, the default option is chosen.
- disk
Provisioning String - The disk provisioning type. If set, all the
disks included in the OVF/OVA will have the same specified policy. Can be
one of
thin,thick, oreagerZeroedThick. - Boolean
- Allow properties with
ovf:userConfigurable=falseto be set. - folder String
- The name of the folder in which to place the virtual machine.
- ip
Allocation StringPolicy - The IP allocation policy.
- ip
Protocol String - The IP protocol.
- local
Ovf StringPath - The absolute path to the OVF/OVA file on the
local system. When deploying from an OVF, ensure all necessary files such as
the
.vmdkfiles are present in the same directory as the OVF. - ovf
Network Map<String>Map - The mapping of name of network identifiers from the OVF descriptor to network UUID in the environment.
- remote
Ovf StringUrl URL of the remote OVF/OVA file to be deployed.
NOTE: Either
local_ovf_pathorremote_ovf_urlis required, both can not be empty.
getOvfVmTemplate Result
The following output properties are available:
- Alternate
Guest stringName - An alternate guest operating system name.
- Annotation string
- A description of the virtual machine.
- Cpu
Hot boolAdd Enabled - Allow CPUs to be added to the virtual machine while powered on.
- Cpu
Hot boolRemove Enabled - Allow CPUs to be removed from the virtual machine while powered on.
- Cpu
Performance boolCounters Enabled - Firmware string
- The firmware to use on the virtual machine.
- Guest
Id string - The ID for the guest operating system
- Host
System stringId - Id string
- The provider-assigned unique ID for this managed resource.
- Ide
Controller intCount - Memory int
- The size of the virtual machine memory, in MB.
- Memory
Hot boolAdd Enabled - Allow memory to be added to the virtual machine while powered on.
- Name string
- Nested
Hv boolEnabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- Num
Cores intPer Socket - The number of cores per virtual CPU in the virtual machine.
- Num
Cpus int - The number of virtual CPUs to assign to the virtual machine.
- Resource
Pool stringId - Sata
Controller intCount - Scsi
Controller intCount - Scsi
Type string - Swap
Placement stringPolicy - The swap file placement policy for the virtual machine.
- Allow
Unverified boolSsl Cert - Datastore
Id string - Deployment
Option string - Disk
Provisioning string - bool
- Folder string
- Ip
Allocation stringPolicy - Ip
Protocol string - Local
Ovf stringPath - Ovf
Network Dictionary<string, string>Map - Remote
Ovf stringUrl
- Alternate
Guest stringName - An alternate guest operating system name.
- Annotation string
- A description of the virtual machine.
- Cpu
Hot boolAdd Enabled - Allow CPUs to be added to the virtual machine while powered on.
- Cpu
Hot boolRemove Enabled - Allow CPUs to be removed from the virtual machine while powered on.
- Cpu
Performance boolCounters Enabled - Firmware string
- The firmware to use on the virtual machine.
- Guest
Id string - The ID for the guest operating system
- Host
System stringId - Id string
- The provider-assigned unique ID for this managed resource.
- Ide
Controller intCount - Memory int
- The size of the virtual machine memory, in MB.
- Memory
Hot boolAdd Enabled - Allow memory to be added to the virtual machine while powered on.
- Name string
- Nested
Hv boolEnabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- Num
Cores intPer Socket - The number of cores per virtual CPU in the virtual machine.
- Num
Cpus int - The number of virtual CPUs to assign to the virtual machine.
- Resource
Pool stringId - Sata
Controller intCount - Scsi
Controller intCount - Scsi
Type string - Swap
Placement stringPolicy - The swap file placement policy for the virtual machine.
- Allow
Unverified boolSsl Cert - Datastore
Id string - Deployment
Option string - Disk
Provisioning string - bool
- Folder string
- Ip
Allocation stringPolicy - Ip
Protocol string - Local
Ovf stringPath - Ovf
Network map[string]stringMap - Remote
Ovf stringUrl
- alternate
Guest StringName - An alternate guest operating system name.
- annotation String
- A description of the virtual machine.
- cpu
Hot BooleanAdd Enabled - Allow CPUs to be added to the virtual machine while powered on.
- cpu
Hot BooleanRemove Enabled - Allow CPUs to be removed from the virtual machine while powered on.
- cpu
Performance BooleanCounters Enabled - firmware String
- The firmware to use on the virtual machine.
- guest
Id String - The ID for the guest operating system
- host
System StringId - id String
- The provider-assigned unique ID for this managed resource.
- ide
Controller IntegerCount - memory Integer
- The size of the virtual machine memory, in MB.
- memory
Hot BooleanAdd Enabled - Allow memory to be added to the virtual machine while powered on.
- name String
- nested
Hv BooleanEnabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- num
Cores IntegerPer Socket - The number of cores per virtual CPU in the virtual machine.
- num
Cpus Integer - The number of virtual CPUs to assign to the virtual machine.
- resource
Pool StringId - sata
Controller IntegerCount - scsi
Controller IntegerCount - scsi
Type String - swap
Placement StringPolicy - The swap file placement policy for the virtual machine.
- allow
Unverified BooleanSsl Cert - datastore
Id String - deployment
Option String - disk
Provisioning String - Boolean
- folder String
- ip
Allocation StringPolicy - ip
Protocol String - local
Ovf StringPath - ovf
Network Map<String,String>Map - remote
Ovf StringUrl
- alternate
Guest stringName - An alternate guest operating system name.
- annotation string
- A description of the virtual machine.
- cpu
Hot booleanAdd Enabled - Allow CPUs to be added to the virtual machine while powered on.
- cpu
Hot booleanRemove Enabled - Allow CPUs to be removed from the virtual machine while powered on.
- cpu
Performance booleanCounters Enabled - firmware string
- The firmware to use on the virtual machine.
- guest
Id string - The ID for the guest operating system
- host
System stringId - id string
- The provider-assigned unique ID for this managed resource.
- ide
Controller numberCount - memory number
- The size of the virtual machine memory, in MB.
- memory
Hot booleanAdd Enabled - Allow memory to be added to the virtual machine while powered on.
- name string
- nested
Hv booleanEnabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- num
Cores numberPer Socket - The number of cores per virtual CPU in the virtual machine.
- num
Cpus number - The number of virtual CPUs to assign to the virtual machine.
- resource
Pool stringId - sata
Controller numberCount - scsi
Controller numberCount - scsi
Type string - swap
Placement stringPolicy - The swap file placement policy for the virtual machine.
- allow
Unverified booleanSsl Cert - datastore
Id string - deployment
Option string - disk
Provisioning string - boolean
- folder string
- ip
Allocation stringPolicy - ip
Protocol string - local
Ovf stringPath - ovf
Network {[key: string]: string}Map - remote
Ovf stringUrl
- alternate_
guest_ strname - An alternate guest operating system name.
- annotation str
- A description of the virtual machine.
- cpu_
hot_ booladd_ enabled - Allow CPUs to be added to the virtual machine while powered on.
- cpu_
hot_ boolremove_ enabled - Allow CPUs to be removed from the virtual machine while powered on.
- cpu_
performance_ boolcounters_ enabled - firmware str
- The firmware to use on the virtual machine.
- guest_
id str - The ID for the guest operating system
- host_
system_ strid - id str
- The provider-assigned unique ID for this managed resource.
- ide_
controller_ intcount - memory int
- The size of the virtual machine memory, in MB.
- memory_
hot_ booladd_ enabled - Allow memory to be added to the virtual machine while powered on.
- name str
- nested_
hv_ boolenabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- num_
cores_ intper_ socket - The number of cores per virtual CPU in the virtual machine.
- num_
cpus int - The number of virtual CPUs to assign to the virtual machine.
- resource_
pool_ strid - sata_
controller_ intcount - scsi_
controller_ intcount - scsi_
type str - swap_
placement_ strpolicy - The swap file placement policy for the virtual machine.
- allow_
unverified_ boolssl_ cert - datastore_
id str - deployment_
option str - disk_
provisioning str - bool
- folder str
- ip_
allocation_ strpolicy - ip_
protocol str - local_
ovf_ strpath - ovf_
network_ Mapping[str, str]map - remote_
ovf_ strurl
- alternate
Guest StringName - An alternate guest operating system name.
- annotation String
- A description of the virtual machine.
- cpu
Hot BooleanAdd Enabled - Allow CPUs to be added to the virtual machine while powered on.
- cpu
Hot BooleanRemove Enabled - Allow CPUs to be removed from the virtual machine while powered on.
- cpu
Performance BooleanCounters Enabled - firmware String
- The firmware to use on the virtual machine.
- guest
Id String - The ID for the guest operating system
- host
System StringId - id String
- The provider-assigned unique ID for this managed resource.
- ide
Controller NumberCount - memory Number
- The size of the virtual machine memory, in MB.
- memory
Hot BooleanAdd Enabled - Allow memory to be added to the virtual machine while powered on.
- name String
- nested
Hv BooleanEnabled - Enable nested hardware virtualization on the virtual machine, facilitating nested virtualization in the guest.
- num
Cores NumberPer Socket - The number of cores per virtual CPU in the virtual machine.
- num
Cpus Number - The number of virtual CPUs to assign to the virtual machine.
- resource
Pool StringId - sata
Controller NumberCount - scsi
Controller NumberCount - scsi
Type String - swap
Placement StringPolicy - The swap file placement policy for the virtual machine.
- allow
Unverified BooleanSsl Cert - datastore
Id String - deployment
Option String - disk
Provisioning String - Boolean
- folder String
- ip
Allocation StringPolicy - ip
Protocol String - local
Ovf StringPath - ovf
Network Map<String>Map - remote
Ovf StringUrl
Package Details
- Repository
- vSphere pulumi/pulumi-vsphere
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vsphereTerraform Provider.
published on Thursday, Feb 26, 2026 by Pulumi
