vRealize Automation Reservation Service API

Reservation Service

You can use the Reservation Service to manage reservations.

A reservation is a pool of resources for provisioning, consisting of several different types of resources. For example, a virtual reservation allocates a share of the memory, CPU and storage resources on a particular compute resource for a business group to use.

A reservation must belong to a business group, and a business group could have multiple reservations on the same resources or different resources.

You can use this generic Reservation Service for any artifact from any provider. For example, a service which follows its own provider-specified behaviors. The Reservation Service is extensible and you can add new types of reservations from third-party providers by using the Reservation Provider component.

High Level View

The Reservation Service contains two parts following vRealize Automation's architecture:

  1. Reservation Service
  2. Reservation Provider

Reservation Service faces consumers directly to provide all reservation-related functionalities.

Reservation Provider registers the reservation and reservation policy types to Reservation Service, and handles all reservation-related requests. It is not exposed to consumers directly.

There might be one or more reservation providers and each reservation provider could register one or more reservation/reservation policy types to the Reservation Service.

Following sections provide more details about Reservation Service and Reservation Provider.

Reservation Service

The Reservation Service is one typical component of vRealize Automation, which defines particular domain entities, registers Data and Schema Service endpoint, and provides corresponding API sets:

  1. Domain Entities

    1. Reservation
    2. ReservationType
    3. ReservationPolicy
    4. ReservationPolicyType
    5. AlertPolicy
    6. Alert
    7. AlertType
  2. Registered Endpoints

    1. Data and Schema Service
  3. Defined Endpoints

    1. Reservation Callback
  4. API Sets

    1. Reservation Type Management API
    2. Reservation Management API
    3. Reservation Policy Type Management API
    4. Reservation Policy Management API
    5. Data and Schema Service API
Domain Entities

Here is a diagram of reservation domain entities:

Reservation Service defines only the basic fields for the Reservation entity, and Reservation Providers define the ReservationType, AlertType and ReservationPolicyType. The _ReservationType_s provided by Reservation Providers defines the extensions for the Reservation, all those extension data are put into extensionData field in Reservation.

You can use Data and Schema Service API to get the schema for the extensionData by reservation type ID, and query the permissible values for particular fields declared in the schema if the fields support permissible values through the Data and Schema Service API.

Reservation Provider

Reservation Providers are provided by Service Provider, and are used to handle all reservation-related requests, including:

  1. Register Reservation Types.
  2. Register Reservation Policy Types.
  3. Provide Reservation Callback implementation to manage all types of Reservation/Reservation Policy that were registered by it.
  4. Provide Data and Schema Callback implementation for schema and permissible value query.

Sample Flows

Here is the simple sample flows about how to use Reservation Service, it lists only the API names needed for the flow rather than the full request/response, please refer to vRealize Automation API Programming Guide for more details.

Create a Reservation
  1. Query available reservation types.

The following API call returns available reservation types:

GET /reservation-service/api/reservations/types

  1. Set value to the fields defined in the Reservation entity (do not include extensionData field).

It may to need to get the sub tenant ID by using the following API call:

GET /identity/api/tenants/$tenantId/subtenants

  1. Put the data into extensionData field in Reservation entity.

    1. Query the schema definition by reservation type ID.

The following API call returns the schema definition for the specified reservation type:

GET /reservation-service/api/data-service/schema/$reservationTypeId/default

2.  Put the data into _extensionData_ field in _Reservation_ entity based on the schema retrieved in previous step.

You may need to call the Data and Schema service to get the permissible values for the fields defined in schema:

POST /reservation-service/api/data-service/schema/$reservationTypeIdOrSchemaId/default/$fieldId/values

  1. Create the Reservation.

The following API call is used to create the target Reservation

POST /reservation-service/api/reservations

Register a Reservation Type
  1. Register the Reservation Provider to vRealize Automation.
  2. Register the i18n properties file for target reservation type to vRealize Automation.
  3. Register the Reservation Provider to the following endpoints:
    1. com.vmware.csp.core.cafe.data
    2. com.vmware.vcac.core.cafe.reservation-callback.provider
  4. Construct and register the ReservationType:

POST /reservation-service/api/reservations/types

 

Related Documentation

Related SDKs

Related Sample Code

  • vRealize Automation API Samples for Postman

    Contributor nsb24

    vRealize 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
    Download

    1 Favorite

    0 Comments

    Updated 1 month ago

  • vRealize Automation - Catalog Service

    Contributor VMware

    vRealize 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
    Download

    1 Favorite

    0 Comments

    Updated 4 months ago

  • vRealize Automation - NSX Integration

    Contributor VMware

    vRealize Automation - NSX Integration NSX integration in vRealize Automation can help creating and configuring existing networks, on-demand NAT networks and on-demand routed networks, creating load ba ...
    vRealize Automation api_vra_network POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Composition Service

    Contributor VMware

    vRealize 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
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Identity Service

    Contributor VMware

    vRealize Automation - Identity Service Identity service manages tenants, business groups (formerly named subtenants), groups (both Single-Sign-On and Custom groups), users and identity stores. It also ...
    vRealize Automation api_vra_identity POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • VMware vRealize Automation Plugin

    Contributor kr1s

    Jenkins 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
    Download

    3 Favorites

    1 Comment

    Updated 8 months ago

  • vRealize Automation - Component Registry

    Contributor VMware

    vRealize Automation - Component Registry Component Registry manages all services (including out-of-the-box services and services from third party solution providers) and serves as the central view for ...
    api_vra_component_registry vRealize Automation POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Management Service API

    Contributor VMware

    vRealize Automation - Management Service API You can use the reclamation service to query the VMs in an installation for non-usage and, if they are not in use, mark them as eligible for reclamation. ...
    vRealize Automation api_vra_management POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Content Management Service

    Contributor VMware

    vRealize 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
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Event Broker

    Contributor VMware

    vRealize Automation - Event Broker The event broker provides features for managing subscriptions, event topics, events, and messages. Available Use Case Get event topics Registers or updates an Even ...
    vRealize Automation api_vra_event_broker POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • Extend Disk vRealize Automation Workflow

    Contributor robertshaw

    This VMware Orchestrator workflow package will extend the C drive of a virtual disk in vRealize Automation from a vCenter (vSphere) machine template blueprint. The workflow receives a payload of prope ...
    vRealize Orchestrator Plug-in SDK vRealize Automation vRO Package
    Download

    1 Favorite

    0 Comments

    Updated 1 year ago

  • vRealize Automation - Branding

    Contributor VMware

    vRealize Automation - Branding The Branding service enables the user to customize the VRA UI header and footer. The configurable properties include logo image, company name, product name, background c ...
    api_vra_branding vRealize Automation POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Properties Service

    Contributor VMware

    vRealize Automation - Properties Service The property service provides APIs to manage property definitions and property groups. Available Use Cases Manage property definitions Manage property groups ...
    api_vra_properties vRealize Automation POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - Approval Service

    Contributor VMware

    vRealize Automation - Approval Service The approval service provides features for managing and tracking the human approval tasks associated with a service process/artifact in a provider realm. It also ...
    api_vra_approval vRealize Automation POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • vRealize Automation - WorkItem Service

    Contributor VMware

    vRealize Automation - WorkItem Service The work item service provides a standard way for services to present work items to users. It manages the life-cycle of a work item and passes events back to the ...
    api_vra_approval api_vra_workitem vRealize Automation POSTMAN Collection
    Download

    0 Comments

    Updated 4 months ago

  • Project Bosphorus

    Contributor prydin

    Project 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
    Download

    1 Comment

    Updated 1 year ago

  • vRealize Automation Reference Application

    Contributor hmichaud

    vRealize 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
    Download

    2 Favorites

    4 Comments

    Updated 1 year ago

  • vRA and Ansible Example Integration

    Contributor vm2cloud

    vRealize Automation vRO Package
    Download

    0 Comments

    Updated 3 years ago

  • vRA 7 and above prepare_vra_template.ps1

    Contributor virtualgcoburn

    Powershell 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
    Download

    1 Comment

    Updated 1 year ago

  • chef-client example of a bootstrap install on Ubuntu 16.04

    Contributor jjasghar

    A 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
    Download

    0 Comments

    Updated 2 years ago

;