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:

Drivers

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.

GET https://example.com/api/control/dependencies

List or search for loaded dependencies.

Query Parameters

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

id

string

ID of the dependency to update.i

Request Body

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

id

string

ID of the dependency to reload.

Last updated