File manager - Edit - /opt/flussonic/lib/web-1/priv/chassis-private.json
Back
{ "openapi": "3.1.0", "info": { "contact": { "email": "support@flussonic.com", "name": "Support team", "url": "https://flussonic.com/" }, "description": "This document is an API for chassis management system\n", "title": "Chassis management API", "version": "1.2.3" }, "components": { "schemas": { "memory_stats": { "type": "object", "properties": { "free": { "type": "integer", "format": "bytes", "description": "Free RAM available", "x-format-description": "bytes" }, "swap": { "type": "integer", "format": "bytes", "description": "Total swap memory allocated", "x-format-description": "bytes" }, "swap_free": { "type": "integer", "format": "bytes", "description": "Free swap memory available", "x-format-description": "bytes" }, "total": { "type": "integer", "format": "bytes", "description": "Total RAM allocated", "x-format-description": "bytes" } } }, "scheduler_stats": { "type": "object", "properties": { "cpu": { "type": "integer", "description": "Scheduler utilization of a dirty-cpu scheduler" }, "io": { "type": "integer", "description": "Scheduler utilization of a dirty-io scheduler" }, "normal": { "type": "integer", "description": "Scheduler utilization of a normal scheduler" }, "total": { "type": "integer", "description": "Total utilization of all normal and dirty-cpu schedulers" } } }, "collection_response": { "type": "object", "properties": { "estimated_count": { "description": "Estimated total number of records for the query (regardless of the cursors).\n", "type": "integer", "example": 5 }, "next": { "description": "Next cursor: a properly encoded equivalent of offset allowing to read the next bunch of items.\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\n", "example": "JTI0cG9zaXRpb25fZ3Q9MA==", "type": "string" }, "prev": { "description": "Previous cursor: a properly encoded equivalent of offset allowing to read the previous bunch of items.\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\n", "example": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl", "type": "string" }, "timing": { "description": "An object with a list of different timings measured during this API call.", "type": "object" } } }, "error_response": { "type": "object", "properties": { "errors": { "description": "List of structured errors", "type": "array", "items": { "$ref": "#/components/schemas/error" } }, "error": { "type": "string", "deprecated": true, "x-delete-at": 23.09, "x-private": true, "description": "This is how flussonic serves errors right now. To be removed as we migrate to new format\n" } } }, "error": { "type": "object", "properties": { "id": { "type": "string", "description": "a unique identifier for this particular occurrence of the problem\n" }, "status": { "type": "string", "description": "the HTTP status code applicable to this problem, expressed as a string value\n" }, "code": { "type": "string", "description": "an application-specific error code, expressed as a string value\n" }, "title": { "type": "string", "description": "a short, human-readable summary of the problem that SHOULD NOT change from\noccurrence to occurrence of the problem, except for purposes of localization\n" }, "source": { "description": "an object containing references to the source of the error\n", "type": "object", "properties": { "pointer": { "type": "string", "description": "a JSON Pointer [RFC6901] to the associated entity in the request document\n[e.g. `\"/data\"` for a primary data object, or `\"/data/attributes/title\"` for a specific attribute].\n" }, "parameter": { "type": "string", "description": "a string indicating which URI query parameter caused the error." } } }, "meta": { "type": "object", "description": "a meta object containing non-standard meta-information about the error.\n", "additionalProperties": { "type": "string" } } } }, "network_port": { "maximum": 65535, "minimum": 0, "type": "integer" }, "listen_spec": { "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/network_port" } ] }, { "type": "string", "format": "hostport", "x-format-description": "Hostname with port" } ] }, "network_addr": { "type": "string", "minLength": 1 }, "network_mask": { "type": "integer", "minimum": 1, "maximum": 32 }, "interface_mode": { "enum": [ "static", "dynamic" ], "type": "string" }, "chassis_config": { "type": "object", "properties": { "product_name": { "description": "Coder product name", "allOf": [ { "$ref": "#/components/schemas/chassis_product" } ], "readOnly": true }, "api_port": { "description": "Private port for API requests to the chassis from coders.", "allOf": [ { "$ref": "#/components/schemas/listen_spec" } ], "readOnly": true }, "auto_reboot": { "description": "Shows if auto restart of coders when (re)starting chassis is enabled.", "type": "boolean", "default": false, "readOnly": true }, "dhcpd_iface": { "description": "Network interface for automatic reception of IP address from DHCP server. \nThis interface will be used for launching coders.\n", "type": "string", "format": "interface_name", "readOnly": true, "x-format-description": "interface_name" }, "dhcpd_port": { "description": "Source port for DHCP requests.", "allOf": [ { "$ref": "#/components/schemas/listen_spec" } ], "readOnly": true }, "dhcpd_port_dest": { "description": "Destination port for DHCP requests.", "allOf": [ { "$ref": "#/components/schemas/listen_spec" } ], "readOnly": true }, "lcd": { "description": "Shows if LCD monitor capabilities are enabled in the firmware.", "type": "boolean", "default": false, "readOnly": true }, "ntpd_iface": { "description": "Network interface for NTP daemon.", "type": "string", "format": "interface_name", "readOnly": true, "x-format-description": "interface_name" }, "ntpd_port": { "description": "Port for NTP daemon.", "allOf": [ { "$ref": "#/components/schemas/listen_spec" } ], "readOnly": true }, "tftp_port": { "description": "Port for TFTP used for loading program core to the coders.", "allOf": [ { "$ref": "#/components/schemas/listen_spec" } ], "readOnly": true }, "tftp_root": { "description": "TFTP root directory.", "type": "string", "format": "disk_path", "readOnly": true, "x-format-description": "disk_path" }, "update_channel": { "description": "Update channel specified in the config file.", "type": "string", "readOnly": true }, "firmware_host": { "description": "URL for downloading firmware.", "type": "string", "format": "url", "readOnly": true, "x-format-description": "url" }, "firmware_version": { "description": "Firmware version installed on the device.", "allOf": [ { "$ref": "#/components/schemas/chassis_version" } ], "readOnly": true }, "firmware_boot_dir": { "description": "Directory to boot the device from. This is also where the firmware is downloaded on updates.", "type": "string", "format": "disk_path", "readOnly": true, "x-format-description": "disk_path" }, "stats": { "description": "Statistics of the chassis connections.", "allOf": [ { "$ref": "#/components/schemas/chassis_stats" } ], "readOnly": true }, "restart_coder_timeout": { "description": "Timeout for restarting coders.", "type": "integer", "readOnly": true }, "hostname": { "description": "The name of the chassis server.", "type": "string", "format": "server_name", "example": "coder1.example.com", "x-format-description": "server_name" }, "default_gateway_interface": { "description": "If `default_gateway` parameters are set the individual interfaces config, \nthis gateway is only used for checking license and updates. \nOtherwise, it is used as gateway for all traffic.\n", "type": "string", "example": "streaming" }, "ntp_servers": { "description": "List of NTP server host names or IP addresses", "type": "array", "items": { "type": "string" } } } }, "chassis_stats": { "type": "object", "properties": { "dhcp": { "description": "DHCP statistics.", "allOf": [ { "$ref": "#/components/schemas/chassis_dhcpd_stats" } ], "x-private": true }, "tftp": { "description": "TFTP statistics.", "allOf": [ { "$ref": "#/components/schemas/chassis_tftp_stats" } ], "x-private": true }, "ntpd": { "description": "NTP daemon statistics.", "allOf": [ { "$ref": "#/components/schemas/chassis_ntpd_stats" } ], "x-private": true }, "model": { "description": "The chassis model name.", "type": "string", "example": "chassis_model" }, "version": { "description": "Full version number of the firmware. Deprecated. Version could be found at `chassis_config/firmware_version`", "deprecated": true, "x-delete-at": "24.10", "allOf": [ { "$ref": "#/components/schemas/chassis_version" } ], "example": "21.09.1-234" }, "next_version": { "deprecated": true, "x-delete-at": "24.10", "description": "The latest available version of the firmware, if any. Deprecated. Last available version could be obtained from `chassis_firmwares_list`", "allOf": [ { "$ref": "#/components/schemas/chassis_version" } ] }, "serial_number": { "description": "The serial number of the chassis.", "type": "string", "example": "2174220024" }, "hardware_id": { "description": "MAC address of the manage0 interface.", "type": "string" }, "hostname": { "type": "string", "description": "Hostname of the server.", "example": "coder1.example.com" }, "ntp_clock_synchronized": { "type": "boolean", "description": "Whether a system clock synchronized with NTP server" }, "system_time": { "type": "number", "format": "utc_ms", "description": "Chassis system time (in UTC milliseconds)", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 } } }, "interface_config": { "type": "object", "properties": { "name": { "description": "Interface name.", "type": "string", "format": "interface_name", "example": "streaming", "readOnly": true, "x-format-description": "interface_name" }, "ip": { "description": "IP address assigned to the interface.", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ], "example": "10.10.10.9" }, "mask": { "description": "Subnet mask.", "allOf": [ { "$ref": "#/components/schemas/network_mask" } ], "example": 24 }, "gw": { "description": "Primary gateway address.", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ], "example": "10.10.10.10" }, "dns": { "description": "IP address of the DNS server.", "type": "array", "items": { "$ref": "#/components/schemas/network_addr" } }, "mode": { "description": "The way of assigning network settings to the interface.", "allOf": [ { "$ref": "#/components/schemas/interface_mode" } ] }, "running": { "description": "Shows if the interface is currently active.", "type": "boolean" }, "rp_filter": { "description": "Shows if reverse path filtering is enabled.", "type": "boolean" }, "default_gateway": { "description": "Default gateway where the traffic will be sent to\nin response to requests (API, HLS, etc.) received on this interface.\n\nIf not set, the `default_gateway_interface` is used.\n", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ] }, "disk_config_error": { "description": "Indicates if there are any errors in the interface configuration.", "type": "boolean" }, "disk_config_path": { "description": "Path to the interface config file.", "type": "string" }, "stats": { "description": "Interface statistics.", "allOf": [ { "$ref": "#/components/schemas/interface_stats" } ], "readOnly": true } } }, "interface_stats": { "type": "object", "properties": { "blinking": { "description": "Shows if interface blinking is enabled.", "type": "boolean", "default": false }, "hw": { "description": "MAC address of the interface.", "type": "string", "format": "interface_hwaddr", "example": "00:1b:63:84:45:e6", "x-format-description": "interface_hwaddr" }, "ip": { "description": "IP address of the interface.", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ], "example": "10.10.10.9" }, "mask": { "description": "Subnet mask of the interface.", "allOf": [ { "$ref": "#/components/schemas/network_mask" } ], "example": 24 }, "gw": { "description": "Gateway address.", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ], "example": "10.10.10.10" }, "dns": { "description": "DNS server address.", "type": "array", "items": { "$ref": "#/components/schemas/network_addr" } }, "mode": { "description": "The way of assigning network settings to the interface.", "allOf": [ { "$ref": "#/components/schemas/interface_mode" } ] }, "running": { "description": "Shows if the interface is currently active.", "type": "boolean" }, "up": { "description": "Shows if the interface is up.", "type": "boolean" } } }, "chassis_dhcpd_stats": { "type": "object", "properties": { "error": { "description": "The error code, if any.", "type": "string", "enum": [ "listen_failure", "port_busy", "no_interface" ] }, "leases": { "description": "The list of leased IP addresses.", "type": "array", "items": { "type": "object", "properties": { "mac": { "description": "MAC address corresponding to the IP address.", "type": "string" }, "ip": { "description": "IP address.", "type": "string" }, "count": { "description": "The number of uses.", "type": "integer" }, "last_seen_at": { "description": "When the IP address was used the last time.", "type": "integer" } } }, "default": [] } } }, "chassis_tftp_stats": { "type": "object", "properties": { "error": { "description": "Error code, if any.", "type": "string", "enum": [ "listen_failure", "port_busy", "no_interface" ] }, "file_count": { "description": "The number of files sent over TFTP.", "type": "integer" }, "sent_bytes": { "description": "The number of bytes sent over TFTP.", "type": "integer" } } }, "chassis_ntpd_stats": { "type": "object", "properties": { "port": { "description": "The port used for NTP daemon.", "type": "integer" }, "requests_count": { "description": "The number of requests sent.", "type": "integer" } } }, "coder_stream_stats": { "type": "object", "properties": { "name": { "description": "The stream name.", "type": "string", "format": "media_name", "x-format-description": "media_name" }, "bitstream_err_count": { "description": "The number of input stream errors.", "type": "integer" }, "dec_err_count": { "description": "The number of decoding errors.", "type": "integer" }, "dec_timing": { "description": "Raw image decoding time.", "type": "integer" }, "enc_timing": { "description": "Raw image encoding time, including the time of sending the image to the encoder.", "type": "integer" }, "encoders": { "description": "The number of encoders.", "type": "integer" }, "fps_in": { "description": "Actual input fps.", "type": "integer" }, "fps_out": { "description": "Actual output fps.", "type": "integer", "example": 25 }, "mqlen": { "description": "Transcoder process queue length.", "type": "integer" } } }, "chassis_product": { "type": "string", "oneOf": [ { "title": "Coder", "const": "coder_transcoder", "description": "Basic coder with transcoding support" }, { "title": "Vision Coder", "const": "coder_vision", "description": "Coder with video analytic support" }, { "title": "DVB Coder", "const": "coder_dvb", "description": "Basic coder with transcoding support and DVB output" } ] }, "chassis_firmware_info": { "type": "object", "properties": { "version": { "allOf": [ { "$ref": "#/components/schemas/chassis_version" } ], "description": "Full version number of the downloaded firmware.", "example": "21.09.1-234" }, "channel": { "type": "string", "description": "Update channel: release, master or anything else.\n" }, "download_progress": { "description": "Download progress (percentage). If exists, then it is downloading right now.", "type": "integer", "minimum": 0, "maximum": 100 }, "downloaded": { "type": "boolean", "default": false, "description": "Whether firmware is already downloaded and ready to be used." }, "current": { "type": "boolean", "default": false, "description": "Whether the firmware is currently running." }, "selected": { "type": "boolean", "default": false, "description": "Whether the firmware is selected for the next boot." } } }, "chassis_version": { "type": "string" }, "chassis_disk": { "type": "object", "properties": { "disk_id": { "description": "Internal disk identificator which is assigned to each plugged disk.\nThere are symlinks like `/dev/<disk_id>` which target to the `/dev/<sdX>` or `/dev/<nvmeX>` devices.\nIt used to map original devices to it's chassis bay positions. The number part of `disk_id` is the bay position number.\n", "example": "storage001", "type": "string" }, "mount_point": { "description": "The mount point of the disk first partition.", "example": "/mnt/storage001", "type": "string" }, "formatted": { "description": "Shows if disk has one partition of ext4 and suitable to use for DVR", "type": "boolean" } } }, "coder_config": { "type": "object", "properties": { "coder": { "description": "The coder ID.", "type": "integer" }, "stats": { "description": "The coder statistics.", "allOf": [ { "$ref": "#/components/schemas/coder_stats" } ] } }, "required": [ "coder" ] }, "coder_stats": { "type": "object", "properties": { "instance_id": { "description": "Instance ID generated on each coder restart.", "type": "string", "format": "uuid", "x-format-description": "uuid" }, "boot_at": { "description": "The date and time the device was booted.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "powered_at": { "description": "The date and time the device was powered.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "dhcp_at": { "description": "The date and time the device received network settings over DHCP.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "nfs_at": { "description": "The date and time the device connected to NFS.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "connected_at": { "description": "The date and time when the coder connected to the chassis.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "updated_at": { "description": "The date and time when any data was last received from the coder.", "type": "number", "format": "utc_ms", "x-format-description": "Unix timestamp in milliseconds", "minimum": 1000000000000, "maximum": 10000000000000 }, "scheduler": { "description": "Scheduler statistics.", "allOf": [ { "$ref": "#/components/schemas/scheduler_stats" } ] }, "cpu_usage": { "description": "CPU usage on the coder.", "type": "integer", "format": "percent", "x-format-description": "percent" }, "load": { "description": "The coder system load.", "type": "number", "example": 74 }, "mc_all": { "description": "Memory controller throughput.", "type": "integer" }, "memory": { "description": "Memory consumption on the coder.", "allOf": [ { "$ref": "#/components/schemas/memory_stats" } ] }, "power": { "description": "Power consumption on the coder.", "type": "integer", "example": 70000 }, "serial_number": { "description": "Serial number of the coder.", "type": "string", "example": "2174220024" }, "temperature": { "description": "Temperature on the coder.", "type": "integer", "format": "celsius", "example": 20, "x-format-description": "celsius" }, "uptime": { "description": "Period of time since the last restart of the coder.", "type": "number", "format": "milliseconds", "x-format-description": "milliseconds" }, "streams": { "description": "The list of streams on the coder.", "type": "array", "items": { "$ref": "#/components/schemas/coder_stream_stats" }, "default": [] }, "status": { "description": "The coder status.", "type": "string", "enum": [ "unknown", "offline", "rebooting", "booting", "working" ], "example": "working" }, "reboot_allowed": { "description": "Shows if restart button is available for the coder in the UI.", "default": true, "type": "boolean" } } }, "chassis_backup": { "type": "object", "properties": { "name": { "description": "The backup name.", "type": "string" }, "size": { "description": "The backup size.", "type": "integer" }, "data": { "description": "The backup data.", "type": "string", "format": "byte", "x-format-description": "byte" } }, "required": [ "name" ] }, "chassis_blink": { "type": "object", "properties": { "blinking": { "description": "Enables the interface blinking.", "type": "boolean" } } }, "chassis_ping_request": { "type": "object", "properties": { "ip": { "description": "IP address to send ping request.", "allOf": [ { "$ref": "#/components/schemas/network_addr" } ] }, "iface": { "description": "Interface via which to send ping.", "type": "string", "format": "interface_name", "x-format-description": "interface_name" }, "limit": { "description": "Limit to the number of packages sent.", "type": "integer" }, "delay": { "description": "The delay between packages.", "type": "number", "format": "milliseconds", "x-format-description": "milliseconds" } }, "required": [ "ip" ] }, "chassis_ping_response": { "type": "object", "properties": { "count": { "description": "The number of packages sent.", "type": "integer" }, "drop_count": { "description": "The number of packages dropped.", "type": "integer" }, "min_rtt": { "description": "The minimum Round Trip Time.", "type": "integer" }, "max_rtt": { "description": "The maximum Round Trip Time.", "type": "integer" }, "avg_rtt": { "description": "Average Round Trip Time.", "type": "integer" }, "raw": { "description": "Raw output of the ping command.", "type": "string" } } }, "chassis_firmwares_list": { "allOf": [ { "$ref": "#/components/schemas/collection_response" }, { "type": "object", "properties": { "firmwares": { "description": "The list of firmwares stored on the device.", "type": "array", "items": { "$ref": "#/components/schemas/chassis_firmware_info" } } } } ] }, "chassis_interfaces_list": { "allOf": [ { "$ref": "#/components/schemas/collection_response" }, { "type": "object", "properties": { "interfaces": { "description": "The list of interfaces.", "type": "array", "items": { "$ref": "#/components/schemas/interface_config" } } } } ] }, "chassis_disks_list": { "allOf": [ { "$ref": "#/components/schemas/collection_response" }, { "type": "object", "properties": { "disks": { "description": "The list of disks installed in the chassis.", "type": "array", "items": { "$ref": "#/components/schemas/chassis_disk" } } } } ] }, "chassis_coders_list": { "allOf": [ { "$ref": "#/components/schemas/collection_response" }, { "type": "object", "properties": { "coders": { "description": "The list of coders.", "type": "array", "items": { "$ref": "#/components/schemas/coder_config" } } } } ] }, "chassis_backups_list": { "allOf": [ { "$ref": "#/components/schemas/collection_response" }, { "type": "object", "properties": { "backups": { "description": "The list of chassis backups.", "type": "array", "items": { "$ref": "#/components/schemas/chassis_backup" } } } } ] } }, "securitySchemes": { "basicAuth": { "scheme": "basic", "type": "http" }, "bearerAuth": { "bearerFormat": "JWT", "scheme": "bearer", "type": "http" } } }, "paths": { "/chassis": { "get": { "operationId": "chassis_get", "description": "Get chassis config.", "summary": "Get chassis config", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_config" } } }, "description": "Returns chassis config" } }, "tags": [ "chassis_config" ] }, "put": { "operationId": "chassis_save", "summary": "Save chassis config", "description": "Partial chassis configuration", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_config" } } } }, "responses": { "200": { "description": "Updated chassis config", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_config" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_response" } } }, "description": "Specified default interface not found or not configured" } }, "tags": [ "chassis_config" ] } }, "/chassis/reboot": { "post": { "description": "Reboot chassis", "operationId": "chassis_reboot", "summary": "Reboot chassis", "responses": { "204": { "description": "Response" } }, "tags": [ "chassis_control" ] } }, "/chassis/firmwares": { "get": { "description": "Downloaded firmwares list", "operationId": "chassis_firmwares_list", "summary": "List available firmwares", "parameters": [ { "description": "Check in repository", "in": "query", "name": "force_update", "required": false, "schema": { "example": false, "type": "boolean" }, "style": "form" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_firmwares_list" } } }, "description": "Response" } }, "tags": [ "chassis_firmware" ], "x-collection-type": "chassis_firmware_info", "x-collection-name": "firmwares" } }, "/chassis/firmwares/download": { "post": { "description": "Start downloading", "operationId": "chassis_firmware_download_create", "summary": "Download firmware", "parameters": [ { "description": "firmware version", "in": "query", "name": "version", "required": true, "schema": { "example": "21.09-204", "type": "string" } }, { "description": "download channel", "in": "query", "name": "channel", "schema": { "example": "lanner/master", "type": "string" } } ], "responses": { "200": { "description": "Downloaded firmware", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_firmware_info" } } } } }, "tags": [ "chassis_firmware" ] }, "delete": { "description": "Stop downloading", "operationId": "chassis_firmware_download_delete", "summary": "Stop downloading", "responses": { "204": { "description": "Download stopped" } }, "tags": [ "chassis_firmware" ] } }, "/chassis/firmwares/upload": { "put": { "operationId": "chassis_firmware_upload", "description": "Upload firmware", "summary": "Upload firmware", "requestBody": { "description": "firmware", "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "description": "The array of firmware component files.", "type": "array", "items": { "type": "string", "format": "binary", "x-format-description": "binary" } } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_firmware_info" } } }, "description": "Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_response" } } }, "description": "Bad firmware" } }, "tags": [ "chassis_firmware" ] } }, "/chassis/firmwares/install": { "post": { "operationId": "chassis_firmware_install", "summary": "Install firmware", "description": "Install firmware for specific version", "parameters": [ { "description": "firmware version", "in": "query", "name": "version", "required": true, "schema": { "example": "21.09-204", "type": "string" } }, { "description": "download channel", "in": "query", "name": "channel", "schema": { "example": "lanner/master", "type": "string" } } ], "responses": { "200": { "description": "Downloaded and installed firmware", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_firmware_info" } } } } }, "tags": [ "chassis_firmware" ] } }, "/chassis/firmwares/{version}": { "delete": { "description": "Delete the downloaded firmware by its version", "operationId": "chassis_firmware_delete", "summary": "Delete firmware", "parameters": [ { "description": "firmware version", "in": "path", "name": "version", "required": true, "schema": { "example": "abc", "type": "string" }, "style": "simple" } ], "responses": { "204": { "description": "Deleted" } }, "tags": [ "chassis_firmware" ] } }, "/chassis/interfaces": { "get": { "description": "Interfaces list", "operationId": "chassis_interfaces_list", "summary": "List NICs", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_interfaces_list" } } }, "description": "Response" } }, "tags": [ "chassis_interface" ], "x-collection-type": "interface_config", "x-collection-name": "interfaces" } }, "/chassis/interfaces/{name}": { "parameters": [ { "description": "interface name", "in": "path", "name": "name", "required": true, "schema": { "example": "coder1", "type": "string" }, "style": "simple" } ], "get": { "operationId": "chassis_interface_get", "description": "Get the configuration of a specific network interface.", "summary": "Get NIC", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/interface_config" } } }, "description": "Response" } }, "tags": [ "chassis_interface" ] }, "put": { "operationId": "chassis_interface_save", "description": "Update the configuration of a specific network interface.", "summary": "Save NIC", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/interface_config" } } }, "description": "Request" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/interface_config" } } }, "description": "Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_response" } } }, "description": "Couldn't save" } }, "tags": [ "chassis_interface" ] } }, "/chassis/interfaces/{name}/blink": { "parameters": [ { "description": "interface name", "in": "path", "name": "name", "required": true, "schema": { "example": "coder1", "type": "string" }, "style": "simple" } ], "get": { "operationId": "chassis_interface_blink_get", "description": "Get the status of interface blinking.", "summary": "Get blink status", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_blink" } } }, "description": "Response" } }, "tags": [ "chassis_interface" ] }, "put": { "operationId": "chassis_interface_blink_save", "description": "Setup interface blinking.", "summary": "Set blink status", "responses": { "204": { "description": "Response" } }, "tags": [ "chassis_interface" ] }, "delete": { "description": "Disable interface blinking.", "operationId": "chassis_interface_blink_delete", "summary": "Disable blink", "responses": { "204": { "description": "Response" } }, "tags": [ "chassis_interface" ] } }, "/chassis/ping": { "post": { "operationId": "chassis_ping", "summary": "Ping host", "description": "Perform synchronous ping request", "tags": [ "chassis_interface" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_ping_request" } } }, "description": "Request" }, "responses": { "200": { "description": "Ping response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_ping_response" } } } } } } }, "/chassis/disks": { "get": { "operationId": "chassis_disks_list", "description": "Fetch all DVR disks.", "summary": "List of DVR disks", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_disks_list" } } }, "description": "Response" } }, "tags": [ "chassis_config" ], "x-collection-type": "chassis_disk", "x-collection-name": "disks" } }, "/chassis/disks/{disk_id}/format": { "post": { "operationId": "chassis_disk_format", "description": "Format specific disk for DVR usage", "summary": "Format disk for DVR usage", "parameters": [ { "description": "disk identificator", "in": "path", "name": "disk_id", "required": true, "schema": { "example": "storage001", "type": "string" } } ], "responses": { "204": { "description": "Formatted" } }, "tags": [ "chassis_control" ] } }, "/chassis/disks/{disk_id}/mount": { "post": { "operationId": "chassis_disk_mount", "description": "Mount specific disk", "summary": "Mount disk", "parameters": [ { "description": "disk identificator", "in": "path", "name": "disk_id", "required": true, "schema": { "example": "storage001", "type": "string" } } ], "responses": { "204": { "description": "Mounted" } }, "tags": [ "chassis_control" ] } }, "/chassis/disks/{disk_id}/umount": { "post": { "operationId": "chassis_disk_umount", "description": "Umount specific disk", "summary": "Umount disk", "parameters": [ { "description": "disk identificator", "in": "path", "name": "disk_id", "required": true, "schema": { "example": "storage001", "type": "string" } } ], "responses": { "204": { "description": "Umounted" } }, "tags": [ "chassis_control" ] } }, "/chassis/coders": { "get": { "operationId": "chassis_coders_list", "description": "Fetch all coder modules.", "summary": "List coder modules", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_coders_list" } } }, "description": "Response" } }, "tags": [ "chassis_config" ], "x-collection-type": "coder_config", "x-collection-name": "coders" } }, "/chassis/coders/{coder}/shutdown": { "post": { "operationId": "chassis_coder_shutdown", "description": "Turn off a specific coder module.", "summary": "Turn off coder module", "parameters": [ { "description": "coder number", "in": "path", "name": "coder", "required": true, "schema": { "example": 1, "type": "integer" }, "style": "simple" } ], "responses": { "204": { "description": "Turned off" } }, "tags": [ "chassis_control" ] } }, "/chassis/coders/{coder}/boot": { "post": { "operationId": "chassis_coder_boot", "description": "Turn on a specific coder module.", "summary": "Turn on coder module", "parameters": [ { "description": "coder number", "in": "path", "name": "coder", "required": true, "schema": { "example": 1, "type": "integer" }, "style": "simple" } ], "responses": { "204": { "description": "Turned on" } }, "tags": [ "chassis_control" ] } }, "/chassis/coders/{coder}/reboot": { "post": { "operationId": "chassis_coder_reboot", "description": "Reboot a specific coder module.", "summary": "Reboot coder module", "parameters": [ { "description": "coder number", "in": "path", "name": "coder", "required": true, "schema": { "example": 1, "type": "integer" }, "style": "simple" } ], "responses": { "204": { "description": "rebooting" } }, "tags": [ "chassis_control" ] } }, "/chassis/backups": { "get": { "operationId": "chassis_backups_list", "description": "Fetch the list of backups.", "summary": "List backups", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_backups_list" } } }, "description": "Response" } }, "tags": [ "chassis_backup" ], "x-collection-type": "chassis_backup", "x-collection-name": "backups" } }, "/chassis/backups/{name}": { "parameters": [ { "name": "name", "description": "backup name", "in": "path", "required": true, "schema": { "example": "20210915-231745", "type": "string" }, "style": "simple" } ], "get": { "operationId": "chassis_backup_get", "description": "Download a specific chassis backup.", "summary": "Download backup", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_backup" } } }, "description": "Response" } }, "tags": [ "chassis_backup" ] }, "put": { "operationId": "chassis_backup_save", "description": "Upload the chassis backup.", "summary": "Upload backup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_backup" } } }, "description": "Request" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chassis_backup" } } }, "description": "Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_response" } } }, "description": "Couldn't save" } }, "tags": [ "chassis_backup" ] }, "delete": { "operationId": "chassis_backup_delete", "description": "Delete a backup by its name.", "summary": "Delete backup", "responses": { "204": { "description": "Deleted" } }, "tags": [ "chassis_backup" ] } }, "/chassis/backups/{name}/restore": { "parameters": [ { "name": "name", "description": "backup name", "in": "path", "required": true, "schema": { "example": "20210915-231745", "type": "string" }, "style": "simple" } ], "post": { "operationId": "chassis_backup_restore", "description": "Restore the chassis from a specific backup.", "summary": "Restore this backup", "responses": { "204": { "description": "Restored" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_response" } } }, "description": "Couldn't save" } }, "tags": [ "chassis_backup" ] } } }, "security": [ { "basicAuth": [] }, { "bearerAuth": [] } ], "servers": [ { "description": "your local installation", "url": "http://localhost:8080/streamer/api/v3" } ], "tags": [ { "name": "chassis_firmware", "description": "Managing firmware and extensions." }, { "name": "chassis_config", "description": "Coder configuration" }, { "name": "chassis_backup", "description": "Backup and restore" }, { "name": "chassis_control", "description": "Hardware control" }, { "name": "chassis_interface", "description": "Chassis interface" } ] }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings