When deploying to vSphere based cloud zones, customization specifications can apply guest operating system settings at deployment time.
How to enable the customization specification
The customization specification must exist in vSphere, at the target that you deploy to.
Edit the cloud template code directly. The following example points to a
cloud-assembly-linux customization specification for a WordPress host on vSphere.
resources: WebTier: type: Cloud.vSphere.Machine properties: name: wordpress cpuCount: 2 totalMemoryMB: 1024 imageRef: 'Template: ubuntu-18.04' customizationSpec: 'cloud-assembly-linux' resourceGroupName: '/Datacenters/Datacenter/vm/deployments'
Whether to use customization specifications or cloudConfig commands
If you want the provisioning experience to match what you are currently doing in vSphere, continuing to use customization specifications might be the best approach. However, to expand to hybrid or multiple cloud provisioning, a more neutral approach is cloudConfig initialization commands.
For more about cloudConfig sections in cloud templates, see Configuration commands in vRealize Automation Cloud Assembly templates.
Commands and customization specifications might not mix
When deploying to vSphere, proceed carefully if you attempt to combine embedded cloudConfig command and customization specification initialization. They aren't formally compatible and might produce inconsistent or unwanted results when used together.
For an example of how commands and customization specifications interact, see vSphere static IP address assignment in vRealize Automation Cloud Assembly cloud templates.