How do the configuration_parameters in vsphere-iso builder work?

How do the configuration_parameters in vsphere-iso builder work? The documentation says:

configuration_parameters is a direct passthrough to the VSphere API’s ConfigSpec: https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.ConfigSpec.html

First of all, the link is broken. I found something, that should also work: https://code.vmware.com/apis/358/vsphere/doc/vim.vm.ConfigSpec.html

However, it does not work as I would assume.

Adding a key-value pair "nestedHVEnabled": true should add vhv.allow = TRUE to the vmx file. Instead it literally adds nestedHVEnabled = TRUE. Same with "changeTrackingEnabled": true, which should add ctkEnabled = TRUE to the vmx, but instead adds changeTrackingEnabled = TRUE to the vmx.

On the other hand, the API docs don’t list any option to set the vmx option svga.autodetect = TRUE, but adding the key-value pair "svga.autodetect": true to the configuration_parameters does add it to the vmx file.

Looking at the docs, shouldn’t I have to use the extraConfig API property for things like svga.autodetect?

Okay, then I tried to add the following four settings:

"configuration_parameters": {
    "vhv.enable": true,
    "uefi.secureBoot.enabled": true,
    "vvtd.enable": true,
    "windows.vbs.enabled": true,
    ...
    "svga.autodetect": true
}

The none of those settings are written into my vmx file, while svga.autodetect is.

I’m completely confused.

same problem here. no configuration parameters are written in the vmx

was there any update to this? Did you figure out how to add a configuration param?

I have to add disk.EnableUUID = TRUE

dion

Got to work:

  configuration_parameters = {
    "disk.EnableUUID"  = "TRUE"
  }
1 Like

If someone comes across this, as I have, they should know that, even if this works, if you use terraform afterwards (starting from an ova template, so then after having used vsphere-clone with packer instead of vsphere-iso – maybe it applies to the latter too, I’m not sure), this parameter will be removed during the cloning that terraform does. In that case, you can simply add this to vsphere_virtual_machine in terraform:

  extra_config = {
        "disk.EnableUUID" = "TRUE"
  }

And it works as expected :slight_smile:

Hello, does anyone tried to use:
“vbsEnabled”: true
If you did , do you happen to make it work under “configuration_parameters” or with the “extra_config” ?
Please advise