2.2 vCloud Provisioner
vCloud Provisioner acts as a middle layer that conveys data to and from its business objects model and to and from a vCloud Director instance. An abstraction layer enables a choice between implementations of the communication protocol between the vCloud Provisioner and vCloud Director.
vCloud Provisioner provides a solution for the following problems and tasks:
Data-driven v
Cloud provisioning.
Externalization of the vCloud object specifications in provision
files.
Abstraction between object specifications and the framework used for communicating with the vCloud.
Loading of object specifications from an active vCloud Director setup.

Comparison of
two
states of object specifications.vCloud Provisioner includes the following features:

Provides an interface for
vCloud operations so that test cases do not have to be modified when the communication layer is replaced or modified.

Provides a container for
vCloud entities (CloudProvisionData).
Provides functionality for loading the CloudProvisionData container, whether from an XML
file or directly from a running
vCloud.
Provides functionality for flushing a CloudProvisionData container to a vCloud or to an XML format.
Can compare
two instances of CloudProvisionData.

Can c
lean all entities that were flushed to the
vCloud.

Can a
ppend one instance of CloudProvisionData to another one.
Can modify
existing
vCloud entities.The following figure shows a workflow that uses vCloud Provisioner to flush an XML object specification to a vCloud. A similar workflow is used to load objects from a vCloud Director instance into a container.
Figure 1. Workflow for Flushing an XML Object Specification to the vCloud