vCloud Automation Center (now vRealize Automation) has always provided a rich set of capabilities for extending the product’s out-of-the-box functionality. The flip side of these flexible call-outs to integrate with third-party systems during the provisioning and management life cycle is the ability to enable external systems to initiate actions in vCloud Automation Center programmatically rather than through the vCAC portal UI.
With the 6.1 release of vCloud Automation Center, we now have a generally available RESTful API that covers all the service catalog capabilities of vCAC 6. All the business logic of the catalog is built into the API, so if you authenticate with the API and list the available catalog items, you’ll see only the items to which you’re entitled. When you submit a request for a catalog item, you can specify any parameters that you’d normally provide in the request form. And if that request requires approval, the approval workflow is triggered whether you submitted the request through the UI or the API.
All this applies to any kind of catalog item, whether you’re requesting infrastructure or applications or custom services created using the Advanced Service Designer. And whatever configuration is specified in the underlying blueprint — whether it’s networking, puppet integration, reservations and placement policies, or integrations via life-cycle call-outs — is applied when provisioning from the API just as it would be when you use the UI.
In addition to detailed reference documentation for the API, we also have scenario-based documentation that describes how to accomplish the following common consumption scenarios:
- Browse the catalog and request a machine
- Approve a machine request
- View your provisioned resources
- Perform day 2 operations
This enables integrations such as using an existing self-service portal as a consumer front-end to vCloud Automation Center, or tying into continuous integration systems to deploy environments for automated testing, and other common operational scenarios.
There is also documentation for creating a new tenant and configuring identity stores as an example of further use cases you can automate by using the API. Many tenant administration tasks can be accomplished via the 6.1 API, although infrastructure administration (managing constructs such as provisioning endpoints, reservations, and blueprints) are not yet supported in this version.
In addition to the REST API, vCloud Automation Center 6.1 provides a Java SDK for the convenience of those writing integrations in Java. There is also an interactive API explorer tool that enables developers to easily make API calls from the command line for debugging or simply trying out the API without writing a lot of code. (Stay tuned for more news on the command-line front coming soon.) Finally, for vCenter Orchestrator fans, check out the vCO plugin for vCAC 6.1 that leverages these same APIs.
Over the coming releases we will continue to expand the coverage of our APIs as well as enhance its documentation and usability. We are also working to build out resources on Developer Center to support those of you writing API integrations for vCAC. If you take advantage of these new interfaces, please let me know your feedback and what we can do to enable you to achieve your desired outcomes.