Skip to content

Get node extensions

GET
/api/v1/nodes/{env}/node/{uuid}/extensions
curl --request GET \
--url https://example.com/api/v1/nodes/example/node/example/extensions \
--header 'Authorization: <Authorization>'

Returns the extensions the node should run, its command-execution assignments and the last status its osctrld reported. Status fields other than reported_at and lingering come from the host and are untrusted. lingering marks a command-execution extension the node has no unexpired assignment for that osctrld reports as kept, i.e. could not remove. library, the command-execution extensions that can be assigned, is null unless the caller is a super admin.

env
required
string

Environment name or UUID

uuid
required
string

Node UUID

OK

Media typeapplication/json
object
assignments
Array<object>
object
created_at
string
created_by
string
expired
boolean
expires_at
string
extension_id
integer
name
string
effective
Array<object>
object
available
boolean
command_execution
boolean
name
string
platforms
Array<string>
source
string
library
Array<object>
object
command_execution
boolean
description
string
id
integer
name
string
platforms
Array<string>
version
string
status
Array<object>
object
at
string
error
string
lingering

Lingering is set by osctrl when osctrld reports a command-execution extension as kept (its removal failed) and the node has no unexpired assignment for it.

boolean
name
string
reported_at
string
result
string
sha256
string
Examplegenerated
{
"assignments": [
{
"created_at": "example",
"created_by": "example",
"expired": true,
"expires_at": "example",
"extension_id": 1,
"name": "example"
}
],
"effective": [
{
"available": true,
"command_execution": true,
"name": "example",
"platforms": [
"example"
],
"source": "example"
}
],
"library": [
{
"command_execution": true,
"description": "example",
"id": 1,
"name": "example",
"platforms": [
"example"
],
"version": "example"
}
],
"status": [
{
"at": "example",
"error": "example",
"lingering": true,
"name": "example",
"reported_at": "example",
"result": "example",
"sha256": "example"
}
]
}

Bad request

Media typeapplication/json
object
code
string
error
string
Examplegenerated
{
"code": "example",
"error": "example"
}

Unauthorized

Media typeapplication/json
object
code
string
error
string
Examplegenerated
{
"code": "example",
"error": "example"
}

Forbidden

Media typeapplication/json
object
code
string
error
string
Examplegenerated
{
"code": "example",
"error": "example"
}

Not found

Media typeapplication/json
object
code
string
error
string
Examplegenerated
{
"code": "example",
"error": "example"
}

Internal server error

Media typeapplication/json
object
code
string
error
string
Examplegenerated
{
"code": "example",
"error": "example"
}