vRealize Automation Content Service API |
Content Management Service API Specification
What Is the Content Management Service?
You can use the content management service REST API to import and export content, such as blueprints, software components, and other artifacts, from vRealize Automation systems.
vRealize Automation customers often experiment with system artifacts in their development or staging environments. When appropriate, users need to move the artifacts to their production environments or between different tenants.
Increasingly, customers who have adopted the DevOps philosophy have developers who are responsible not only for their application code but for every aspect of how their application is deployed into machines and how the OS and application software is configured. Such development teams generally manage OS and application configurations as human readable text files, often using Domain Specific Language (DSL). Chef, Puppet, and Salt are the most widely used DSLs. Developers use DSLs to manage OS and application configurations almost exactly as they manage their own application code.
For example, they:
- Check the configurations into source control systems.
- May have different branches corresponding to development, test, staging, and production deployments of their applications.
- Diff these branches to see what's different between such deployments and send out diffs of config changes when they send review requests.
This approach solves the key problem of providing full visibility into what's different between different deployments and helps understand why an application works in one deployment but not in another.
The content exported from the content service can be treated as the "as-code" representation of the content artifacts and can be managed using any popular source control systems.
Typical Use Cases
Depending on the type of content that is being processed, an application architect, infrastructure architect, software architect, tenant administrator, or XaaS architect can:
- Import or export data into an environment.
- Move content between tenants or environment; for example, moves data from a staging environment to a production environment.
- An application architect can import/export blueprint data.
- An infrastructure architect can import/export machine blueprints, application blueprints, and base blueprints.
- A software architect can import/export software, XaaS blueprints, and application blueprints.
- An XaaS architect can import/export XaaS blueprints.
An application developer uses the REST API to perform these activities from application code.
Important Notes
- Rollback of data is not supported.
- We highly recommend that you validate data before importing it.
Two APIs are provided to validate data:
POST /api/packages/validate
Validates the content in a zip package.
GET /api/packages/{id}/validate
Performs dry run validation of the contents of a package prior to exporting it.
Key Concepts
Content
Content is an artifact or entity or information that provides value for an end-user/audience in specific context. Currently vRealize Automation supports artifacts like composite blueprints, software components, XaaS blueprints, property groups, and property definitions. Individual content artifacts are represented in YAML (YAML Ain't Markup Language) format.
Content Provider
The service/provider that wants to work with the content management service and provide content to it, i.e, manage its content.
Content Type
A type is that contains metadata about the content provider and content itself. such as type information, service type ID, and so on. Usually, this is provided by the content provider. vRealize Automation has built-in content types ready to go for the content artifacts mentioned above.
Domain Specific Language
A domain specific language (DSL) is a special set of words related to a particular task. Some DevOps tools provide DSLs so that engineers can script automation actions using terminology that is directly related to the task at hand.
Additional Information
For more detailed information on using the the API, refer to the vRA Programming Guide.
Related Documentation
Related SDKs
Related Sample Code
- vRealize Automation - Content Management ServicevRealize Automation - Content Management Service You can use the content management service REST API to import and export content, such as blueprints, software components, and other artifacts, from vR ...vRealize Automation api_vra_content_management api_vra_composition POSTMAN Collection
- VMware vRealize Automation PluginJenkins vRealize Automation Plugin The vRealize Automation Jenkins plugin enables Jenkins to provision vRealize Automation 7 Blueprints. Requirements Jenkins 1.58+ Java 8 to compile plugin or Java 7 ...vRealize Automation Java
- vRealize Automation API Samples for PostmanvRealize Automation API Samples for Postman Overview The vRealize Automation REST API provides consumers and administrators access to all services in its service catalog that support the vRealize Auto ...vRealize Automation POSTMAN Collection
- Project BosphorusProject Bosphorus Background This project is aimed at providing a custom portal framework for vRealize Automation (vRA) along with a reference implementation. It is intended for advanced users/develop ...vRealize Automation Java
- vRealize Automation Reference ApplicationvRealize Automation Reference Application Overview This is a sample project that demonstrates how to create a simple self-service portal for vRealize Automation using only RESTful APIs. You are encour ...vRealize Automation JavaScript
- chef-client example of a bootstrap install on Ubuntu 16.04A basic example to install the chef-client via the install.sh from Chef Software. This should be noted that this only requires wget and bash, so this can work for CentOS, RHEL, debian, Ubuntu, and the ...vRealize Automation vRA Blueprint
- chef-client example of a bootstrap install on Windows using Powershell 3 and upA basic example to install the chef-client via the install.ps1 from Chef Software. This should be noted that this requires Powershell and should work on any version of Windows with Powershell 3+. You ...vRealize Automation vRA Blueprint
- Find all VMs with a particular property value in vRAFind all VMs with a particular property value in vRAvRealize Automation vRealize Orchestrator Plug-in SDK JavaScript
- Rename a vRA IaaS virtual machineRename a vRA IaaS virtual machinevRealize Automation vRealize Orchestrator Plug-in SDK JavaScript
- vRA 7 and above prepare_vra_template.ps1Powershell script designed to deploy the needed agents on your windows template. This mimics the prepare_vra_template.sh file for linux and will deploy java, bootstrap and gugent agents from the vRA a ...vRealize Automation PowerShell
- Get the Reservation of a vRA VMGet the Reservation of a vRA VMvRealize Automation vRealize Orchestrator Plug-in SDK JavaScript
-
- Get the Reservation Policy ID of a vRA ReservationGet the ID of the Reservation Policy of a vRA ReservationvRealize Automation vRealize Orchestrator Plug-in SDK JavaScript
- CentOS Base vRA BlueprintSimple vRA Blueprint for 64-bit CentOS 7.0 VMvRealize Automation vRA Blueprint
- Kubernetes as a Service BlueprintThis blueprint currently requires RHEL/CENTOS 7 Atomic. I do plan to port this to Photon OS as soon as it is GA. Live demo of this solution here > https://youtu.be/X8QfAQmcVjA Full instructions to in ...vRealize Automation vRA Blueprint
- Create Cloud management portal based on VRA APIsThis sample web app shows how to create your own cloud management portal based on vRealize Automation Rest APIs. Key part of this sample is the javascript file https://github.com/chicm/vraclient/blob/ ...vRealize Automation JavaScript
- Add Disk and New SCSI AdapaterSimple vRO package that has the workflows needed to deploy a new disk, to the same datastore as the chosen VM while adding the next available SCSI adapter. See this post for the best usagevRealize Orchestrator Plug-in SDK vRO Package
- prepare_vra_template.ps1 7.0.1UPDATED Script - for combined 7.0, 7.0.1, and 7.1 go to https://developercenter.vmware.com/samples?id=1136vRealize Automation PowerShell
- Chef Server BlueprintThis is for RHEL/CENTOS7 See my guide here for instruction on importing this to your environment.vRealize Automation vRA Blueprint
- vRealize Automation - Catalog ServicevRealize Automation - Catalog Service The catalog service REST API is designed to be used by the consumers of the service catalog; for example, an end user who wants to request a catalog item would be ...api_vra_catalog vRealize Automation api_vra_composition POSTMAN Collection