Skip to content

Commit

Permalink
feat: add vgpu to vm resource
Browse files Browse the repository at this point in the history
  • Loading branch information
mristok authored and tenthirtyam committed Apr 29, 2024
1 parent 0abcb2c commit 98f8b34
Showing 1 changed file with 23 additions and 11 deletions.
34 changes: 23 additions & 11 deletions website/docs/r/virtual_machine.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ The following options are general virtual machine and provider workflow options:

- `cdrom` - (Optional) A specification for a CD-ROM device on the virtual machine. See [CD-ROM options](#cd-rom-options) for more information.

* `clone` - (Optional) When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See [creating a virtual machine from a template](#creating-a-virtual-machine-from-a-template) for more information.
- `clone` - (Optional) When specified, the virtual machine will be created as a clone of a specified template. Optional customization options can be submitted for the resource. See [creating a virtual machine from a template](#creating-a-virtual-machine-from-a-template) for more information.

~> **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.

Expand Down Expand Up @@ -661,19 +661,17 @@ The following options are general virtual machine and provider workflow options:

- `name` - (Required) The name of the virtual machine.

* `network_interface` - (Required) A specification for a virtual NIC on the virtual machine. See [network interface options](#network-interface-options) for more information.
- `network_interface` - (Required) A specification for a virtual NIC on the virtual machine. See [network interface options](#network-interface-options) for more information.

* `pci_device_id` - (Optional) List of host PCI device IDs in which to create PCI passthroughs.
- `pci_device_id` - (Optional) List of host PCI device IDs in which to create PCI passthroughs.

* `shared_pci_device_id` - (Optional) A shared PCI device ID to create PCI passthrough.

~> **NOTE:** Cloning requires vCenter Server and is not supported on direct ESXi host connections.
- `shared_pci_device_id` - (Optional) A shared PCI device ID to create PCI passthrough.

- `ovf_deploy` - (Optional) When specified, the virtual machine will be deployed from the provided OVF/OVA template. See [creating a virtual machine from an OVF/OVA template](#creating-a-virtual-machine-from-an-ovf-ova-template) for more information.

* `replace_trigger` - (Optional) Triggers replacement of resource whenever it changes.
- `replace_trigger` - (Optional) Triggers replacement of resource whenever it changes.

For example, `replace_trigger = sha256(format("%s-%s",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)
For example, `replace_trigger = sha256(format("%s-%s",data.template_file.cloud_init_metadata.rendered,data.template_file.cloud_init_userdata.rendered))` will fingerprint the changes in cloud-init metadata and userdata templates. This will enable a replacement of the resource whenever the dependant template renders a new configuration. (Forces a replacement.)

- `resource_pool_id` - (Required) The [managed object reference ID][docs-about-morefs] of the resource pool in which to place the virtual machine. See the [Virtual Machine Migration](#virtual-machine-migration) section for more information on modifying this value.

Expand All @@ -685,10 +683,24 @@ For example, `replace_trigger = sha256(format("%s-%s",data.template_file.cloud_i

- `scsi_type` - (Optional) The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`.

* `scsi_bus_sharing` - (Optional) The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.
- `scsi_bus_sharing` - (Optional) The type of SCSI bus sharing for the virtual machine SCSI controller. One of `physicalSharing`, `virtualSharing`, and `noSharing`. Default: `noSharing`.

- # `storage_policy_id` - (Optional) The ID of the storage policy to assign to the home directory of a virtual machine.

- `shared_pci_device_id` - (Optional) List of shared PCI device(s) to create
shared PCI passthrough.

For example, attaching a vGPU to the virtual machine:
`shared_pci_device_id = ["grid_a100d-40c"]`

~> **NOTE:** The use of vGPU requires that the VM has memory reservation set equal
to the amount of provisioned memory. This can be accomplished by leveraging
the [`memory_reservation`](#memory_reservation) option.

- `storage_policy_id` - (Optional) The ID of the storage policy to assign to the home directory of a virtual machine.

> > > > > > > 0276fdd7 (feat: add vgpu to vm resource)
- `tags` - (Optional) The IDs of any tags to attach to this resource. Please refer to the [`vsphere_tag`][docs-applying-tags] resource for more information on applying tags to virtual machine resources.

[docs-applying-tags]: /docs/providers/vsphere/r/tag.html#using-tags-in-a-supported-resource
Expand Down Expand Up @@ -1266,7 +1278,7 @@ The options are:

- `admin_password` - (Optional) The administrator password for the virtual machine.

~> **NOTE:** `admin_password` is a sensitive field and will not be output on-screen, but is stored in state and sent to the virtual machine in plain text.
~> \*_NOTE:_- `admin_password` is a sensitive field and will not be output on-screen, but is stored in state and sent to the virtual machine in plain text.

- `workgroup` - (Optional) The workgroup name for the virtual machine. One of this or `join_domain` must be included.

Expand All @@ -1276,7 +1288,7 @@ The options are:

- `domain_admin_password` - (Optional) The password user account with administrative privileges used to join the virtual machine to the domain. Required if setting `join_domain`.

~> **NOTE:** `domain_admin_password` is a sensitive field and will not be output on-screen, but is stored in state and sent to the virtual machine in plain text
~> \*_NOTE:_- `domain_admin_password` is a sensitive field and will not be output on-screen, but is stored in state and sent to the virtual machine in plain text

- `full_name` - (Optional) The full name of the organization owner of the virtual machine. This populates the "user" field in the general Windows system information. Default: `Administrator`.

Expand Down

0 comments on commit 98f8b34

Please sign in to comment.