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

You can use vCenter customization specs in Cloud Assembly to control the guest operating system of a vCenter-based VM when you deploy or clone virtual machines.

Identify the customization specification name in the vSphere machine resource YAML in a Cloud Assembly blueprint. The settings are applied when you deploy the blueprint.

The customization specification must exist on the vCenter that's used 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 Customization specification topics in vSphere product documentation such as Creating and Managing Customization Specifications.