networks [Hash]: Networks hash that specifies which VM networks must be configured.

disk_cids [Array of strings] Array of disk cloud IDs for the disks that the created VM will most likely attach. The disk cloud IDs could be used to optimize VM placement so that disks are located nearby.

environment [Hash]: Resource pool's env hash specified in the deployment manifest, including initial properties added by the BOSH director as shown below. The CPI adds it to the VM's user data which is then used by the agent. Additionally, the director will append the following guaranteed values:

bosh [Hash]: A collection of properties used by the BOSH Agent, and optionally the CPI.

group [String]: A description of the requested VM in the format <director-name>-<deployment-name>-<job-name>.

groups [Array]: A collection of descriptions for the requested VM, combining director-name, deployment-name and job-name in a range of strings separated by a -.

For the Agent to successfully start on the created VM, several bootstrapping settings must be exposed which include network configuration, message bus location (NATS/HTTPS), agent id, etc. Each infrastructure might have a different way of providing such settings to the Agent. For example AWS CPI uses instance user metadata and potentially the BOSH Registry. vSphere CPI uses CDROM drive.

As of CPI V2, the registry may be avoided if the stemcell API version is sufficient. See CPI API V2 and CPI V2 Migration Guide for more information on how the CPI, Agent, and Director behave in a registry-less environment.

Most CPIs choose to communicate with the default Agent. Hence, the communication settings follow a certain format: