You must associate a VM class with a namespace to make it available for DevOps engineers to deploy VMs in a self-service manner.

You can associate one or more VM classes with a single namespace or you can add one VM class to several namespaces. You can use the predefined VM classes that vSphere IaaS control plane provides or you can create custom ones. See Create a VM Class in vSphere IaaS control plane.

Since VM Service is the feature responsible for handling VM classes, you must make that service aware of the VM classes available to the engineers using a specific namespace. You can achieve this when you create a new namespace or edit an existing one. See Managing Namespaces on a Supervisor.

When you create the VM Service specification set the list of VM classes that must be used to create VMs on the specific namespace. You achieve this by using the vm_classes property of the Instances.VMServiceSpec data structure.

You can also associate one or more content libraries with a namespace that has the VM Service enabled. See Associating a Content Library with a Namespace.