vRealize Automation Composition Service API |
Composition Service API Specification
What Is the Composition Service?
The composition service allows vRA services to register application components, which the composition service manages so that they can be used in composite blueprints. The composition service analyzes the blueprint and breaks it down into tasks for each component service to execute when provisioning the blueprint, or later when performing a day-2 operation on the resulting deployment. The service that registers the component performs the actual tasks needed to provision and update the component.
Typical Use Cases
-
An infrastructure architect designs blueprints that provision virtual machines to various endpoints.
-
A software architect designs and registers application components that may be used in blueprints.
-
An application developer develops converged blueprints representing entire application stacks using machine, network and software components.
-
A blueprint is made available for an end user to provision.
-
The deployment resulting from a blueprint being provisioned is able to be managed through various day-2 operations such as scale-in, scale-out, update, destroy.
Key Concepts
Composite Blueprint
A composite blueprint is a complex artifact representing a deployable application. This application may be composed of virtual machines, software components, XaaS blueprints, nested composite blueprints and so on. The blueprint captures the components themselves, the dependencies between components, associated property definitions - everything necessary to create a running instance.
Component Type
The composition service provides a component type registry, which allows other services to define component types which may be used as part of a composite blueprint. Machines, software components, XaaS blueprints and network components are some of the component types registered with the composition service by other services (component type providers).
Component Type Provider
This is the service that is responsible for registering a component type with the composition service. The component type provider understands the details of the component - how to author, how to deploy, how to destroy, and so on. The composition service orchestrates blueprint operations - authoring, provisioning, teardown - but relies on the provider to handle the details for the component. For example, IaaS is responsible for managing the lifecycle of machine components.
Execution Flow
When a blueprint is requested from the catalog, the composition service analyzes the components and their inter-dependencies to create an ordered set of tasks. It works with the component providers, which actually carry out these tasks.
For more detailed usage information on the API refer to the vRA Programming Guide.
Related Documentation
Related Sample Code
- 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
- 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
- vRealize Automation - Composition ServicevRealize Automation - Composition Service The composition service allows vRA services to register application components, which the composition service manages so that they can be used in composite bl ...vRealize Automation api_vra_composition POSTMAN Collection
- Approval Policy on a specific custom form fieldSome times ago a customer asked me whether it is possible to create an approval policy for a specific filed in the vRA custom form. The customer has created a custom form where the requester canreque ...vRealize Orchestrator vRO Workflow