Dependencies

When a driver is loaded into ACAEngine, it becomes a dependency. Dependencies are available as the blueprint from which modules are created. The /dependencies endpoint provide methods to discover, load and update these. For more on the role the drivers play, see:

Model

Attribute

Type

Description

id

string

The dependency's unique ID.

name

string

Human readable name for the dependency.

class_name

string

The Ruby class name of the driver.

module_name

string

The kind of module this instantiates (e.g. Display).

role

string

One of ssh, device, service, or logic.

description

string

Additional information that describes the dependency.

default

string or

integer

A URL or port number that is typical for modules using this.

ignore_connected

boolean

Default state of connectivity monitoring for instances.

settings

object

A JSON object containing configuration shared by all instances.

created_at

integer

Timestamp of creation.

Discovery

https://aca.example.com/api/control/dependencies
List or search for loaded dependencies.
Request
Response
Query Parameters
q
optional
string
A search filter to apply.
limit
optional
integer
(default 20) Max results to return.
offset
optional
integer
The offset within the result set.
role
optional
string
Filter to a specific role.
200: OK
{
"total": 1,
"results": [
{
"name": "Pexip Management API",
"description": "Pexip VMR management",
"role": "service",
"default": null,
"class_name": "::Pexip::Management",
"module_name": "Meeting",
"ignore_connected": false,
"settings": {},
"created_at": 1562041127
}
]
}

Queries default to searching for any of the entered terms (words). A small query language provides the ability to structure complex queries.

Operator

Action

+

Matches both terms.

|

Matches either terms.

-

Negates a single token.

"

Wraps tokens to form a phrase.

( and )

Provide precedence.

~N

Specifies edit distance (fuzziness) after a word.

~N

Specifies slop amount (deviation) after a phrase.

Management

post
Create

https://aca.example.com/api/control/dependencies
Defines a new dependency. The driver this references must be available on the engine nodes running this instance of ACAEngine. Available drivers can be listed by using the discovery endpoint.
Request
Response
Body Parameters
name
required
string
class_name
required
string
module_name
required
string
role
required
string
description
optional
string
default
optional
string
ignore_connected
optional
boolean
settings
optional
object
200: OK
Created.
{
"name": "Pexip Management API",
"description": "Pexip VMR management",
"role": "service",
"default": null,
"class_name": "::Pexip::Management",
"module_name": "Meeting",
"ignore_connected": false,
"settings": {},
"created_at": 1562041127
}
406: Not Acceptable
Validation exception.

get
Retrieve

https://aca.example.com/api/control/dependencies/{id}
Gets dependency information
Request
Response
Path Parameters
id
required
string
ID of the dependency to retrieve.
200: OK
{
"name": "Pexip Management API",
"description": "Pexip VMR management",
"role": "service",
"default": null,
"class_name": "::Pexip::Management",
"module_name": "Meeting",
"ignore_connected": false,
"settings": {},
"created_at": 1562041127
}

put
Update

https://aca.example.com/api/control/dependencies/{id}
Updates dependency metadata.
Request
Response
Path Parameters
id
required
string
ID of the dependency to update.i
Body Parameters
name
optional
string
class_name
optional
string
module_name
optional
string
role
optional
string
description
optional
string
default
optional
string
ignore_connected
optional
boolean
settings
optional
object
200: OK
Updated.
{
"name": "Pexip Management API",
"description": "Pexip VMR management",
"role": "service",
"default": null,
"class_name": "::Pexip::Management",
"module_name": "Meeting",
"ignore_connected": false,
"settings": {},
"created_at": 1562041127
}
406: Not Acceptable
Validation error.

delete
Delete

https://aca.example.com/api/control/dependencies/{id}
Unloads a driver.
Request
Response
Path Parameters
id
required
string
ID of the dependency to remove.
200: OK

Interaction

post
Reload

https://aca.example.com/api/control/dependencies/{id}/reload
Live reloads the latest version of the driver code and updates all modules using this.
Request
Response
Path Parameters
id
required
string
ID of the dependency to reload.
200: OK
Reload successful.
500: Internal Server Error
An error was detected in the updated driver and the reload is blocked. If this occurs, the previously operating driver will continue to run uninterrupted.