diff --git a/.web-docs/components/builder/vsphere-clone/README.md b/.web-docs/components/builder/vsphere-clone/README.md index a9fb2f43..354d67ed 100644 --- a/.web-docs/components/builder/vsphere-clone/README.md +++ b/.web-docs/components/builder/vsphere-clone/README.md @@ -30,25 +30,29 @@ necessary for this build to succeed and can be found further down the page. -- `create_snapshot` (bool) - Specifies to create a snapshot of the virtual machine to use as a base for linked clones. - Defaults to `false`. +- `create_snapshot` (bool) - Create a snapshot of the virtual machine to use as a base for linked + clones. Defaults to `false`. -- `snapshot_name` (string) - Specifies the name of the snapshot when `create_snapshot` is `true`. +- `snapshot_name` (string) - The name of the snapshot when `create_snapshot` is `true`. Defaults to `Created By Packer`. -- `convert_to_template` (bool) - Specifies to convert the cloned virtual machine to a template after the build is complete. - Defaults to `false`. - If set to `true`, the virtual machine can not be imported to a content library. +- `convert_to_template` (bool) - Convert the cloned virtual machine to a template after the build is + complete. Defaults to `false`. + If set to `true`, the virtual machine can not be imported to a content + library. -- `export` (\*common.ExportConfig) - Specifies the configuration for exporting the virtual machine to an OVF. - The virtual machine is not exported if [export configuration](#export-configuration) is not specified. +- `export` (\*common.ExportConfig) - The configuration for exporting the virtual machine to an OVF. + The virtual machine is not exported if [export configuration](#export-configuration) + is not specified. -- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Specifies the configuration for importing a VM template or OVF template to a content library. - The template will not be imported if no [content library import configuration](#content-library-import-configuration) is specified. - If set, `convert_to_template` must be set to `false`. +- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - The configuration for importing a VM template or OVF template to a + content library. The template will not be imported if no + [content library import configuration](#content-library-import-configuration) + is specified. If set, `convert_to_template` must be set to `false`. -- `customize` (\*CustomizeConfig) - Specifies the customization options for the virtual machine. - Refer to the [customization options](#customization) section for more information. +- `customize` (\*CustomizeConfig) - The customization options for the virtual machine. + Refer to the [customization options](#customization) section for more + information. @@ -57,16 +61,16 @@ necessary for this build to succeed and can be found further down the page. -- `template` (string) - Specifies the name of the source virtual machine to clone. +- `template` (string) - The name of the source virtual machine to clone. -- `disk_size` (int64) - Specifies the size of the primary disk in MiB. - Cannot be used with `linked_clone`. - -> **Note:** Only the primary disk size can be specified. Additional disks are not supported. +- `disk_size` (int64) - The size of the primary disk in MiB. Cannot be used with `linked_clone`. + -> **Note:** Only the primary disk size can be specified. Additional + disks are not supported. -- `linked_clone` (bool) - Specifies that the virtual machine is created as a linked clone from the latest snapshot. Defaults to `false`. - Cannot be used with `disk_size`.` +- `linked_clone` (bool) - Create the virtual machine as a linked clone from the latest snapshot. + Defaults to `false`. Cannot be used with `disk_size`.` -- `network` (string) - Specifies the network to which the virtual machine will connect. +- `network` (string) - The network to which the virtual machine will connect. For example: @@ -77,21 +81,22 @@ necessary for this build to succeed and can be found further down the page. - Logical Switch UUID: `` - Segment ID: `/infra/segments/` - ~> **Note:** If more than one network resolves to the same name, either the inventory path to - network or an ID must be provided. + ~> **Note:** If more than one network resolves to the same name, either + the inventory path to network or an ID must be provided. - ~> **Note:** If no network is specified, provide `host` to allow the plugin to search for an - available network. + ~> **Note:** If no network is specified, provide `host` to allow the + plugin to search for an available network. -- `mac_address` (string) - Specifies the network card MAC address. For example `00:50:56:00:00:00`. +- `mac_address` (string) - The network card MAC address. For example `00:50:56:00:00:00`. If set, the `network` must be also specified. -- `notes` (string) - Specifies the annotations for the virtual machine. +- `notes` (string) - The annotations for the virtual machine. -- `destroy` (bool) - Specifies whether to destroy the virtual machine after the build is complete. +- `destroy` (bool) - Destroy the virtual machine after the build is complete. + Defaults to `false`. -- `vapp` (vAppConfig) - Specifies the vApp Options for the virtual machine. For more information, refer to the - [vApp Options Configuration](/packer/integrations/hashicorp/vmware/latest/components/builder/vsphere-clone#vapp-options-configuration) +- `vapp` (vAppConfig) - The vApp Options for the virtual machine. For more information, refer to + the [vApp Options Configuration](/packer/integrations/hashicorp/vmware/latest/components/builder/vsphere-clone#vapp-options-configuration) section. @@ -224,16 +229,17 @@ In HCL2: -- `properties` (map[string]string) - Specifies the values for the available vApp properties. These are used to supply - configuration parameters to a virtual machine. This machine is cloned from a template - that originated from an imported OVF or OVA file. +- `properties` (map[string]string) - The values for the available vApp properties. These are used to supply + configuration parameters to a virtual machine. This machine is cloned + from a template that originated from an imported OVF or OVA file. - -> **Note:** The only supported usage path for vApp properties is for existing - user-configurable keys. These generally come from an existing template that was - created from an imported OVF or OVA file. + -> **Note:** The only supported usage path for vApp properties is for + existing user-configurable keys. These generally come from an existing + template that was created from an imported OVF or OVA file. - You cannot set values for vApp properties on virtual machines created from scratch, - on virtual machines that lack a vApp configuration, or on property keys that do not exist. + You cannot set values for vApp properties on virtual machines created + from scratch, on virtual machines that lack a vApp configuration, or on + property keys that do not exist. @@ -289,10 +295,11 @@ can be done via environment variable: A cloned virtual machine can be [customized](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-58E346FF-83AE-42B8-BE58-253641D257BC.html) to configure host, network, or licensing settings. -To perform virtual machine customization as a part of the clone process, specify the customize block with the -respective customization options. Windows guests are customized using Sysprep, which will result in the machine SID being reset. -Before using customization, check that your source virtual machine meets the -[requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) +To perform virtual machine customization as a part of the clone process, +specify the customize block with the respective customization options. +Windows guests are customized using Sysprep, which will result in the machine +SID being reset. Before using customization, check that your source virtual +machine meets the [requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) for guest OS customization on vSphere. Refer to the [customization example](#customization-example) for a usage synopsis. The settings for guest customization include: @@ -302,13 +309,21 @@ The settings for guest customization include: -- `linux_options` (\*LinuxOptions) - Settings for the guest customization of Linux operating systems. Refer to the [Linux options](#linux-options) section for additional details. +- `linux_options` (\*LinuxOptions) - Settings for the guest customization of Linux operating systems. + Refer to the [Linux options](#linux-options) section for additional + details. -- `windows_options` (\*WindowsOptions) - Settings for the guest customization of Windows operating systems. Refer to the [Windows options](#windows-options) section for additional details. +- `windows_options` (\*WindowsOptions) - Settings for the guest customization of Windows operating systems. + Refer to the [Windows options](#windows-options) section for additional + details. -- `windows_sysprep_file` (string) - Provide a `sysprep.xml` file to allow control of the customization process independent of vSphere. This option is deprecated, please use `windows_sysprep_text`. +- `windows_sysprep_file` (string) - Provide a `sysprep.xml` file to allow control of the customization + process independent of vSphere. This option is deprecated, please use + `windows_sysprep_text`. -- `windows_sysprep_text` (string) - Provide the text for the `sysprep.xml` content to allow control of the customization process independent of vSphere. This option is intended to be used with HCL templates. +- `windows_sysprep_text` (string) - Provide the text for the `sysprep.xml` content to allow control of the + customization process independent of vSphere. This option is intended to + be used with HCL templates. Example usage: @@ -329,9 +344,11 @@ The settings for guest customization include: } ``` -- `network_interface` (NetworkInterfaces) - Set up network interfaces individually to correspond with the network adapters on the virtual machine. - To use DHCP, specify an empty `network_interface` for each configured adapter. This field is mandatory. - Refer to the [network interface](#network-interface-settings) section for additional details. +- `network_interface` (NetworkInterfaces) - Set up network interfaces individually to correspond with the network + adapters on the virtual machine. To use DHCP, specify an empty + `network_interface` for each configured adapter. This field is mandatory. + Refer to the [network interface](#network-interface-settings) section for + additional details. @@ -340,19 +357,27 @@ The settings for guest customization include: -- `dns_server_list` ([]string) - Specifies the DNS servers for a specific network interface on a Windows guest operating system. - Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. +- `dns_server_list` ([]string) - The DNS servers for a specific network interface on a Windows guest + operating system. Ignored on Linux. Refer to the + [global DNS settings](#global-dns-settings) section for additional + details. -- `dns_domain` (string) - Specifies the DNS search domain for a specific network interface on a Windows guest operating system. - Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. +- `dns_domain` (string) - The DNS search domain for a specific network interface on a Windows guest + operating system. Ignored on Linux. Refer to the + [global DNS settings](#global-dns-settings) section for additional + details. -- `ipv4_address` (string) - Specifies the IPv4 address assigned to the network adapter. If left blank or not included, DHCP is used. +- `ipv4_address` (string) - The IPv4 address assigned to the network adapter. If left blank or not + included, DHCP is used. -- `ipv4_netmask` (int) - Specifies the IPv4 subnet mask, in bits, for the network adapter. For example, `24` for a `/24` subnet. +- `ipv4_netmask` (int) - The IPv4 subnet mask, in bits, for the network adapter. For example, `24` + for a `/24` subnet. -- `ipv6_address` (string) - Specifies the IPv6 address assigned to the network adapter. If left blank or not included, auto-configuration is used. +- `ipv6_address` (string) - The IPv6 address assigned to the network adapter. If left blank or not + included, auto-configuration is used. -- `ipv6_netmask` (int) - Specifies the IPv6 subnet mask, in bits, for the network adapter. For example, `64` for a `/64` subnet. +- `ipv6_netmask` (int) - The IPv6 subnet mask, in bits, for the network adapter. For example, `64` + for a `/64` subnet. @@ -368,16 +393,17 @@ The settings for guest customization include: -The settings must match the IP address and subnet mask of at least one `network_interface` for the customization. +The settings must match the IP address and subnet mask of at least one +`network_interface` for the customization. -- `ipv4_gateway` (string) - Specifies the IPv4 default gateway when using `network_interface` customization. +- `ipv4_gateway` (string) - The IPv4 default gateway when using `network_interface` customization. -- `ipv6_gateway` (string) - Specifies the IPv6 default gateway when using `network_interface` customization. +- `ipv6_gateway` (string) - The IPv6 default gateway when using `network_interface` customization. @@ -386,17 +412,20 @@ The settings must match the IP address and subnet mask of at least one `network_ -The following settings configure DNS globally for Linux guest operating systems. -For Windows guest operating systems, this is set for each network interface. Refer to the [network interface](#network_interface) section for additional details. +The following settings configure DNS globally for Linux guest operating +systems. For Windows guest operating systems, this is set for each network +interface. Refer to the [network interface](#network_interface) section for +additional details. -- `dns_server_list` ([]string) - Specifies a list of DNS servers to configure on the guest operating system. +- `dns_server_list` ([]string) - A list of DNS servers to configure on the guest operating system. -- `dns_suffix_list` ([]string) - Specifies a list of DNS search domains to add to the DNS configuration on the guest operating system. +- `dns_suffix_list` ([]string) - A list of DNS search domains to add to the DNS configuration on the guest + operating system. @@ -405,13 +434,17 @@ For Windows guest operating systems, this is set for each network interface. Ref -- `domain` (string) - Specifies the domain name for the guest operating system. Used with [host_name](#host_name) to construct the fully qualified domain name (FQDN). +- `domain` (string) - The domain name for the guest operating system. Used with + [host_name](#host_name) to construct the fully qualified domain name + (FQDN). -- `host_name` (string) - Specifies the hostname for the guest operating system. Used with [domain](#domain) to construct the fully qualified domain name (FQDN). +- `host_name` (string) - The hostname for the guest operating system. Used with [domain](#domain) + to construct the fully qualified domain name (FQDN). -- `hw_clock_utc` (boolean) - Specifies whether the hardware clock is set to Coordinated Universal Time (UTC). Defaults to `true`. +- `hw_clock_utc` (boolean) - Set the hardware clock to Coordinated Universal Time (UTC). + Defaults to `true`. -- `time_zone` (string) - Specifies the time zone for the guest operating system. +- `time_zone` (string) - The time zone for the guest operating system. @@ -458,25 +491,33 @@ Example of usage: -- `run_once_command_list` ([]string) - Specifies a list of commands to run at first logon after the guest operating system is customized. +- `run_once_command_list` ([]string) - A list of commands to run at first logon after the guest operating system + is customized. -- `auto_logon` (\*bool) - Specifies whether the guest operating system automatically logs on as Administrator. +- `auto_logon` (\*bool) - Aautomatically log on the Administrator account after the guest operating + system is customized. -- `auto_logon_count` (\*int32) - Specifies how many times the guest operating system should auto-logon the Administrator account when `auto_logon` is set to `true`. Default:s to `1`. +- `auto_logon_count` (\*int32) - The number of times the guest operating system should auto-logon the + Administrator account when `auto_logon` is set to `true`. + Defaults to `1`. -- `admin_password` (\*string) - Specifies the password for the guest operating system's Administrator account. +- `admin_password` (\*string) - The password for the guest operating system's `Administrator`` account. -- `time_zone` (\*int32) - Specifies the time zone for the guest operating system. Default to `85` (Pacific Time). +- `time_zone` (\*int32) - The time zone for the guest operating system. + Defaults to `85` (Pacific Time). -- `workgroup` (string) - Specifies the workgroup for the guest operating system. Joining an Active Directory domain is not supported. +- `workgroup` (string) - The workgroup for the guest operating system. + Joining an Active Directory domain is not supported. -- `computer_name` (string) - Specifies the hostname for the guest operating system. +- `computer_name` (string) - The hostname for the guest operating system. -- `full_name` (string) - Specifies the full name for the guest operating system's Administrator account. Defaults to `Administrator`. +- `full_name` (string) - The full name for the guest operating system's Administrator account. + Defaults to `Administrator`. -- `organization_name` (string) - Specifies the organization name for the guest operating system. Defaults to `Built by Packer`. +- `organization_name` (string) - The organization name for the guest operating system. + Defaults to `Built by Packer`. -- `product_key` (string) - Specifies the product key for the guest operating system. +- `product_key` (string) - The product key for the guest operating system. diff --git a/builder/vsphere/clone/config.go b/builder/vsphere/clone/config.go index ff14c096..1526315c 100644 --- a/builder/vsphere/clone/config.go +++ b/builder/vsphere/clone/config.go @@ -38,25 +38,29 @@ type Config struct { Comm communicator.Config `mapstructure:",squash"` common.ShutdownConfig `mapstructure:",squash"` - // Specifies to create a snapshot of the virtual machine to use as a base for linked clones. - // Defaults to `false`. + // Create a snapshot of the virtual machine to use as a base for linked + // clones. Defaults to `false`. CreateSnapshot bool `mapstructure:"create_snapshot"` - // Specifies the name of the snapshot when `create_snapshot` is `true`. + // The name of the snapshot when `create_snapshot` is `true`. // Defaults to `Created By Packer`. SnapshotName string `mapstructure:"snapshot_name"` - // Specifies to convert the cloned virtual machine to a template after the build is complete. - // Defaults to `false`. - // If set to `true`, the virtual machine can not be imported to a content library. + // Convert the cloned virtual machine to a template after the build is + // complete. Defaults to `false`. + // If set to `true`, the virtual machine can not be imported to a content + // library. ConvertToTemplate bool `mapstructure:"convert_to_template"` - // Specifies the configuration for exporting the virtual machine to an OVF. - // The virtual machine is not exported if [export configuration](#export-configuration) is not specified. + // The configuration for exporting the virtual machine to an OVF. + // The virtual machine is not exported if [export configuration](#export-configuration) + // is not specified. Export *common.ExportConfig `mapstructure:"export"` - // Specifies the configuration for importing a VM template or OVF template to a content library. - // The template will not be imported if no [content library import configuration](#content-library-import-configuration) is specified. - // If set, `convert_to_template` must be set to `false`. + // The configuration for importing a VM template or OVF template to a + // content library. The template will not be imported if no + // [content library import configuration](#content-library-import-configuration) + // is specified. If set, `convert_to_template` must be set to `false`. ContentLibraryDestinationConfig *common.ContentLibraryDestinationConfig `mapstructure:"content_library_destination"` - // Specifies the customization options for the virtual machine. - // Refer to the [customization options](#customization) section for more information. + // The customization options for the virtual machine. + // Refer to the [customization options](#customization) section for more + // information. CustomizeConfig *CustomizeConfig `mapstructure:"customize"` ctx interpolate.Context diff --git a/builder/vsphere/clone/step_clone.go b/builder/vsphere/clone/step_clone.go index 140ecf02..64947fa1 100644 --- a/builder/vsphere/clone/step_clone.go +++ b/builder/vsphere/clone/step_clone.go @@ -20,30 +20,31 @@ import ( ) type vAppConfig struct { - // Specifies the values for the available vApp properties. These are used to supply - // configuration parameters to a virtual machine. This machine is cloned from a template - // that originated from an imported OVF or OVA file. + // The values for the available vApp properties. These are used to supply + // configuration parameters to a virtual machine. This machine is cloned + // from a template that originated from an imported OVF or OVA file. // - // -> **Note:** The only supported usage path for vApp properties is for existing - // user-configurable keys. These generally come from an existing template that was - // created from an imported OVF or OVA file. + // -> **Note:** The only supported usage path for vApp properties is for + // existing user-configurable keys. These generally come from an existing + // template that was created from an imported OVF or OVA file. // - // You cannot set values for vApp properties on virtual machines created from scratch, - // on virtual machines that lack a vApp configuration, or on property keys that do not exist. + // You cannot set values for vApp properties on virtual machines created + // from scratch, on virtual machines that lack a vApp configuration, or on + // property keys that do not exist. Properties map[string]string `mapstructure:"properties"` } type CloneConfig struct { - // Specifies the name of the source virtual machine to clone. + // The name of the source virtual machine to clone. Template string `mapstructure:"template"` - // Specifies the size of the primary disk in MiB. - // Cannot be used with `linked_clone`. - // -> **Note:** Only the primary disk size can be specified. Additional disks are not supported. + // The size of the primary disk in MiB. Cannot be used with `linked_clone`. + // -> **Note:** Only the primary disk size can be specified. Additional + // disks are not supported. DiskSize int64 `mapstructure:"disk_size"` - // Specifies that the virtual machine is created as a linked clone from the latest snapshot. Defaults to `false`. - // Cannot be used with `disk_size`.` + // Create the virtual machine as a linked clone from the latest snapshot. + // Defaults to `false`. Cannot be used with `disk_size`.` LinkedClone bool `mapstructure:"linked_clone"` - // Specifies the network to which the virtual machine will connect. + // The network to which the virtual machine will connect. // // For example: // @@ -54,21 +55,22 @@ type CloneConfig struct { // - Logical Switch UUID: `` // - Segment ID: `/infra/segments/` // - // ~> **Note:** If more than one network resolves to the same name, either the inventory path to - // network or an ID must be provided. + // ~> **Note:** If more than one network resolves to the same name, either + // the inventory path to network or an ID must be provided. // - // ~> **Note:** If no network is specified, provide `host` to allow the plugin to search for an - // available network. + // ~> **Note:** If no network is specified, provide `host` to allow the + // plugin to search for an available network. Network string `mapstructure:"network"` - // Specifies the network card MAC address. For example `00:50:56:00:00:00`. + // The network card MAC address. For example `00:50:56:00:00:00`. // If set, the `network` must be also specified. MacAddress string `mapstructure:"mac_address"` - // Specifies the annotations for the virtual machine. + // The annotations for the virtual machine. Notes string `mapstructure:"notes"` - // Specifies whether to destroy the virtual machine after the build is complete. + // Destroy the virtual machine after the build is complete. + // Defaults to `false`. Destroy bool `mapstructure:"destroy"` - // Specifies the vApp Options for the virtual machine. For more information, refer to the - // [vApp Options Configuration](/packer/plugins/builders/vmware/vsphere-clone#vapp-options-configuration) + // The vApp Options for the virtual machine. For more information, refer to + // the [vApp Options Configuration](/packer/plugins/builders/vmware/vsphere-clone#vapp-options-configuration) // section. VAppConfig vAppConfig `mapstructure:"vapp"` StorageConfig common.StorageConfig `mapstructure:",squash"` diff --git a/builder/vsphere/clone/step_customize.go b/builder/vsphere/clone/step_customize.go index 0c53eb42..9e5d7cbf 100644 --- a/builder/vsphere/clone/step_customize.go +++ b/builder/vsphere/clone/step_customize.go @@ -26,21 +26,30 @@ var ( // A cloned virtual machine can be [customized](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-58E346FF-83AE-42B8-BE58-253641D257BC.html) // to configure host, network, or licensing settings. // -// To perform virtual machine customization as a part of the clone process, specify the customize block with the -// respective customization options. Windows guests are customized using Sysprep, which will result in the machine SID being reset. -// Before using customization, check that your source virtual machine meets the -// [requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) +// To perform virtual machine customization as a part of the clone process, +// specify the customize block with the respective customization options. +// Windows guests are customized using Sysprep, which will result in the machine +// SID being reset. Before using customization, check that your source virtual +// machine meets the [requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) // for guest OS customization on vSphere. Refer to the [customization example](#customization-example) for a usage synopsis. // // The settings for guest customization include: type CustomizeConfig struct { - // Settings for the guest customization of Linux operating systems. Refer to the [Linux options](#linux-options) section for additional details. + // Settings for the guest customization of Linux operating systems. + // Refer to the [Linux options](#linux-options) section for additional + // details. LinuxOptions *LinuxOptions `mapstructure:"linux_options"` - // Settings for the guest customization of Windows operating systems. Refer to the [Windows options](#windows-options) section for additional details. + // Settings for the guest customization of Windows operating systems. + // Refer to the [Windows options](#windows-options) section for additional + // details. WindowsOptions *WindowsOptions `mapstructure:"windows_options"` - // Provide a `sysprep.xml` file to allow control of the customization process independent of vSphere. This option is deprecated, please use `windows_sysprep_text`. + // Provide a `sysprep.xml` file to allow control of the customization + // process independent of vSphere. This option is deprecated, please use + // `windows_sysprep_text`. WindowsSysPrepFile string `mapstructure:"windows_sysprep_file"` - // Provide the text for the `sysprep.xml` content to allow control of the customization process independent of vSphere. This option is intended to be used with HCL templates. + // Provide the text for the `sysprep.xml` content to allow control of the + // customization process independent of vSphere. This option is intended to + // be used with HCL templates. // // Example usage: // @@ -61,81 +70,107 @@ type CustomizeConfig struct { // } // ``` WindowsSysPrepText string `mapstructure:"windows_sysprep_text"` - // Set up network interfaces individually to correspond with the network adapters on the virtual machine. - // To use DHCP, specify an empty `network_interface` for each configured adapter. This field is mandatory. - // Refer to the [network interface](#network-interface-settings) section for additional details. + // Set up network interfaces individually to correspond with the network + // adapters on the virtual machine. To use DHCP, specify an empty + // `network_interface` for each configured adapter. This field is mandatory. + // Refer to the [network interface](#network-interface-settings) section for + // additional details. NetworkInterfaces NetworkInterfaces `mapstructure:"network_interface"` GlobalRoutingSettings `mapstructure:",squash"` GlobalDnsSettings `mapstructure:",squash"` } type LinuxOptions struct { - // Specifies the domain name for the guest operating system. Used with [host_name](#host_name) to construct the fully qualified domain name (FQDN). + // The domain name for the guest operating system. Used with + // [host_name](#host_name) to construct the fully qualified domain name + // (FQDN). Domain string `mapstructure:"domain"` - // Specifies the hostname for the guest operating system. Used with [domain](#domain) to construct the fully qualified domain name (FQDN). + // The hostname for the guest operating system. Used with [domain](#domain) + // to construct the fully qualified domain name (FQDN). Hostname string `mapstructure:"host_name"` - // Specifies whether the hardware clock is set to Coordinated Universal Time (UTC). Defaults to `true`. + // Set the hardware clock to Coordinated Universal Time (UTC). + // Defaults to `true`. HWClockUTC config.Trilean `mapstructure:"hw_clock_utc"` - // Specifies the time zone for the guest operating system. + // The time zone for the guest operating system. Timezone string `mapstructure:"time_zone"` } type WindowsOptions struct { - // Specifies a list of commands to run at first logon after the guest operating system is customized. + // A list of commands to run at first logon after the guest operating system + // is customized. RunOnceCommandList []string `mapstructure:"run_once_command_list"` - // Specifies whether the guest operating system automatically logs on as Administrator. + // Aautomatically log on the Administrator account after the guest operating + // system is customized. AutoLogon *bool `mapstructure:"auto_logon"` - // Specifies how many times the guest operating system should auto-logon the Administrator account when `auto_logon` is set to `true`. Default:s to `1`. + // The number of times the guest operating system should auto-logon the + // Administrator account when `auto_logon` is set to `true`. + // Defaults to `1`. AutoLogonCount *int32 `mapstructure:"auto_logon_count"` - // Specifies the password for the guest operating system's Administrator account. + // The password for the guest operating system's `Administrator`` account. AdminPassword *string `mapstructure:"admin_password"` - // Specifies the time zone for the guest operating system. Default to `85` (Pacific Time). + // The time zone for the guest operating system. + // Defaults to `85` (Pacific Time). TimeZone *int32 `mapstructure:"time_zone"` - // Specifies the workgroup for the guest operating system. Joining an Active Directory domain is not supported. + // The workgroup for the guest operating system. + // Joining an Active Directory domain is not supported. Workgroup string `mapstructure:"workgroup"` - // Specifies the hostname for the guest operating system. + // The hostname for the guest operating system. ComputerName string `mapstructure:"computer_name"` - // Specifies the full name for the guest operating system's Administrator account. Defaults to `Administrator`. + // The full name for the guest operating system's Administrator account. + // Defaults to `Administrator`. FullName string `mapstructure:"full_name"` - // Specifies the organization name for the guest operating system. Defaults to `Built by Packer`. + // The organization name for the guest operating system. + // Defaults to `Built by Packer`. OrganizationName string `mapstructure:"organization_name"` - // Specifies the product key for the guest operating system. + // The product key for the guest operating system. ProductKey string `mapstructure:"product_key"` } type NetworkInterface struct { - // Specifies the DNS servers for a specific network interface on a Windows guest operating system. - // Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. + // The DNS servers for a specific network interface on a Windows guest + // operating system. Ignored on Linux. Refer to the + // [global DNS settings](#global-dns-settings) section for additional + // details. DnsServerList []string `mapstructure:"dns_server_list"` - // Specifies the DNS search domain for a specific network interface on a Windows guest operating system. - // Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. + // The DNS search domain for a specific network interface on a Windows guest + // operating system. Ignored on Linux. Refer to the + // [global DNS settings](#global-dns-settings) section for additional + // details. DnsDomain string `mapstructure:"dns_domain"` - // Specifies the IPv4 address assigned to the network adapter. If left blank or not included, DHCP is used. + // The IPv4 address assigned to the network adapter. If left blank or not + // included, DHCP is used. Ipv4Address string `mapstructure:"ipv4_address"` - // Specifies the IPv4 subnet mask, in bits, for the network adapter. For example, `24` for a `/24` subnet. + // The IPv4 subnet mask, in bits, for the network adapter. For example, `24` + // for a `/24` subnet. Ipv4NetMask int `mapstructure:"ipv4_netmask"` - // Specifies the IPv6 address assigned to the network adapter. If left blank or not included, auto-configuration is used. + // The IPv6 address assigned to the network adapter. If left blank or not + // included, auto-configuration is used. Ipv6Address string `mapstructure:"ipv6_address"` - // Specifies the IPv6 subnet mask, in bits, for the network adapter. For example, `64` for a `/64` subnet. + // The IPv6 subnet mask, in bits, for the network adapter. For example, `64` + // for a `/64` subnet. Ipv6NetMask int `mapstructure:"ipv6_netmask"` } type NetworkInterfaces []NetworkInterface -// The settings must match the IP address and subnet mask of at least one `network_interface` for the customization. +// The settings must match the IP address and subnet mask of at least one +// `network_interface` for the customization. type GlobalRoutingSettings struct { - // Specifies the IPv4 default gateway when using `network_interface` customization. + // The IPv4 default gateway when using `network_interface` customization. Ipv4Gateway string `mapstructure:"ipv4_gateway"` - // Specifies the IPv6 default gateway when using `network_interface` customization. + // The IPv6 default gateway when using `network_interface` customization. Ipv6Gateway string `mapstructure:"ipv6_gateway"` } -// The following settings configure DNS globally for Linux guest operating systems. -// For Windows guest operating systems, this is set for each network interface. Refer to the [network interface](#network_interface) section for additional details. +// The following settings configure DNS globally for Linux guest operating +// systems. For Windows guest operating systems, this is set for each network +// interface. Refer to the [network interface](#network_interface) section for +// additional details. type GlobalDnsSettings struct { - // Specifies a list of DNS servers to configure on the guest operating system. + // A list of DNS servers to configure on the guest operating system. DnsServerList []string `mapstructure:"dns_server_list"` - // Specifies a list of DNS search domains to add to the DNS configuration on the guest operating system. + // A list of DNS search domains to add to the DNS configuration on the guest + // operating system. DnsSuffixList []string `mapstructure:"dns_suffix_list"` } diff --git a/docs-partials/builder/vsphere/clone/CloneConfig-not-required.mdx b/docs-partials/builder/vsphere/clone/CloneConfig-not-required.mdx index db073b54..2afd6b14 100644 --- a/docs-partials/builder/vsphere/clone/CloneConfig-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/CloneConfig-not-required.mdx @@ -1,15 +1,15 @@ -- `template` (string) - Specifies the name of the source virtual machine to clone. +- `template` (string) - The name of the source virtual machine to clone. -- `disk_size` (int64) - Specifies the size of the primary disk in MiB. - Cannot be used with `linked_clone`. - -> **Note:** Only the primary disk size can be specified. Additional disks are not supported. +- `disk_size` (int64) - The size of the primary disk in MiB. Cannot be used with `linked_clone`. + -> **Note:** Only the primary disk size can be specified. Additional + disks are not supported. -- `linked_clone` (bool) - Specifies that the virtual machine is created as a linked clone from the latest snapshot. Defaults to `false`. - Cannot be used with `disk_size`.` +- `linked_clone` (bool) - Create the virtual machine as a linked clone from the latest snapshot. + Defaults to `false`. Cannot be used with `disk_size`.` -- `network` (string) - Specifies the network to which the virtual machine will connect. +- `network` (string) - The network to which the virtual machine will connect. For example: @@ -20,21 +20,22 @@ - Logical Switch UUID: `` - Segment ID: `/infra/segments/` - ~> **Note:** If more than one network resolves to the same name, either the inventory path to - network or an ID must be provided. + ~> **Note:** If more than one network resolves to the same name, either + the inventory path to network or an ID must be provided. - ~> **Note:** If no network is specified, provide `host` to allow the plugin to search for an - available network. + ~> **Note:** If no network is specified, provide `host` to allow the + plugin to search for an available network. -- `mac_address` (string) - Specifies the network card MAC address. For example `00:50:56:00:00:00`. +- `mac_address` (string) - The network card MAC address. For example `00:50:56:00:00:00`. If set, the `network` must be also specified. -- `notes` (string) - Specifies the annotations for the virtual machine. +- `notes` (string) - The annotations for the virtual machine. -- `destroy` (bool) - Specifies whether to destroy the virtual machine after the build is complete. +- `destroy` (bool) - Destroy the virtual machine after the build is complete. + Defaults to `false`. -- `vapp` (vAppConfig) - Specifies the vApp Options for the virtual machine. For more information, refer to the - [vApp Options Configuration](/packer/plugins/builders/vmware/vsphere-clone#vapp-options-configuration) +- `vapp` (vAppConfig) - The vApp Options for the virtual machine. For more information, refer to + the [vApp Options Configuration](/packer/plugins/builders/vmware/vsphere-clone#vapp-options-configuration) section. diff --git a/docs-partials/builder/vsphere/clone/Config-not-required.mdx b/docs-partials/builder/vsphere/clone/Config-not-required.mdx index d3431562..16835687 100644 --- a/docs-partials/builder/vsphere/clone/Config-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/Config-not-required.mdx @@ -1,23 +1,27 @@ -- `create_snapshot` (bool) - Specifies to create a snapshot of the virtual machine to use as a base for linked clones. - Defaults to `false`. +- `create_snapshot` (bool) - Create a snapshot of the virtual machine to use as a base for linked + clones. Defaults to `false`. -- `snapshot_name` (string) - Specifies the name of the snapshot when `create_snapshot` is `true`. +- `snapshot_name` (string) - The name of the snapshot when `create_snapshot` is `true`. Defaults to `Created By Packer`. -- `convert_to_template` (bool) - Specifies to convert the cloned virtual machine to a template after the build is complete. - Defaults to `false`. - If set to `true`, the virtual machine can not be imported to a content library. +- `convert_to_template` (bool) - Convert the cloned virtual machine to a template after the build is + complete. Defaults to `false`. + If set to `true`, the virtual machine can not be imported to a content + library. -- `export` (\*common.ExportConfig) - Specifies the configuration for exporting the virtual machine to an OVF. - The virtual machine is not exported if [export configuration](#export-configuration) is not specified. +- `export` (\*common.ExportConfig) - The configuration for exporting the virtual machine to an OVF. + The virtual machine is not exported if [export configuration](#export-configuration) + is not specified. -- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Specifies the configuration for importing a VM template or OVF template to a content library. - The template will not be imported if no [content library import configuration](#content-library-import-configuration) is specified. - If set, `convert_to_template` must be set to `false`. +- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - The configuration for importing a VM template or OVF template to a + content library. The template will not be imported if no + [content library import configuration](#content-library-import-configuration) + is specified. If set, `convert_to_template` must be set to `false`. -- `customize` (\*CustomizeConfig) - Specifies the customization options for the virtual machine. - Refer to the [customization options](#customization) section for more information. +- `customize` (\*CustomizeConfig) - The customization options for the virtual machine. + Refer to the [customization options](#customization) section for more + information. diff --git a/docs-partials/builder/vsphere/clone/CustomizeConfig-not-required.mdx b/docs-partials/builder/vsphere/clone/CustomizeConfig-not-required.mdx index d134b71c..85be71d9 100644 --- a/docs-partials/builder/vsphere/clone/CustomizeConfig-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/CustomizeConfig-not-required.mdx @@ -1,12 +1,20 @@ -- `linux_options` (\*LinuxOptions) - Settings for the guest customization of Linux operating systems. Refer to the [Linux options](#linux-options) section for additional details. +- `linux_options` (\*LinuxOptions) - Settings for the guest customization of Linux operating systems. + Refer to the [Linux options](#linux-options) section for additional + details. -- `windows_options` (\*WindowsOptions) - Settings for the guest customization of Windows operating systems. Refer to the [Windows options](#windows-options) section for additional details. +- `windows_options` (\*WindowsOptions) - Settings for the guest customization of Windows operating systems. + Refer to the [Windows options](#windows-options) section for additional + details. -- `windows_sysprep_file` (string) - Provide a `sysprep.xml` file to allow control of the customization process independent of vSphere. This option is deprecated, please use `windows_sysprep_text`. +- `windows_sysprep_file` (string) - Provide a `sysprep.xml` file to allow control of the customization + process independent of vSphere. This option is deprecated, please use + `windows_sysprep_text`. -- `windows_sysprep_text` (string) - Provide the text for the `sysprep.xml` content to allow control of the customization process independent of vSphere. This option is intended to be used with HCL templates. +- `windows_sysprep_text` (string) - Provide the text for the `sysprep.xml` content to allow control of the + customization process independent of vSphere. This option is intended to + be used with HCL templates. Example usage: @@ -27,8 +35,10 @@ } ``` -- `network_interface` (NetworkInterfaces) - Set up network interfaces individually to correspond with the network adapters on the virtual machine. - To use DHCP, specify an empty `network_interface` for each configured adapter. This field is mandatory. - Refer to the [network interface](#network-interface-settings) section for additional details. +- `network_interface` (NetworkInterfaces) - Set up network interfaces individually to correspond with the network + adapters on the virtual machine. To use DHCP, specify an empty + `network_interface` for each configured adapter. This field is mandatory. + Refer to the [network interface](#network-interface-settings) section for + additional details. diff --git a/docs-partials/builder/vsphere/clone/CustomizeConfig.mdx b/docs-partials/builder/vsphere/clone/CustomizeConfig.mdx index c696cecc..6a33eacf 100644 --- a/docs-partials/builder/vsphere/clone/CustomizeConfig.mdx +++ b/docs-partials/builder/vsphere/clone/CustomizeConfig.mdx @@ -3,10 +3,11 @@ A cloned virtual machine can be [customized](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-58E346FF-83AE-42B8-BE58-253641D257BC.html) to configure host, network, or licensing settings. -To perform virtual machine customization as a part of the clone process, specify the customize block with the -respective customization options. Windows guests are customized using Sysprep, which will result in the machine SID being reset. -Before using customization, check that your source virtual machine meets the -[requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) +To perform virtual machine customization as a part of the clone process, +specify the customize block with the respective customization options. +Windows guests are customized using Sysprep, which will result in the machine +SID being reset. Before using customization, check that your source virtual +machine meets the [requirements](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-E63B6FAA-8D35-428D-B40C-744769845906.html) for guest OS customization on vSphere. Refer to the [customization example](#customization-example) for a usage synopsis. The settings for guest customization include: diff --git a/docs-partials/builder/vsphere/clone/GlobalDnsSettings-not-required.mdx b/docs-partials/builder/vsphere/clone/GlobalDnsSettings-not-required.mdx index 7115f39f..3833bf6e 100644 --- a/docs-partials/builder/vsphere/clone/GlobalDnsSettings-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/GlobalDnsSettings-not-required.mdx @@ -1,7 +1,8 @@ -- `dns_server_list` ([]string) - Specifies a list of DNS servers to configure on the guest operating system. +- `dns_server_list` ([]string) - A list of DNS servers to configure on the guest operating system. -- `dns_suffix_list` ([]string) - Specifies a list of DNS search domains to add to the DNS configuration on the guest operating system. +- `dns_suffix_list` ([]string) - A list of DNS search domains to add to the DNS configuration on the guest + operating system. diff --git a/docs-partials/builder/vsphere/clone/GlobalDnsSettings.mdx b/docs-partials/builder/vsphere/clone/GlobalDnsSettings.mdx index 2b01d285..ea4626bb 100644 --- a/docs-partials/builder/vsphere/clone/GlobalDnsSettings.mdx +++ b/docs-partials/builder/vsphere/clone/GlobalDnsSettings.mdx @@ -1,6 +1,8 @@ -The following settings configure DNS globally for Linux guest operating systems. -For Windows guest operating systems, this is set for each network interface. Refer to the [network interface](#network_interface) section for additional details. +The following settings configure DNS globally for Linux guest operating +systems. For Windows guest operating systems, this is set for each network +interface. Refer to the [network interface](#network_interface) section for +additional details. diff --git a/docs-partials/builder/vsphere/clone/GlobalRoutingSettings-not-required.mdx b/docs-partials/builder/vsphere/clone/GlobalRoutingSettings-not-required.mdx index 24b7a43f..bb268bce 100644 --- a/docs-partials/builder/vsphere/clone/GlobalRoutingSettings-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/GlobalRoutingSettings-not-required.mdx @@ -1,7 +1,7 @@ -- `ipv4_gateway` (string) - Specifies the IPv4 default gateway when using `network_interface` customization. +- `ipv4_gateway` (string) - The IPv4 default gateway when using `network_interface` customization. -- `ipv6_gateway` (string) - Specifies the IPv6 default gateway when using `network_interface` customization. +- `ipv6_gateway` (string) - The IPv6 default gateway when using `network_interface` customization. diff --git a/docs-partials/builder/vsphere/clone/GlobalRoutingSettings.mdx b/docs-partials/builder/vsphere/clone/GlobalRoutingSettings.mdx index ba78b169..fe237ce0 100644 --- a/docs-partials/builder/vsphere/clone/GlobalRoutingSettings.mdx +++ b/docs-partials/builder/vsphere/clone/GlobalRoutingSettings.mdx @@ -1,5 +1,6 @@ -The settings must match the IP address and subnet mask of at least one `network_interface` for the customization. +The settings must match the IP address and subnet mask of at least one +`network_interface` for the customization. diff --git a/docs-partials/builder/vsphere/clone/LinuxOptions-not-required.mdx b/docs-partials/builder/vsphere/clone/LinuxOptions-not-required.mdx index 12911147..9a110830 100644 --- a/docs-partials/builder/vsphere/clone/LinuxOptions-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/LinuxOptions-not-required.mdx @@ -1,11 +1,15 @@ -- `domain` (string) - Specifies the domain name for the guest operating system. Used with [host_name](#host_name) to construct the fully qualified domain name (FQDN). +- `domain` (string) - The domain name for the guest operating system. Used with + [host_name](#host_name) to construct the fully qualified domain name + (FQDN). -- `host_name` (string) - Specifies the hostname for the guest operating system. Used with [domain](#domain) to construct the fully qualified domain name (FQDN). +- `host_name` (string) - The hostname for the guest operating system. Used with [domain](#domain) + to construct the fully qualified domain name (FQDN). -- `hw_clock_utc` (boolean) - Specifies whether the hardware clock is set to Coordinated Universal Time (UTC). Defaults to `true`. +- `hw_clock_utc` (boolean) - Set the hardware clock to Coordinated Universal Time (UTC). + Defaults to `true`. -- `time_zone` (string) - Specifies the time zone for the guest operating system. +- `time_zone` (string) - The time zone for the guest operating system. diff --git a/docs-partials/builder/vsphere/clone/NetworkInterface-not-required.mdx b/docs-partials/builder/vsphere/clone/NetworkInterface-not-required.mdx index 608a32c3..7d3ab012 100644 --- a/docs-partials/builder/vsphere/clone/NetworkInterface-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/NetworkInterface-not-required.mdx @@ -1,17 +1,25 @@ -- `dns_server_list` ([]string) - Specifies the DNS servers for a specific network interface on a Windows guest operating system. - Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. +- `dns_server_list` ([]string) - The DNS servers for a specific network interface on a Windows guest + operating system. Ignored on Linux. Refer to the + [global DNS settings](#global-dns-settings) section for additional + details. -- `dns_domain` (string) - Specifies the DNS search domain for a specific network interface on a Windows guest operating system. - Ignored on Linux. Refer to the [global DNS settings](#global-dns-settings) section for additional details. +- `dns_domain` (string) - The DNS search domain for a specific network interface on a Windows guest + operating system. Ignored on Linux. Refer to the + [global DNS settings](#global-dns-settings) section for additional + details. -- `ipv4_address` (string) - Specifies the IPv4 address assigned to the network adapter. If left blank or not included, DHCP is used. +- `ipv4_address` (string) - The IPv4 address assigned to the network adapter. If left blank or not + included, DHCP is used. -- `ipv4_netmask` (int) - Specifies the IPv4 subnet mask, in bits, for the network adapter. For example, `24` for a `/24` subnet. +- `ipv4_netmask` (int) - The IPv4 subnet mask, in bits, for the network adapter. For example, `24` + for a `/24` subnet. -- `ipv6_address` (string) - Specifies the IPv6 address assigned to the network adapter. If left blank or not included, auto-configuration is used. +- `ipv6_address` (string) - The IPv6 address assigned to the network adapter. If left blank or not + included, auto-configuration is used. -- `ipv6_netmask` (int) - Specifies the IPv6 subnet mask, in bits, for the network adapter. For example, `64` for a `/64` subnet. +- `ipv6_netmask` (int) - The IPv6 subnet mask, in bits, for the network adapter. For example, `64` + for a `/64` subnet. diff --git a/docs-partials/builder/vsphere/clone/WindowsOptions-not-required.mdx b/docs-partials/builder/vsphere/clone/WindowsOptions-not-required.mdx index 87c9b299..db16e9c8 100644 --- a/docs-partials/builder/vsphere/clone/WindowsOptions-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/WindowsOptions-not-required.mdx @@ -1,23 +1,31 @@ -- `run_once_command_list` ([]string) - Specifies a list of commands to run at first logon after the guest operating system is customized. +- `run_once_command_list` ([]string) - A list of commands to run at first logon after the guest operating system + is customized. -- `auto_logon` (\*bool) - Specifies whether the guest operating system automatically logs on as Administrator. +- `auto_logon` (\*bool) - Aautomatically log on the Administrator account after the guest operating + system is customized. -- `auto_logon_count` (\*int32) - Specifies how many times the guest operating system should auto-logon the Administrator account when `auto_logon` is set to `true`. Default:s to `1`. +- `auto_logon_count` (\*int32) - The number of times the guest operating system should auto-logon the + Administrator account when `auto_logon` is set to `true`. + Defaults to `1`. -- `admin_password` (\*string) - Specifies the password for the guest operating system's Administrator account. +- `admin_password` (\*string) - The password for the guest operating system's `Administrator`` account. -- `time_zone` (\*int32) - Specifies the time zone for the guest operating system. Default to `85` (Pacific Time). +- `time_zone` (\*int32) - The time zone for the guest operating system. + Defaults to `85` (Pacific Time). -- `workgroup` (string) - Specifies the workgroup for the guest operating system. Joining an Active Directory domain is not supported. +- `workgroup` (string) - The workgroup for the guest operating system. + Joining an Active Directory domain is not supported. -- `computer_name` (string) - Specifies the hostname for the guest operating system. +- `computer_name` (string) - The hostname for the guest operating system. -- `full_name` (string) - Specifies the full name for the guest operating system's Administrator account. Defaults to `Administrator`. +- `full_name` (string) - The full name for the guest operating system's Administrator account. + Defaults to `Administrator`. -- `organization_name` (string) - Specifies the organization name for the guest operating system. Defaults to `Built by Packer`. +- `organization_name` (string) - The organization name for the guest operating system. + Defaults to `Built by Packer`. -- `product_key` (string) - Specifies the product key for the guest operating system. +- `product_key` (string) - The product key for the guest operating system. diff --git a/docs-partials/builder/vsphere/clone/vAppConfig-not-required.mdx b/docs-partials/builder/vsphere/clone/vAppConfig-not-required.mdx index c2161aa9..436bc899 100644 --- a/docs-partials/builder/vsphere/clone/vAppConfig-not-required.mdx +++ b/docs-partials/builder/vsphere/clone/vAppConfig-not-required.mdx @@ -1,14 +1,15 @@ -- `properties` (map[string]string) - Specifies the values for the available vApp properties. These are used to supply - configuration parameters to a virtual machine. This machine is cloned from a template - that originated from an imported OVF or OVA file. +- `properties` (map[string]string) - The values for the available vApp properties. These are used to supply + configuration parameters to a virtual machine. This machine is cloned + from a template that originated from an imported OVF or OVA file. - -> **Note:** The only supported usage path for vApp properties is for existing - user-configurable keys. These generally come from an existing template that was - created from an imported OVF or OVA file. + -> **Note:** The only supported usage path for vApp properties is for + existing user-configurable keys. These generally come from an existing + template that was created from an imported OVF or OVA file. - You cannot set values for vApp properties on virtual machines created from scratch, - on virtual machines that lack a vApp configuration, or on property keys that do not exist. + You cannot set values for vApp properties on virtual machines created + from scratch, on virtual machines that lack a vApp configuration, or on + property keys that do not exist.