Dependencies
When a driver is loaded into Engine, 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.
Search
GET
https://example.com/api/control/dependencies
List or search for loaded dependencies.
Query Parameters
q
string
A search filter to apply.
limit
integer
(default 20) Max results to return.
offset
integer
The offset within the result set.
role
string
Filter to a specific role.
{
"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
Create
POST
https://example.com/api/control/dependencies
Defines a new dependency. The driver this references must be available on the engine nodes running this instance of Engine. Available drivers can be listed by using the discovery endpoint.
Request Body
name
string
class_name
string
module_name
string
role
string
description
string
default
string
ignore_connected
boolean
settings
object
{
"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
}
Retrieve
GET
https://example.com/api/control/dependencies/{id}
Gets dependency information
Path Parameters
id
string
ID of the dependency to retrieve.
{
"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
}
Update
PUT
https://example.com/api/control/dependencies/{id}
Updates dependency metadata.
Path Parameters
id
string
ID of the dependency to update.i
Request Body
name
string
class_name
string
module_name
string
role
string
description
string
default
string
ignore_connected
boolean
settings
object
{
"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
}
Delete
DELETE
https://example.com/api/control/dependencies/{id}
Unloads a driver.
Path Parameters
id
string
ID of the dependency to remove.
Interaction
Reload
POST
https://example.com/api/control/dependencies/{id}/reload
Live reloads the latest version of the driver code and updates all modules using this.
Path Parameters
id
string
ID of the dependency to reload.
Last updated
Was this helpful?