HyWorks API Client
To enable HyWorks integration with the external portal, HyWorks will have the option to add an API Client that, once configured correctly, can consume HyWorks APIs.
The settings are available at: HyWorks Controller Management Console > Settings > General > API Clients (BETA).
Important
The feature is marked as beta, as it may require development as per integration requirements.
Installation
HyWorks v4.1, Controller installation setup has the HyWorks API service integrated. During the installation of the HyWorks Controller on the Management Nodes, select the HyWorks API service.
Configuring API Client
To enable any external user to use HyWorks/HyLabs APIs, it must be configured in HyWorks with the following details provided:
| Section | Configuration | Description | Possible Value/ Remarks |
|---|---|---|---|
| Basic Details | Name | Name of the API client being configured. | Any logical name to identify the API client. Allowed characters: _ SPACE () {} # @ : -. |
| Description | Description of the API client being configured | Description to provide more details of the API client. | |
| Key Algorithm | JWYT algorithm name. | Currently, RS256 is supported. | |
| Enabled | To enable or disable this API client. | Default is enabled. To disable, uncheck, and save. | |
| Security Configurations | Impersonated User | User, which the API client will impersonate during API requests. | User to be searched and selected as per the current auth servers. |
| JWT Audience | Value expected in the audience claim of JWT | Default and non-editable in HyWorks v4.1: accops-hyworks-controller | |
| JWT Issuer | Value expected in issuer claim of JWT | To be configured as per the issuer’s claim of JWT. | |
| Public Key (PEM Format) | Public key in PEM format for JWT signature verification. | Expected in PEM format. An Example: -----BEGIN PUBLIC KEY----- Base64 encoded key content -----END PUBLIC KEY----- |
|
| Permissions | API Claims | Select the APIs to be allowed for the API client. | By default none are selected and as per requirement APIs can be selected. |
To create a new API client:
-
Navigate to HyWorks Controller Management Console > Settings > General > API Clients (BETA).
-
Click on Add.
-
Configure all fields as per the specification above.
-
On the Permissions page, click on Create.
-
API client will be created and will start listing.
API Specifications
HyLabs APIs
These APIs are designed for educational lab and course management.
Reservation Management
-
Create Basic Reservation
- Description: Creates a one-time basic reservation for a specified course and gold master template.
-
Edit Basic Reservation
- Description: Updates details of an existing reservation (e.g., display name, dates, max VMs).
-
Delete Reservation
- Description: Queues a background job for the deletion of a reservation and its associated resources. (Note: Marked as not functional in HyWorks 4.0 Release).
-
Get Reservation Details
- Description: Retrieves the complete configuration and current status of a specific reservation.
-
Get All Reservations
- Description: Retrieves a paginated list of reservations for an organization.
-
Add Reservation Users
- Description: Adds participants, incharges, or assistants to a specific reservation.
-
Delete Reservation Users
- Description: Deletes one or more participants, incharges, or assistants from a reservation.
-
Get All Course Reservation VMs
- Description: Retrieves a paginated list of virtual machines and their current statuses for a specific reservation.
Gold Master Management
-
Get All Gold Masters
- Description: Retrieves a paginated list of gold master templates available for an organization.
Course Management
-
Get All Courses
- Description: Retrieves a paginated list of courses associated with an organization.
HyWorks APIs
These APIs provide general VDI infrastructure management capabilities.
Pool Management
-
Get Pool Deployment Status
- Description: Retrieves the current deployment progress and operational state for a dynamically provisioned pool.
-
Get Pool Wise Available VMs Summary
- Description: Retrieves a pool-wise summary of available capacity (VMs ready to accept sessions) across all dynamically provisioned pools.
-
Get VM Assignments for a Specific Pool
- Description: Retrieves a paginated list of virtual machines and their current user assignments for a specific pool.
-
Get Dedicated Pools VM Counts Summary
- Description: Retrieves a paginated summary of VM capacity and usage states (assigned, free, error, preparing) for all dedicated pools.
Local User Management
-
Create Local User
- Description: Creates a new local user within a specific organization for local authentication.
-
Get Local User by ID
- Description: Retrieves a specific local user's metadata by their unique ID.
-
Get All Local Users
- Description: Retrieves a paginated list of all local users for a specific organization.
-
Update Local User
- Description: Updates an existing local user's display name and optionally their password.
-
Delete Local User
- Description: Deletes a local user and performs a full cascade cleanup of associated data.
Detailed API Specifications:
All supported APIs with required parameters and specifications are mentioned in the API Specification Document, which can be downloaded from HyWorks v4.1 Release Article on Support Portal.