Roku · Schema
DeviceInstanceInfo
DeviceInstanceInfo schema from Roku Nabu Cloud
StreamingTelevisionMediaEntertainmentConnected TVConsumer Electronics
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | |
| creator_id | string | The ID of the user who started the device. |
| created_at | string | |
| started_at | string | |
| snapshot_id | integer | The ID of the snapshot to use for the device. |
| snapshot_name | string | Name of the snapshot. |
| region_id | integer | The ID of the region where the device will run. |
| region_name | string | Name of the region. |
| stream_option_id | integer | The ID of the stream option to use for the device. |
| stream_option_name | string | Name of the stream option. |
| max_runtime | integer | The maximum runtime of the device in seconds, 0 for project max runtime. |
| rootfs_artifactory_path | string | The path of the rootfs image in artifactory. |
| reboot | integer | Device reboot behaviour.-1 for no reboots, including requested reboot; 0 for no device crash reboots; and >0 for n number of device crash reboots.A device crash is determined by restart_reason in the |
| ip_address | object | IP address of the running device Instance. |
| janus_id | object | ID of the Janus WebRTC stream. |
| janus_pin | object | Pin to access the Janus WebRTC stream. |
| janus_token | object | Janus API Token. |
| janus_websocket_url | object | |
| janus_ice_servers | object | |
| instance_api_url | object | |
| instance_uuid | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/nabu-cloud-device-instance-info-schema.json",
"title": "DeviceInstanceInfo",
"description": "DeviceInstanceInfo schema from Roku Nabu Cloud",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 0,
"title": "Id"
},
"creator_id": {
"type": "string",
"format": "uuid",
"title": "Creator Id",
"description": "The ID of the user who started the device."
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"started_at": {
"type": "string",
"format": "date-time",
"title": "Started At"
},
"snapshot_id": {
"type": "integer",
"minimum": 0,
"title": "Snapshot Id",
"description": "The ID of the snapshot to use for the device."
},
"snapshot_name": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"title": "Snapshot Name",
"description": "Name of the snapshot."
},
"region_id": {
"type": "integer",
"minimum": 0,
"title": "Region Id",
"description": "The ID of the region where the device will run."
},
"region_name": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"title": "Region Name",
"description": "Name of the region."
},
"stream_option_id": {
"type": "integer",
"minimum": 0,
"title": "Stream Option Id",
"description": "The ID of the stream option to use for the device."
},
"stream_option_name": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"title": "Stream Option Name",
"description": "Name of the stream option. "
},
"max_runtime": {
"type": "integer",
"minimum": 0,
"title": "Max Runtime",
"description": "The maximum runtime of the device in seconds, 0 for project max runtime."
},
"rootfs_artifactory_path": {
"type": "string",
"maxLength": 255,
"minLength": 3,
"pattern": "^[a-zA-Z0-9_-]*(\\/[a-zA-Z0-9._-]+)*(\\:[a-zA-Z0-9._-]+)?$",
"title": "Rootfs Artifactory Path",
"description": "The path of the rootfs image in artifactory.",
"examples": [
"official/release/2024-h2/r14.0.4.122xx-rta/native_tv:latest",
"premergeci/native_tv:4838657"
]
},
"reboot": {
"type": "integer",
"maximum": 150,
"minimum": -1,
"title": "Reboot",
"description": "Device reboot behaviour.-1 for no reboots, including requested reboot; 0 for no device crash reboots; and >0 for n number of device crash reboots.A device crash is determined by restart_reason in the device nvram. A device shutdown will act like a reboot."
},
"ip_address": {
"anyOf": [
{
"type": "string",
"format": "ipvanyaddress"
},
{
"type": "null"
}
],
"title": "Ip Address",
"description": "IP address of the running device Instance."
},
"janus_id": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Janus Id",
"description": "ID of the Janus WebRTC stream."
},
"janus_pin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Janus Pin",
"description": "Pin to access the Janus WebRTC stream."
},
"janus_token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Janus Token",
"description": "Janus API Token."
},
"janus_websocket_url": {
"anyOf": [
{
"type": "string",
"description": "\n WebSocket URL to connect to the Janus WebRTC gateway. Includes the\n ws:// prefix and the path to the instance.\n "
},
{
"type": "null"
}
],
"title": "Janus Websocket Url"
},
"janus_ice_servers": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/IceServer"
},
"type": "array",
"description": "List of ICE servers to use for WebRTC connections."
},
{
"type": "null"
}
],
"title": "Janus Ice Servers"
},
"instance_api_url": {
"anyOf": [
{
"type": "string",
"description": "\n Url prefix for the instance api. Does not contain the protocol\n prefix since the instance api contains both ws and http endpoints.\n "
},
{
"type": "null"
}
],
"title": "Instance Api Url"
},
"instance_uuid": {
"type": "string",
"format": "uuid",
"title": "Instance Uuid"
}
},
"required": [
"id",
"creator_id",
"created_at",
"snapshot_id",
"region_id",
"stream_option_id",
"max_runtime",
"rootfs_artifactory_path",
"reboot",
"instance_uuid"
]
}