Customization specifications are vCenter objects that contain a pre-defined set of conditions for Windows and Linux guest operating system settings.

You can add an existing vCenter customization specification to a vSphere machine resource YAML in a Cloud Assembly blueprint. Use the customization specification to add pre-defined guest operating system settings. The settings are applied when you deploy the blueprint.

The customization specification must exist on the vCenter that is used for during provisioning when the blueprint is deployed. If it does not, deployment fails.

The following example shows a Windows customization specification named cloud-assembly-windows added to the blueprint YAML for a sample vSphere machine named VmOne.

name: vsphere-blueprint-1
description: "Description for vsphere-blueprint-1"
resources:
  VmOne:
    type: Cloud.vSphere.Machine
    properties:
      name: 'VmOne'
      cpuCount: 2
      totalMemoryMB: 1024
      imageRef: 'Template: ubuntu-16.04'
      customizationSpec: 'cloud-assembly-windows'
      resourceGroupName: '/Datacenters/Datacenter/vm/deployments'

For information about how to create customization specifications in vCenter, see:

Also see Which Customization Specification Settings Are Available in Cloud Assembly.