vRealize Automation Endpoint Configuration Service API |
Endpoint Configuration Service API Specification
What Is the Endpoint Configuration Service?
You can use the endpoint configuration service REST API to create, read, update and delete endpoint types, endpoint categories, and endpoints.
Typical Use Cases
Typical use cases for the endpoint configuration service are:
- A vRA Administrator or a Solution User creates an endpoint category.
- The vRA administrator registers a new endpoint type with the endpoint configuration service.
- The IaaS administrator creates, updates or deletes an endpoint through the UI. vRA then calls the endpoint configuration service to create, update or delete endpoint information.
Key Concepts
Endpoint Category Operations
Before creating an endpoint type, an endpoint category should be registered with endpoint configuration service. Examples of endpoint categories include Virtual, Physical, IPAM, and so on. An application can call the POST /api/categories
API to create endpoint categories as required.
When an endpoint category is created, the endpoint configuration service creates the endpoint category in the Postgres database.
Endpoint Type
A value that represents the type of an endpoint. A service provider creates an endpoint type within a specified category. For example, a provider of an IPAM service could create an endpoint type called "MyIPAMapp" within the IPAM endpoint category.
If a customer wants to use a new endpoint, the customer must follow a two step process:
- Add a new endpoint type, through the endpoint configuration service.
- Add a new endpoint instance of that endpoint type.
Endpoint Type Operations
Before creating an endpoint, the endpoint type and schema should be registered with the endpoint configuration service. When an endpoint type is created, the endpoint configuration service creates an endpoint type category in a Postgres database.
An endpoint type schema is stored only in the Postgres database. However, endpoint type information is stored in both the Postgres database and in the InterfaceTypes
table on the SQL server.
How the Endpoint Configuration Service Works
When an administrator creates an endpoint instance, the UI calls the endpoint service with endpoint data. The endpoint service performs the following steps:
- Validates the data against the schema.
- Gets the IaaS repository endpoint from the component registry.
- Saves the new endpoint data to the Postgres database.
- Calls the repository service to save the data.
- Returns SUCCESS to the endpoint UI.
The logic for update and delete is same as for create.
User Roles and Permissions
Different user roles have different permissions for working with endpoints.
Endpoint Type Operations and Endpoint Type Categories
The following user roles have permission for the following:
-
GET - IaaS Administrators, vRA Administrators, Solution Users.
-
PUT/POST/DELETE - vRA Administrators, Solution Users.
Endpoint Operations
- GET (global endpoint, without secure data) - IaaS Administrators, Solution Users.
- GET (any endpoint, secure data) - Solution Users.
- PUT/POST/DELETE - Solution Users.
- PUT/POST/DELETE - IaaS Administrators, Solution Users.
Handling Credentials
In vRA 7.0, credential information is stored separately from the management endpoint information. So, when creating an infrastructure endpoint, the customer must specify the credential information separately, making endpoint creation a two-step process. With the vRA 7.1 endpoint configuration service, the endpoint information is specified along with the credential information. The UI displays all the information in a single place, and the endpoint data is stored together at a single place as well.
Password information must be encrypted when saved to the database. To specify that a field needs to be encrypted, the corresponding field must be marked as securestring
in the database schema. When saving endpoint information, the endpoint service goes through all the fields of type securestring
and encrypts the field data, before saving it to the database. This ensures that passwords are not saved as plain text in the database.
When retrieving endpoint information from the endpoint service, by default, all the fields that use securestring
are set to empty. Only specific APIs return fields marked with securestring
. Only solution users can retrieve secure fields.
Creating New Endpoint Types
To consume a new endpoint that belongs to a new endpoint type, a service provider must:
- Add a new endpoint type, through the endpoint configuration service.
- Add a new endpoint instance of that endpoint type.
For step 1, the customer (service provider) must also define a new schema for the endpoint type. The schema should indicate all the permissible fields and their corresponding values for the endpoint type. The endpoint object used for creating the endpoint should confirm to the schema of the endpoint type that the endpoint belongs to.
Additional Information
For more detailed information on using the the API, refer to the vRA Programming Guide.
Related Documentation
Related SDKs
Related Sample Code
- 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
- Set given vCAC Property on vSphere VMSets a given vCAC Property on vSphere VM. Input is the vSphere VM Name.vRealize Orchestrator Plug-in SDK vRO Workflow