vsphere.getOvfVmTemplate
Explore with Pulumi AI
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.
Remote OVF/OVA Source
data “vsphere_ovf_vm_template” “ovfRemote” { name = “Nested-ESXi-7.0-Terraform-Deploy-1” disk_provisioning = “thin” resource_pool_id = data.vsphere_resource_pool.default.id datastore_id = data.vsphere_datastore.datastore.id host_system_id = data.vsphere_host.host.id remote_ovf_url = “https://download3.vmware.com/software/vmw-tools/nested-esxi/Nested_ESXi7.0u3_Appliance_Template_v1.ova” ovf_network_map = { “VM Network” : data.vsphere_network.network.id } }
Local OVF/OVA Source
data “vsphere_ovf_vm_template” “ovfLocal” { name = “Nested-ESXi-7.0-Terraform-Deploy-2” disk_provisioning = “thin” resource_pool_id = data.vsphere_resource_pool.default.id datastore_id = data.vsphere_datastore.datastore.id host_system_id = data.vsphere_host.host.id local_ovf_path = “/Volume/Storage/OVA/Nested_ESXi7.0u3_Appliance_Template_v1.ova” ovf_network_map = { “VM Network” : data.vsphere_network.network.id } }
Deployment of VM from Remote OVF
resource “vsphere_virtual_machine” “vmFromRemoteOvf” { name = “Nested-ESXi-7.0-Terraform-Deploy-1” datacenter_id = data.vsphere_datacenter.datacenter.id datastore_id = data.vsphere_datastore.datastore.id host_system_id = data.vsphere_host.host.id resource_pool_id = data.vsphere_resource_pool.default.id num_cpus = data.vsphere_ovf_vm_template.ovfRemote.num_cpus num_cores_per_socket = data.vsphere_ovf_vm_template.ovfRemote.num_cores_per_socket memory = data.vsphere_ovf_vm_template.ovfRemote.memory guest_id = data.vsphere_ovf_vm_template.ovfRemote.guest_id firmware = data.vsphere_ovf_vm_template.ovfRemote.firmware scsi_type = data.vsphere_ovf_vm_template.ovfRemote.scsi_type nested_hv_enabled = data.vsphere_ovf_vm_template.ovfRemote.nested_hv_enabled dynamic “network_interface” { for_each = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map content { network_id = network_interface.value } } wait_for_guest_net_timeout = 0 wait_for_guest_ip_timeout = 0
ovf_deploy { allow_unverified_ssl_cert = false remote_ovf_url = data.vsphere_ovf_vm_template.ovfRemote.remote_ovf_url disk_provisioning = data.vsphere_ovf_vm_template.ovfRemote.disk_provisioning ovf_network_map = data.vsphere_ovf_vm_template.ovfRemote.ovf_network_map }
vapp { properties = { “guestinfo.hostname” = “nested-esxi-01.example.com”, “guestinfo.ipaddress” = “172.16.11.101”, “guestinfo.netmask” = “255.255.255.0”, “guestinfo.gateway” = “172.16.11.1”, “guestinfo.dns” = “172.16.11.4”, “guestinfo.domain” = “example.com”, “guestinfo.ntp” = “ntp.example.com”, “guestinfo.password” = “VMware1!”, “guestinfo.ssh” = “True” } }
lifecycle { ignore_changes = [ annotation, disk[0].io_share_count, disk[1].io_share_count, disk[2].io_share_count, vapp[0].properties, ] } }
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)
// Output-based functions aren't available in Java yet
fn::invoke:
function: vsphere:index/getOvfVmTemplate:getOvfVmTemplate
arguments:
# arguments dictionary
The 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- bool
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- bool
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- Boolean
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- boolean
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- bool
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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 in the deployed OVA/OVF will have the same specified disk type. Can be one of
thin
,flat
,thick
orsameAsSource
.- Boolean
Allow properties with
ovf:userConfigurable=false
to 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
.vmdk
files 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_path
orremote_ovf_url
is 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
vsphere
Terraform Provider.