mirror of
https://github.com/datarhei/core.git
synced 2025-09-28 04:42:32 +08:00
9422 lines
325 KiB
Go
9422 lines
325 KiB
Go
// Package docs Code generated by swaggo/swag. DO NOT EDIT
|
|
package docs
|
|
|
|
import "github.com/swaggo/swag"
|
|
|
|
const docTemplate = `{
|
|
"schemes": {{ marshal .Schemes }},
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "{{escape .Description}}",
|
|
"title": "{{.Title}}",
|
|
"contact": {
|
|
"name": "datarhei Core Support",
|
|
"url": "https://www.datarhei.com",
|
|
"email": "hello@datarhei.com"
|
|
},
|
|
"license": {
|
|
"name": "Apache 2.0",
|
|
"url": "https://github.com/datarhei/core/v16/blob/main/LICENSE"
|
|
},
|
|
"version": "{{.Version}}"
|
|
},
|
|
"host": "{{.Host}}",
|
|
"basePath": "{{.BasePath}}",
|
|
"paths": {
|
|
"/api": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "API version and build infos in case auth is valid or not required. If auth is required, just the name field is populated.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"summary": "API version and build infos",
|
|
"operationId": "about",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.About"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/graph": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Load GraphQL playground",
|
|
"produces": [
|
|
"text/html"
|
|
],
|
|
"summary": "Load GraphQL playground",
|
|
"operationId": "graph-playground",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/graph/query": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Query the GraphAPI",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"summary": "Query the GraphAPI",
|
|
"operationId": "graph-query",
|
|
"parameters": [
|
|
{
|
|
"description": "GraphQL Query",
|
|
"name": "query",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.GraphQuery"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.GraphResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.GraphResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/swagger": {
|
|
"get": {
|
|
"description": "Swagger UI for this API",
|
|
"produces": [
|
|
"text/html"
|
|
],
|
|
"summary": "Swagger UI for this API",
|
|
"operationId": "swagger",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of nodes in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of nodes in the cluster",
|
|
"operationId": "cluster-3-get-cluster",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterAbout"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/kv": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of KV in the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List KV in the cluster DB",
|
|
"operationId": "cluster-3-db-list-kv",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterKVS"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/locks": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of locks in the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List locks in the cluster DB",
|
|
"operationId": "cluster-3-db-list-locks",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ClusterLock"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/node": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of nodes in the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List nodes in the cluster DB",
|
|
"operationId": "cluster-3-db-list-nodes",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ClusterStoreNode"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/policies": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of policies in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of policies in the cluster",
|
|
"operationId": "cluster-3-db-list-policies",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of processes in the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of processes in the cluster DB",
|
|
"operationId": "cluster-3-db-list-processes",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/process/:id": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get a process in the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Get a process in the cluster DB",
|
|
"operationId": "cluster-3-db-get-process",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/user": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of identities in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of identities in the cluster",
|
|
"operationId": "cluster-3-db-list-identities",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/db/user/{name}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of identities in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of identities in the cluster",
|
|
"operationId": "cluster-3-db-get-identity",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/events": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Stream of events of whats happening on each node in the cluster",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"text/event-stream",
|
|
"application/x-json-stream"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Stream of events",
|
|
"operationId": "cluster-3-events",
|
|
"parameters": [
|
|
{
|
|
"description": "Event filters",
|
|
"name": "filters",
|
|
"in": "body",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.EventFilters"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Event"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/fs/{storage}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all files on a filesystem. The listing can be ordered by name, size, or date of last modification in ascending or descending order.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List all files on a filesystem",
|
|
"operationId": "cluster-3-list-files",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "glob pattern for file names",
|
|
"name": "glob",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "none, name, size, lastmod",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "asc, desc",
|
|
"name": "order",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.FileInfo"
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/healthy": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Whether the cluster is healthy",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Whether the cluster is healthy",
|
|
"operationId": "cluster-3-healthy",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "bool"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/iam/policies": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of policies IAM",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of policies in IAM",
|
|
"operationId": "cluster-3-iam-list-policies",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/iam/reload": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Reload identities and policies",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Reload identities and policies",
|
|
"operationId": "cluster-3-iam-reload",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/iam/user": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of identities in IAM",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of identities in IAM",
|
|
"operationId": "cluster-3-iam-list-identities",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add a new identity",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Add a new identiy",
|
|
"operationId": "cluster-3-add-identity",
|
|
"parameters": [
|
|
{
|
|
"description": "Identity",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/iam/user/{name}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Identity in IAM",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Identity in IAM",
|
|
"operationId": "cluster-3-iam-list-identity",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace an existing user.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Replace an existing user",
|
|
"operationId": "cluster-3-update-identity",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "User definition",
|
|
"name": "user",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Delete an identity by its name",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Delete an identity by its name",
|
|
"operationId": "cluster-3-delete-identity",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Identity name",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/iam/user/{name}/policy": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace policies of an user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Replace policies of an user",
|
|
"operationId": "cluster-3-update-user-policies",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Policy definitions",
|
|
"name": "user",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/leave": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Leave the cluster gracefully",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Leave the cluster gracefully",
|
|
"operationId": "cluster-3-leave",
|
|
"parameters": [
|
|
{
|
|
"description": "Node ID",
|
|
"name": "nodeid",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterNodeID"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/map/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve a map of which process is running on which node",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Retrieve a map of which process is running on which node",
|
|
"operationId": "cluster-3-db-process-node-map",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterProcessMap"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of proxy nodes in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of proxy nodes in the cluster",
|
|
"operationId": "cluster-3-get-nodes",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ClusterNode"
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List a proxy node by its ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List a proxy node by its ID",
|
|
"operationId": "cluster-3-get-node",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterNode"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/files": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List the resources of a proxy node by its ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List the resources of a proxy node by its ID",
|
|
"operationId": "cluster-3-get-node-files",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterNodeFiles"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/fs/{storage}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all files on a filesystem on a node. The listing can be ordered by name, size, or date of last modification in ascending or descending order.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List all files on a filesystem on a node",
|
|
"operationId": "cluster-3-node-fs-list-files",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "glob pattern for file names",
|
|
"name": "glob",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "none, name, size, lastmod",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "asc, desc",
|
|
"name": "order",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.FileInfo"
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/fs/{storage}/{filepath}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Fetch a file from a filesystem on a node",
|
|
"produces": [
|
|
"application/data",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Fetch a file from a filesystem on a node",
|
|
"operationId": "cluster-3-node-fs-get-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"301": {
|
|
"description": "Moved Permanently",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Writes or overwrites a file on a filesystem on a node",
|
|
"consumes": [
|
|
"application/data"
|
|
],
|
|
"produces": [
|
|
"text/plain",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Add a file to a filesystem on a node",
|
|
"operationId": "cluster-3-node-fs-put-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "File data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Remove a file from a filesystem on a node",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Remove a file from a filesystem on a node",
|
|
"operationId": "cluster-3-node-fs-delete-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of processes in the cluster on a node",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of processes in the cluster on a node",
|
|
"operationId": "cluster-3-list-node-processes",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of fields (config, state, report, metadata) that will be part of the output. If empty, all fields will be part of the output.",
|
|
"name": "filter",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Return only these process that have this reference value. If empty, the reference will be ignored.",
|
|
"name": "reference",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of process ids to list. Overrides the reference. If empty all IDs will be returned.",
|
|
"name": "id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process IDs. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "idpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process references. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "refpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process owners. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "ownerpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process domain. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "domainpattern",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/state": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the state of a node with the given ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Get the state of a node with the given ID",
|
|
"operationId": "cluster-3-get-node-state",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterNodeState"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Set the state of a node with the given ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Set the state of a node with the given ID",
|
|
"operationId": "cluster-3-set-node-state",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "State",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterNodeState"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/node/{id}/version": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List a proxy node by its ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List a proxy node by its ID",
|
|
"operationId": "cluster-3-get-node-version",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Node ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.AboutVersion"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of processes in the cluster",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of processes in the cluster",
|
|
"operationId": "cluster-3-get-all-processes",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of fields (config, state, report, metadata) that will be part of the output. If empty, all fields will be part of the output.",
|
|
"name": "filter",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Return only these process that have this reference value. If empty, the reference will be ignored.",
|
|
"name": "reference",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of process ids to list. Overrides the reference. If empty all IDs will be returned.",
|
|
"name": "id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process IDs. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "idpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process references. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "refpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process owners. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "ownerpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process domain. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "domainpattern",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add a new FFmpeg process",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Add a new process",
|
|
"operationId": "cluster-3-add-process",
|
|
"parameters": [
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process/probe": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Probe a process config to get a detailed stream information on the inputs.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Probe a process in the cluster",
|
|
"operationId": "cluster-3-probe-process-config",
|
|
"parameters": [
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Core to execute the probe on",
|
|
"name": "coreid",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Probe"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List a process by its ID. Use the filter parameter to specifiy the level of detail of the output.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List a process by its ID",
|
|
"operationId": "cluster-3-get-process",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of fields (config, state, report, metadata) to be part of the output. If empty, all fields will be part of the output",
|
|
"name": "filter",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace an existing process.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Replace an existing process",
|
|
"operationId": "cluster-3-update-process",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Delete a process by its ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Delete a process by its ID",
|
|
"operationId": "cluster-3-delete-process",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process/{id}/command": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Issue a command to a process: start, stop, reload, restart",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Issue a command to a process in the cluster",
|
|
"operationId": "cluster-3-set-process-command",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Process command",
|
|
"name": "command",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Command"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process/{id}/metadata/{key}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve the previously stored JSON metadata under the given key. If the key is empty, all metadata will be returned.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Retrieve JSON metadata stored with a process under a key",
|
|
"operationId": "cluster-3-get-process-metadata",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add arbitrary JSON metadata under the given key. If the key exists, all already stored metadata with this key will be overwritten. If the key doesn't exist, it will be created.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Add JSON metadata with a process under the given key",
|
|
"operationId": "cluster-3-set-process-metadata",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Arbitrary JSON data. The null value will remove the key and its contents",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/process/{id}/probe": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Probe an existing process to get a detailed stream information on the inputs. The probe is executed on the same node as the process.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Probe a process in the cluster",
|
|
"operationId": "cluster-3-process-probe",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Probe"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/reallocation": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve snapshot of the cluster DB",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Retrieve snapshot of the cluster DB",
|
|
"operationId": "cluster-3-reallocation",
|
|
"parameters": [
|
|
{
|
|
"description": "Process reallocations",
|
|
"name": "reallocations",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ClusterProcessReallocate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/snapshot": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve snapshot of the cluster DB",
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Retrieve snapshot of the cluster DB",
|
|
"operationId": "cluster-3-snapshot",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/cluster/transfer/{id}": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Transfer the leadership to another node",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Transfer the leadership to another node",
|
|
"operationId": "cluster-3-transfer-leadership",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/config": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve the currently active Restreamer configuration",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Retrieve the currently active Restreamer configuration",
|
|
"operationId": "config-3-get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.GetConfig"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Update the current Restreamer configuration by providing a complete or partial configuration. Fields that are not provided will not be changed.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Update the current Restreamer configuration",
|
|
"operationId": "config-3-set",
|
|
"parameters": [
|
|
{
|
|
"description": "Restreamer configuration",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.SetConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ConfigError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/config/reload": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Reload the currently active configuration. This will trigger a restart of the Core.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Reload the currently active configuration",
|
|
"operationId": "config-3-reload",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/events": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Stream of event of whats happening in the core",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"text/event-stream",
|
|
"application/x-json-stream"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Stream of events",
|
|
"operationId": "events",
|
|
"parameters": [
|
|
{
|
|
"description": "Event filters",
|
|
"name": "filters",
|
|
"in": "body",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.EventFilters"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Event"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/fs": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Listall registered filesystems",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.12.0"
|
|
],
|
|
"summary": "List all registered filesystems",
|
|
"operationId": "filesystem-3-list",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.FilesystemInfo"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Execute file operations (copy or move) between registered filesystems",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "File operations between filesystems",
|
|
"operationId": "filesystem-3-file-operation",
|
|
"parameters": [
|
|
{
|
|
"description": "Filesystem operation",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.FilesystemOperation"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/fs/{storage}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all files on a filesystem. The listing can be ordered by name, size, or date of last modification in ascending or descending order.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "List all files on a filesystem",
|
|
"operationId": "filesystem-3-list-files",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "glob pattern for file names",
|
|
"name": "glob",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "minimal size of files",
|
|
"name": "size_min",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "maximal size of files",
|
|
"name": "size_max",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "minimal last modification time",
|
|
"name": "lastmod_start",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "maximal last modification time",
|
|
"name": "lastmod_end",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "none, name, size, lastmod",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "asc, desc",
|
|
"name": "order",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.FileInfo"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Delete all files on a filesystem based on patterns",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Delete all files on a filesystem based on patterns",
|
|
"operationId": "filesystem-3-delete-files",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "glob pattern for file names",
|
|
"name": "glob",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "minimal size of files",
|
|
"name": "size_min",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "maximal size of files",
|
|
"name": "size_max",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "minimal last modification time",
|
|
"name": "lastmod_start",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "maximal last modification time",
|
|
"name": "lastmod_end",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/fs/{storage}/{filepath}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Fetch a file from a filesystem",
|
|
"produces": [
|
|
"application/data",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Fetch a file from a filesystem",
|
|
"operationId": "filesystem-3-get-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"301": {
|
|
"description": "Moved Permanently",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Writes or overwrites a file on a filesystem",
|
|
"consumes": [
|
|
"application/data"
|
|
],
|
|
"produces": [
|
|
"text/plain",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Add a file to a filesystem",
|
|
"operationId": "filesystem-3-put-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "File data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"204": {
|
|
"description": "No Content",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Remove a file from a filesystem",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Remove a file from a filesystem",
|
|
"operationId": "filesystem-3-delete-file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Name of the filesystem",
|
|
"name": "storage",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Path to file",
|
|
"name": "filepath",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/iam/user": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List of identities in IAM",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List of identities in IAM",
|
|
"operationId": "iam-3-list-identities",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add a new user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Add a new user",
|
|
"operationId": "iam-3-add-user",
|
|
"parameters": [
|
|
{
|
|
"description": "User definition",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/iam/user/{name}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List aa user by its name",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "List an user by its name",
|
|
"operationId": "iam-3-get-user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace an existing user.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Replace an existing user",
|
|
"operationId": "iam-3-update-user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "User definition",
|
|
"name": "user",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.IAMUser"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Delete an user by its name",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Delete an user by its name",
|
|
"operationId": "iam-3-delete-user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/iam/user/{name}/policy": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace policies of an user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Replace policies of an user",
|
|
"operationId": "iam-3-update-user-policies",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain of the acting user",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Policy definitions",
|
|
"name": "user",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/log": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the last log lines of the Restreamer application",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Application log",
|
|
"operationId": "log-3",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Format of the list of log events (*console, raw)",
|
|
"name": "format",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "application log",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/metadata/{key}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve the previously stored JSON metadata under the given key. If the key is empty, all metadata will be returned.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Retrieve JSON metadata from a key",
|
|
"operationId": "metadata-3-get",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add arbitrary JSON metadata under the given key. If the key exists, all already stored metadata with this key will be overwritten. If the key doesn't exist, it will be created.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Add JSON metadata under the given key",
|
|
"operationId": "metadata-3-set",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Arbitrary JSON data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/metrics": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all known metrics with their description and labels",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.10.0"
|
|
],
|
|
"summary": "List all known metrics with their description and labels",
|
|
"operationId": "metrics-3-describe",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.MetricsDescription"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Query the collected metrics",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Query the collected metrics",
|
|
"operationId": "metrics-3-metrics",
|
|
"parameters": [
|
|
{
|
|
"description": "Metrics query",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.MetricsQuery"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.MetricsResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all known processes. Use the query parameter to filter the listed processes.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "List all known processes",
|
|
"operationId": "process-3-get-all",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of fields (config, state, report, metadata) that will be part of the output. If empty, all fields will be part of the output.",
|
|
"name": "filter",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Return only these process that have this reference value. If empty, the reference will be ignored.",
|
|
"name": "reference",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of process ids to list. Overrides the reference. If empty all IDs will be returned.",
|
|
"name": "id",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process IDs. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "idpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process references. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "refpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process owners. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "ownerpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process domain. If empty all IDs will be returned. Intersected with results from other pattern matches.",
|
|
"name": "domainpattern",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add a new FFmpeg process",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Add a new process",
|
|
"operationId": "process-3-add",
|
|
"parameters": [
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/probe": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Probe a process to get a detailed stream information on the inputs.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Probe a process config",
|
|
"operationId": "process-3-probe-config",
|
|
"parameters": [
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Probe"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/validate": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Probe a process to get a detailed stream information on the inputs.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Validate a process config",
|
|
"operationId": "process-3-validate-config",
|
|
"parameters": [
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Probe"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List a process by its ID. Use the filter parameter to specifiy the level of detail of the output.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "List a process by its ID",
|
|
"operationId": "process-3-get",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of fields (config, state, report, metadata) to be part of the output. If empty, all fields will be part of the output",
|
|
"name": "filter",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Process"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace an existing process.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Replace an existing process",
|
|
"operationId": "process-3-update",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Process config",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Delete a process by its ID",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Delete a process by its ID",
|
|
"operationId": "process-3-delete",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/command": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Issue a command to a process: start, stop, reload, restart",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Issue a command to a process",
|
|
"operationId": "process-3-command",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Process command",
|
|
"name": "command",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Command"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/config": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the configuration of a process. This is the configuration as provided by Add or Update.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get the configuration of a process",
|
|
"operationId": "process-3-get-config",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/metadata/{key}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieve the previously stored JSON metadata under the given key. If the key is empty, all metadata will be returned.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Retrieve JSON metadata stored with a process under a key",
|
|
"operationId": "process-3-get-process-metadata",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Add arbitrary JSON metadata under the given key. If the key exists, all already stored metadata with this key will be overwritten. If the key doesn't exist, it will be created.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Add JSON metadata with a process under the given key",
|
|
"operationId": "process-3-set-process-metadata",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Key for data store",
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Arbitrary JSON data. The null value will remove the key and its contents",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/errorframe/encode": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Immediately encode the errorframe (if available and looping)",
|
|
"produces": [
|
|
"text/plain",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Encode the errorframe",
|
|
"operationId": "process-3-playout-errorframencode",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/errorframe/{name}": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Upload an error frame which will be encoded immediately",
|
|
"consumes": [
|
|
"application/octet-stream"
|
|
],
|
|
"produces": [
|
|
"text/plain",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Upload an error frame",
|
|
"operationId": "process-3-playout-errorframe",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Any filename with a suitable extension",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Image to be used a error frame",
|
|
"name": "image",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/keyframe/{name}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the last keyframe of an input of a process. The extension of the name determines the return type.",
|
|
"produces": [
|
|
"image/jpeg",
|
|
"image/png",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get the last keyframe",
|
|
"operationId": "process-3-playout-keyframe",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Any filename with an extension of .jpg or .png",
|
|
"name": "name",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/reopen": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Close the current input stream such that it will be automatically re-opened",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Close the current input stream",
|
|
"operationId": "process-3-playout-reopen-input",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/status": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the current playout status of an input of a process",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get the current playout status",
|
|
"operationId": "process-3-playout-status",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.PlayoutStatus"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/playout/{inputid}/stream": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Replace the current stream with the one from the given URL. The switch will only happen if the stream parameters match.",
|
|
"consumes": [
|
|
"text/plain"
|
|
],
|
|
"produces": [
|
|
"text/plain",
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Switch to a new stream",
|
|
"operationId": "process-3-playout-stream",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Process Input ID",
|
|
"name": "inputid",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "URL of the new stream",
|
|
"name": "url",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/probe": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Probe an existing process to get a detailed stream information on the inputs.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Probe a known process",
|
|
"operationId": "process-3-probe",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Probe"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/report": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the logs and the log history of a process.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get the logs of a process",
|
|
"operationId": "process-3-get-report",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Select only the report with that created_at date. Unix timestamp, leave empty for any. In combination with exited_at it denotes a range or reports.",
|
|
"name": "created_at",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Select only the report with that exited_at date. Unix timestamp, leave empty for any. In combination with created_at it denotes a range or reports.",
|
|
"name": "exited_at",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessReport"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Set the report history a process",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Set the report history a process",
|
|
"operationId": "process-3-set-report",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"description": "Process report",
|
|
"name": "report",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessReport"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/process/{id}/state": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get the state and progress data of a process.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get the state of a process",
|
|
"operationId": "process-3-get-state",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Process ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Domain to act on",
|
|
"name": "domain",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ProcessState"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/report/process": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Search log history of all processes by providing patterns for process IDs and references, a state and a time range. All are optional.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Search log history of all processes",
|
|
"operationId": "process-3-search-report-history",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process IDs. If empty all IDs will be returned. Intersected with results from refpattern.",
|
|
"name": "idpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Glob pattern for process references. If empty all IDs will be returned. Intersected with results from idpattern.",
|
|
"name": "refpattern",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "State of a process, leave empty for any",
|
|
"name": "state",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Search range of when the report has been exited, older than this value. Unix timestamp, leave empty for any",
|
|
"name": "from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Search range of when the report has been exited, younger than this value. Unix timestamp, leave empty for any",
|
|
"name": "to",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessReportSearchResult"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/rtmp": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all currently publishing RTMP streams.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "List all publishing RTMP streams",
|
|
"operationId": "rtmp-3-list-channels",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.RTMPChannel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/session": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get a summary of all active and past sessions of the given collector.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get a summary of all active and past sessions",
|
|
"operationId": "session-3-summary",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of collectors",
|
|
"name": "collectors",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Sessions summary",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.SessionsSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/session/active": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Get a minimal summary of all active sessions (i.e. number of sessions, bandwidth).",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Get a minimal summary of all active sessions",
|
|
"operationId": "session-3-current",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Comma separated list of collectors",
|
|
"name": "collectors",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Active sessions listing",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.SessionsActive"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/session/token/{username}": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Request access tokens",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.?.?"
|
|
],
|
|
"summary": "Request access tokens",
|
|
"operationId": "session-3-create-token",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Username",
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Token request",
|
|
"name": "config",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SessionTokenRequest"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SessionTokenRequest"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/skills": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all detected FFmpeg capabilities.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "FFmpeg capabilities",
|
|
"operationId": "skills-3",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Skills"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/skills/reload": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "Refresh the available FFmpeg capabilities.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Refresh FFmpeg capabilities",
|
|
"operationId": "skills-3-reload",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Skills"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/srt": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
],
|
|
"description": "List all currently publishing SRT streams. This endpoint is EXPERIMENTAL and may change in future.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.9.0"
|
|
],
|
|
"summary": "List all publishing SRT treams",
|
|
"operationId": "srt-3-list-channels",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SRTChannel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v3/widget/process/{id}": {
|
|
"get": {
|
|
"description": "Fetch minimal statistics about a process, which is not protected by any auth.",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v16.7.2"
|
|
],
|
|
"summary": "Fetch minimal statistics about a process",
|
|
"operationId": "widget-3-get",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "ID of a process",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.WidgetProcess"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.Error"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/metrics": {
|
|
"get": {
|
|
"description": "Prometheus metrics",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"summary": "Prometheus metrics",
|
|
"operationId": "metrics",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ping": {
|
|
"get": {
|
|
"description": "Liveliness check",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"summary": "Liveliness check",
|
|
"operationId": "ping",
|
|
"responses": {
|
|
"200": {
|
|
"description": "pong",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/profiling": {
|
|
"get": {
|
|
"description": "Retrieve profiling data from the application",
|
|
"produces": [
|
|
"text/html"
|
|
],
|
|
"summary": "Retrieve profiling data from the application",
|
|
"operationId": "profiling",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"api.AVstream": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aqueue": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"channels": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"codec": {
|
|
"description": "Codec parameter",
|
|
"type": "string"
|
|
},
|
|
"drop": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"dup": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"duplicating": {
|
|
"type": "boolean"
|
|
},
|
|
"enc": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"gop": {
|
|
"type": "string"
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"input": {
|
|
"$ref": "#/definitions/api.AVstreamIO"
|
|
},
|
|
"layout": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "integer"
|
|
},
|
|
"looping": {
|
|
"type": "boolean"
|
|
},
|
|
"looping_runtime": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"mode": {
|
|
"type": "string"
|
|
},
|
|
"output": {
|
|
"$ref": "#/definitions/api.AVstreamIO"
|
|
},
|
|
"pix_fmt": {
|
|
"type": "string"
|
|
},
|
|
"profile": {
|
|
"type": "integer"
|
|
},
|
|
"queue": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sample_fmt": {
|
|
"type": "string"
|
|
},
|
|
"sampling_hz": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"width": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.AVstreamIO": {
|
|
"type": "object",
|
|
"properties": {
|
|
"packet": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"size_kb": {
|
|
"type": "integer"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"enum": [
|
|
"running",
|
|
"idle"
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api.About": {
|
|
"type": "object",
|
|
"properties": {
|
|
"app": {
|
|
"type": "string"
|
|
},
|
|
"auths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"created_at": {
|
|
"description": "RFC3339",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"resources": {
|
|
"$ref": "#/definitions/api.AboutResources"
|
|
},
|
|
"uptime_seconds": {
|
|
"type": "integer"
|
|
},
|
|
"version": {
|
|
"$ref": "#/definitions/api.AboutVersion"
|
|
}
|
|
}
|
|
},
|
|
"api.AboutGPUResources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory_limit_bytes": {
|
|
"description": "Defined memory limit in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_total_bytes": {
|
|
"description": "Total available memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_used_bytes": {
|
|
"description": "Currently used memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"usage_decoder": {
|
|
"description": "Current decoder usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_encoder": {
|
|
"description": "Current encoder usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_general": {
|
|
"description": "Current general usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_limit": {
|
|
"description": "Defined general usage limit, 0-100",
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.AboutResources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu_core": {
|
|
"description": "Current CPU load of the core itself, 0-100*ncpu",
|
|
"type": "number"
|
|
},
|
|
"cpu_limit": {
|
|
"description": "Defined CPU load limit, 0-100*ncpu",
|
|
"type": "number"
|
|
},
|
|
"cpu_used": {
|
|
"description": "Current CPU load, 0-100*ncpu",
|
|
"type": "number"
|
|
},
|
|
"gpu": {
|
|
"description": "GPU resources",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.AboutGPUResources"
|
|
}
|
|
},
|
|
"is_throttling": {
|
|
"description": "Whether this core is currently throttling",
|
|
"type": "boolean"
|
|
},
|
|
"memory_core_bytes": {
|
|
"description": "Current used memory of the core itself in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_limit_bytes": {
|
|
"description": "Defined memory limit in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_total_bytes": {
|
|
"description": "Total available memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_used_bytes": {
|
|
"description": "Currently used memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"ncpu": {
|
|
"description": "Number of CPU on this node",
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.AboutVersion": {
|
|
"type": "object",
|
|
"properties": {
|
|
"arch": {
|
|
"type": "string"
|
|
},
|
|
"build_date": {
|
|
"description": "RFC3339",
|
|
"type": "string"
|
|
},
|
|
"compiler": {
|
|
"type": "string"
|
|
},
|
|
"number": {
|
|
"type": "string"
|
|
},
|
|
"repository_branch": {
|
|
"type": "string"
|
|
},
|
|
"repository_commit": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterAbout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"degraded": {
|
|
"type": "boolean"
|
|
},
|
|
"degraded_error": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"leader": {
|
|
"$ref": "#/definitions/api.ClusterAboutLeader"
|
|
},
|
|
"nodes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ClusterNode"
|
|
}
|
|
},
|
|
"public_domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"raft": {
|
|
"$ref": "#/definitions/api.ClusterRaft"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterAboutLeader": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"elected_seconds": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterKVS": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.ClusterKVSValue"
|
|
}
|
|
},
|
|
"api.ClusterKVSValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterLock": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"valid_until": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNode": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"core": {
|
|
"$ref": "#/definitions/api.ClusterNodeCore"
|
|
},
|
|
"created_at": {
|
|
"description": "RFC 3339",
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"last_contact_ms": {
|
|
"type": "number"
|
|
},
|
|
"latency_ms": {
|
|
"type": "number"
|
|
},
|
|
"leader": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"resources": {
|
|
"$ref": "#/definitions/api.ClusterNodeResources"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"uptime_seconds": {
|
|
"type": "integer"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"voter": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeCore": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"last_contact_ms": {
|
|
"description": "milliseconds",
|
|
"type": "number"
|
|
},
|
|
"latency_ms": {
|
|
"description": "milliseconds",
|
|
"type": "number"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeFiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"last_update": {
|
|
"description": "unix timestamp",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeGPUResources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"memory_limit_bytes": {
|
|
"description": "Defined memory limit in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_total_bytes": {
|
|
"description": "Total available memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_used_bytes": {
|
|
"description": "Currently used memory in bytes",
|
|
"type": "integer"
|
|
},
|
|
"usage_decoder": {
|
|
"description": "Current decoder usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_encoder": {
|
|
"description": "Current encoder usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_general": {
|
|
"description": "Current general usage, 0-100",
|
|
"type": "number"
|
|
},
|
|
"usage_limit": {
|
|
"description": "Defined general usage limit, 0-100",
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeID": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeResources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu_core": {
|
|
"description": "percent 0-100*ncpu",
|
|
"type": "number"
|
|
},
|
|
"cpu_limit": {
|
|
"description": "percent 0-100*npcu",
|
|
"type": "number"
|
|
},
|
|
"cpu_used": {
|
|
"description": "percent 0-100*npcu",
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"gpu": {
|
|
"description": "GPU resources",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ClusterNodeGPUResources"
|
|
}
|
|
},
|
|
"is_throttling": {
|
|
"type": "boolean"
|
|
},
|
|
"memory_core_bytes": {
|
|
"description": "bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_limit_bytes": {
|
|
"description": "bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_total_bytes": {
|
|
"description": "bytes",
|
|
"type": "integer"
|
|
},
|
|
"memory_used_bytes": {
|
|
"description": "bytes",
|
|
"type": "integer"
|
|
},
|
|
"ncpu": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterNodeState": {
|
|
"type": "object",
|
|
"required": [
|
|
"state"
|
|
],
|
|
"properties": {
|
|
"state": {
|
|
"type": "string",
|
|
"enum": [
|
|
"online",
|
|
"maintenance",
|
|
"leave"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterProcessMap": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"api.ClusterProcessReallocate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"process_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessID"
|
|
}
|
|
},
|
|
"target_node_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterRaft": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"last_contact_ms": {
|
|
"description": "milliseconds",
|
|
"type": "number"
|
|
},
|
|
"log_index": {
|
|
"type": "integer"
|
|
},
|
|
"log_term": {
|
|
"type": "integer"
|
|
},
|
|
"num_peers": {
|
|
"type": "integer"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ClusterStoreNode": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.Command": {
|
|
"type": "object",
|
|
"required": [
|
|
"command"
|
|
],
|
|
"properties": {
|
|
"command": {
|
|
"type": "string",
|
|
"enum": [
|
|
"start",
|
|
"stop",
|
|
"restart",
|
|
"reload"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"api.ConfigData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"api": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"https": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auth0": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"tenants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/value.Auth0Tenant"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"disable_localhost": {
|
|
"type": "boolean"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"jwt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secret": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"read_only": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"cluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"description": "ip:port",
|
|
"type": "string"
|
|
},
|
|
"debug": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disable_ffmpeg_check": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"emergency_leader_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"node_recover_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"peers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"revocer_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"startup_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"sync_interval_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"compress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"encoding": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mimetypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"min_length": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"created_at": {
|
|
"description": "When this config has been persisted",
|
|
"type": "string"
|
|
},
|
|
"db": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dir": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"debug": {
|
|
"type": "object",
|
|
"properties": {
|
|
"agent_address": {
|
|
"type": "string"
|
|
},
|
|
"auto_max_procs": {
|
|
"type": "boolean"
|
|
},
|
|
"force_gc": {
|
|
"description": "deprecated, use MemoryLimit instead",
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"memory_limit_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"profiling": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"ffmpeg": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"output": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"binary": {
|
|
"type": "string"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"max_history": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"max_lines": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"max_minimal_history": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"max_processes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "string",
|
|
"enum": [
|
|
"debug",
|
|
"info",
|
|
"warn",
|
|
"error",
|
|
"silent"
|
|
]
|
|
},
|
|
"max_lines": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"topics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"metrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"enable_prometheus": {
|
|
"type": "boolean"
|
|
},
|
|
"interval_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"range_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"playout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"max_port": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"min_port": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"max_cpu_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_gpu_memory_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_gpu_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_memory_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"router": {
|
|
"type": "object",
|
|
"properties": {
|
|
"blocked_prefixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"routes": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ui_path": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"rtmp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"address_tls": {
|
|
"type": "string"
|
|
},
|
|
"app": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"enable_tls": {
|
|
"type": "boolean"
|
|
},
|
|
"token": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"sessions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"ip_ignorelist": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"max_bitrate_mbit": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max_sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"persist": {
|
|
"type": "boolean"
|
|
},
|
|
"persist_interval_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"session_log_buffer_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"session_log_path_pattern": {
|
|
"type": "string"
|
|
},
|
|
"session_timeout_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"srt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"topics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"passphrase": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"storage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"origins": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"disk": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"max_file_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"ttl_seconds": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"types": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"dir": {
|
|
"type": "string"
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"memory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auth": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"backup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dir": {
|
|
"type": "string"
|
|
},
|
|
"patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"purge": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"mimetypes": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mimetypes_file": {
|
|
"type": "string"
|
|
},
|
|
"s3": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/value.S3Storage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tls": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"cert_file": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"key_file": {
|
|
"type": "string"
|
|
},
|
|
"secret": {
|
|
"type": "string"
|
|
},
|
|
"staging": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"update_check": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.ConfigError": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.Error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"details": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.Event": {
|
|
"type": "object",
|
|
"properties": {
|
|
"caller": {
|
|
"type": "string"
|
|
},
|
|
"core_id": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "integer"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"ts": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.EventFilter": {
|
|
"type": "object",
|
|
"properties": {
|
|
"caller": {
|
|
"type": "string"
|
|
},
|
|
"core_id": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.EventFilters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"filters": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.EventFilter"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.FileInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"core_id": {
|
|
"type": "string"
|
|
},
|
|
"last_modified": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"size_bytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.FilesystemInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mount": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.FilesystemOperation": {
|
|
"type": "object",
|
|
"required": [
|
|
"operation"
|
|
],
|
|
"properties": {
|
|
"bandwidth_limit_kbit": {
|
|
"description": "kbit/s",
|
|
"type": "integer"
|
|
},
|
|
"operation": {
|
|
"type": "string",
|
|
"enum": [
|
|
"copy",
|
|
"move"
|
|
]
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"target": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.GetConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"$ref": "#/definitions/api.ConfigData"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"loaded_at": {
|
|
"type": "string"
|
|
},
|
|
"overrides": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.GraphElement": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dst_filter": {
|
|
"type": "string"
|
|
},
|
|
"dst_id": {
|
|
"type": "string"
|
|
},
|
|
"dst_name": {
|
|
"type": "string"
|
|
},
|
|
"filter": {
|
|
"type": "string"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"height": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"inpad": {
|
|
"type": "string"
|
|
},
|
|
"layout": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"outpad": {
|
|
"type": "string"
|
|
},
|
|
"sampling": {
|
|
"description": "Hz",
|
|
"type": "integer"
|
|
},
|
|
"timebase": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "audio or video",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api.GraphMapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"copy": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"input": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"output": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api.GraphQuery": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"variables": {}
|
|
}
|
|
},
|
|
"api.GraphResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"api.IAMAuth0Tenant": {
|
|
"type": "object",
|
|
"properties": {
|
|
"audience": {
|
|
"type": "string"
|
|
},
|
|
"client_id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.IAMPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"actions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"resource": {
|
|
"type": "string"
|
|
},
|
|
"types": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.IAMUser": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alias": {
|
|
"type": "string"
|
|
},
|
|
"auth": {
|
|
"$ref": "#/definitions/api.IAMUserAuth"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"policies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.IAMPolicy"
|
|
}
|
|
},
|
|
"superuser": {
|
|
"type": "boolean"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.IAMUserAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"api": {
|
|
"$ref": "#/definitions/api.IAMUserAuthAPI"
|
|
},
|
|
"services": {
|
|
"$ref": "#/definitions/api.IAMUserAuthServices"
|
|
}
|
|
}
|
|
},
|
|
"api.IAMUserAuthAPI": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auth0": {
|
|
"$ref": "#/definitions/api.IAMUserAuthAPIAuth0"
|
|
},
|
|
"userpass": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.IAMUserAuthAPIAuth0": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tenant": {
|
|
"$ref": "#/definitions/api.IAMAuth0Tenant"
|
|
},
|
|
"user": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.IAMUserAuthServices": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basic": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"session": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"token": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.LogEvent": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"api.MetricsDescription": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"labels": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.MetricsQuery": {
|
|
"type": "object",
|
|
"properties": {
|
|
"interval_sec": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"metrics": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.MetricsQueryMetric"
|
|
}
|
|
},
|
|
"timerange_sec": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.MetricsQueryMetric": {
|
|
"type": "object",
|
|
"properties": {
|
|
"labels": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.MetricsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"interval_sec": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"metrics": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.MetricsResponseMetric"
|
|
}
|
|
},
|
|
"timerange_sec": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.MetricsResponseMetric": {
|
|
"type": "object",
|
|
"properties": {
|
|
"labels": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.MetricsResponseValue"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.MetricsResponseValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ts": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.PlayoutStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aqueue": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"debug": {},
|
|
"drop": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"dup": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"duplicating": {
|
|
"type": "boolean"
|
|
},
|
|
"enc": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"gop": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"input": {
|
|
"$ref": "#/definitions/api.PlayoutStatusIO"
|
|
},
|
|
"looping": {
|
|
"type": "boolean"
|
|
},
|
|
"output": {
|
|
"$ref": "#/definitions/api.PlayoutStatusIO"
|
|
},
|
|
"queue": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"stream": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"swap": {
|
|
"$ref": "#/definitions/api.PlayoutStatusSwap"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.PlayoutStatusIO": {
|
|
"type": "object",
|
|
"properties": {
|
|
"packet": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"size_kb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"enum": [
|
|
"running",
|
|
"idle"
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.PlayoutStatusSwap": {
|
|
"type": "object",
|
|
"properties": {
|
|
"lasterror": {
|
|
"type": "string"
|
|
},
|
|
"lasturl": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.Probe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"log": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"streams": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProbeIO"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.ProbeIO": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bitrate_kbps": {
|
|
"type": "number"
|
|
},
|
|
"channels": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"codec": {
|
|
"type": "string"
|
|
},
|
|
"coder": {
|
|
"type": "string"
|
|
},
|
|
"duration_sec": {
|
|
"type": "number"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"fps": {
|
|
"description": "video",
|
|
"type": "number"
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"index": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"layout": {
|
|
"type": "string"
|
|
},
|
|
"pix_fmt": {
|
|
"type": "string"
|
|
},
|
|
"sampling_hz": {
|
|
"description": "audio",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"stream": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"description": "common",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.Process": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"$ref": "#/definitions/api.ProcessConfig"
|
|
},
|
|
"core_id": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {},
|
|
"owner": {
|
|
"type": "string"
|
|
},
|
|
"reference": {
|
|
"type": "string"
|
|
},
|
|
"report": {
|
|
"$ref": "#/definitions/api.ProcessReport"
|
|
},
|
|
"state": {
|
|
"$ref": "#/definitions/api.ProcessState"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessConfig": {
|
|
"type": "object",
|
|
"required": [
|
|
"input",
|
|
"output"
|
|
],
|
|
"properties": {
|
|
"autostart": {
|
|
"type": "boolean"
|
|
},
|
|
"binary": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"input": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessConfigIO"
|
|
}
|
|
},
|
|
"limits": {
|
|
"$ref": "#/definitions/api.ProcessConfigLimits"
|
|
},
|
|
"log_patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"output": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessConfigIO"
|
|
}
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
},
|
|
"reconnect": {
|
|
"type": "boolean"
|
|
},
|
|
"reconnect_delay_seconds": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"reference": {
|
|
"type": "string"
|
|
},
|
|
"runtime_duration_seconds": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"scheduler": {
|
|
"type": "string"
|
|
},
|
|
"stale_timeout_seconds": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ffmpeg",
|
|
""
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessConfigIO": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"cleanup": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessConfigIOCleanup"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessConfigIOCleanup": {
|
|
"type": "object",
|
|
"required": [
|
|
"pattern"
|
|
],
|
|
"properties": {
|
|
"max_file_age_seconds": {
|
|
"type": "integer",
|
|
"format": "uint"
|
|
},
|
|
"max_files": {
|
|
"type": "integer",
|
|
"format": "uint"
|
|
},
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"purge_on_delete": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessConfigLimits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu_usage": {
|
|
"description": "percent 0-100*ncpu",
|
|
"type": "number"
|
|
},
|
|
"gpu_decoder": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"gpu_encoder": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"gpu_memory_mbytes": {
|
|
"description": "megabytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"gpu_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"memory_mbytes": {
|
|
"description": "megabytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"waitfor_seconds": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessID": {
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessReport": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"history": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProcessReportHistoryEntry"
|
|
}
|
|
},
|
|
"log": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"matches": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"prelude": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessReportHistoryEntry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"exit_state": {
|
|
"type": "string"
|
|
},
|
|
"exited_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"log": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"matches": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"prelude": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"progress": {
|
|
"$ref": "#/definitions/api.Progress"
|
|
},
|
|
"resources": {
|
|
"$ref": "#/definitions/api.ProcessUsage"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessReportSearchResult": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"exit_state": {
|
|
"type": "string"
|
|
},
|
|
"exited_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"reference": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessState": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cpu_usage": {
|
|
"description": "deprecated, use Resources.Memory.Current",
|
|
"type": "number"
|
|
},
|
|
"exec": {
|
|
"type": "string"
|
|
},
|
|
"last_logline": {
|
|
"type": "string"
|
|
},
|
|
"limit_mode": {
|
|
"type": "string"
|
|
},
|
|
"memory_bytes": {
|
|
"description": "deprecated, use Resources.CPU.Current",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"order": {
|
|
"type": "string"
|
|
},
|
|
"progress": {
|
|
"$ref": "#/definitions/api.Progress"
|
|
},
|
|
"reconnect_seconds": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"resources": {
|
|
"$ref": "#/definitions/api.ProcessUsage"
|
|
},
|
|
"runtime_seconds": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu_usage": {
|
|
"$ref": "#/definitions/api.ProcessUsageCPU"
|
|
},
|
|
"gpu": {
|
|
"$ref": "#/definitions/api.ProcessUsageGPU"
|
|
},
|
|
"memory_bytes": {
|
|
"$ref": "#/definitions/api.ProcessUsageMemory"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsageCPU": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avg": {
|
|
"type": "number"
|
|
},
|
|
"cur": {
|
|
"type": "number"
|
|
},
|
|
"limit": {
|
|
"type": "number"
|
|
},
|
|
"max": {
|
|
"type": "number"
|
|
},
|
|
"ncpu": {
|
|
"type": "number"
|
|
},
|
|
"throttling": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsageGPU": {
|
|
"type": "object",
|
|
"properties": {
|
|
"decoder": {
|
|
"$ref": "#/definitions/api.ProcessUsageGPUUsage"
|
|
},
|
|
"encoder": {
|
|
"$ref": "#/definitions/api.ProcessUsageGPUUsage"
|
|
},
|
|
"index": {
|
|
"type": "integer"
|
|
},
|
|
"memory_bytes": {
|
|
"$ref": "#/definitions/api.ProcessUsageGPUMemory"
|
|
},
|
|
"usage": {
|
|
"$ref": "#/definitions/api.ProcessUsageGPUUsage"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsageGPUMemory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avg": {
|
|
"type": "number"
|
|
},
|
|
"cur": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsageGPUUsage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avg": {
|
|
"type": "number"
|
|
},
|
|
"cur": {
|
|
"type": "number"
|
|
},
|
|
"limit": {
|
|
"type": "number"
|
|
},
|
|
"max": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.ProcessUsageMemory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avg": {
|
|
"type": "number"
|
|
},
|
|
"cur": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.Progress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bitrate_kbit": {
|
|
"description": "kbit/s",
|
|
"type": "number"
|
|
},
|
|
"drop": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"dup": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"fps": {
|
|
"type": "number"
|
|
},
|
|
"frame": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"inputs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProgressIO"
|
|
}
|
|
},
|
|
"mapping": {
|
|
"$ref": "#/definitions/api.StreamMapping"
|
|
},
|
|
"outputs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProgressIO"
|
|
}
|
|
},
|
|
"packet": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"q": {
|
|
"type": "number"
|
|
},
|
|
"size_kb": {
|
|
"description": "kbytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"speed": {
|
|
"type": "number"
|
|
},
|
|
"started": {
|
|
"type": "boolean"
|
|
},
|
|
"time": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.ProgressIO": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"avstream": {
|
|
"description": "avstream",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/api.AVstream"
|
|
}
|
|
]
|
|
},
|
|
"bitrate_kbit": {
|
|
"description": "kbit/s",
|
|
"type": "number"
|
|
},
|
|
"channels": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"codec": {
|
|
"type": "string"
|
|
},
|
|
"coder": {
|
|
"type": "string"
|
|
},
|
|
"extradata_size_bytes": {
|
|
"description": "bytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"fps": {
|
|
"type": "number"
|
|
},
|
|
"frame": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"framerate": {
|
|
"$ref": "#/definitions/api.ProgressIOFramerate"
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"index": {
|
|
"description": "General",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"keyframe": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"layout": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "integer"
|
|
},
|
|
"packet": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"pix_fmt": {
|
|
"description": "Video",
|
|
"type": "string"
|
|
},
|
|
"pps": {
|
|
"type": "number"
|
|
},
|
|
"profile": {
|
|
"type": "integer"
|
|
},
|
|
"q": {
|
|
"type": "number"
|
|
},
|
|
"sample_fmt": {
|
|
"description": "Audio",
|
|
"type": "string"
|
|
},
|
|
"sampling_hz": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"size_kb": {
|
|
"description": "kbytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"stream": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"tee": {
|
|
"description": "Format specific",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.ProgressIOTee"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.ProgressIOFramerate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avg": {
|
|
"type": "number"
|
|
},
|
|
"max": {
|
|
"type": "number"
|
|
},
|
|
"min": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"api.ProgressIOTee": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"fifo_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fifo_revocery_attempts_total": {
|
|
"type": "number"
|
|
},
|
|
"fifo_state": {
|
|
"type": "string"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.RTMPChannel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SRTChannel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"connections": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SRTConnection"
|
|
}
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SRTLog"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"socketid": {
|
|
"type": "integer"
|
|
},
|
|
"subscriber": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.SRTConnection": {
|
|
"type": "object",
|
|
"properties": {
|
|
"log": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SRTLog"
|
|
}
|
|
}
|
|
},
|
|
"stats": {
|
|
"$ref": "#/definitions/api.SRTStatistics"
|
|
}
|
|
}
|
|
},
|
|
"api.SRTLog": {
|
|
"type": "object",
|
|
"properties": {
|
|
"msg": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ts": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.SRTStatistics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avail_recv_buf_bytes": {
|
|
"description": "The available space in the receiver's buffer, in bytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"avail_send_buf_bytes": {
|
|
"description": "The available space in the sender's buffer, in bytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"bandwidth_mbit": {
|
|
"description": "Estimated bandwidth of the network link, in Mbps",
|
|
"type": "number"
|
|
},
|
|
"flight_size_pkt": {
|
|
"description": "The number of packets in flight",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"flow_window_pkt": {
|
|
"description": "The maximum number of packets that can be \"in flight\"",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max_bandwidth_mbit": {
|
|
"description": "Transmission bandwidth limit, in Mbps",
|
|
"type": "number"
|
|
},
|
|
"mss_bytes": {
|
|
"description": "Maximum Segment Size (MSS), in bytes",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"pkt_recv_avg_belated_time_ms": {
|
|
"description": "Accumulated difference between the current time and the time-to-play of a packet that is received late",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"pkt_send_period_us": {
|
|
"description": "Current minimum time interval between which consecutive packets are sent, in microseconds",
|
|
"type": "number"
|
|
},
|
|
"recv_ack_pkt": {
|
|
"description": "The total number of received ACK (Acknowledgement) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_buf_bytes": {
|
|
"description": "Instantaneous (current) value of pktRcvBuf, expressed in bytes, including payload and all headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_buf_ms": {
|
|
"description": "The timespan (msec) of acknowledged packets in the receiver's buffer",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_buf_pkt": {
|
|
"description": "The number of acknowledged packets in receiver's buffer",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_bytes": {
|
|
"description": "Same as pktRecv, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_drop_bytes": {
|
|
"description": "Same as pktRcvDrop, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_drop_pkt": {
|
|
"description": "The total number of dropped by the SRT receiver and, as a result, not delivered to the upstream application DATA packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_km_pkt": {
|
|
"description": "The total number of received KM (Key Material) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_loss_bytes": {
|
|
"description": "Same as pktRcvLoss, but expressed in bytes, including payload and all the headers (IP, TCP, SRT), bytes for the presently missing (either reordered or lost) packets' payloads are estimated based on the average packet size",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_loss_pkt": {
|
|
"description": "The total number of SRT DATA packets detected as presently missing (either reordered or lost) at the receiver side",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_nak_pkt": {
|
|
"description": "The total number of received NAK (Negative Acknowledgement) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_pkt": {
|
|
"description": "The total number of received DATA packets, including retransmitted packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_retran_pkts": {
|
|
"description": "The total number of retransmitted packets registered at the receiver side",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_tsbpd_delay_ms": {
|
|
"description": "Timestamp-based Packet Delivery Delay value set on the socket via SRTO_RCVLATENCY or SRTO_LATENCY",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_undecrypt_bytes": {
|
|
"description": "Same as pktRcvUndecrypt, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_undecrypt_pkt": {
|
|
"description": "The total number of packets that failed to be decrypted at the receiver side",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_unique_bytes": {
|
|
"description": "Same as pktRecvUnique, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"recv_unique_pkt": {
|
|
"description": "The total number of unique original, retransmitted or recovered by the packet filter DATA packets received in time, decrypted without errors and, as a result, scheduled for delivery to the upstream application by the SRT receiver.",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"reorder_tolerance_pkt": {
|
|
"description": "Instant value of the packet reorder tolerance",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"rtt_ms": {
|
|
"description": "Smoothed round-trip time (SRTT), an exponentially-weighted moving average (EWMA) of an endpoint's RTT samples, in milliseconds",
|
|
"type": "number"
|
|
},
|
|
"send_buf_bytes": {
|
|
"description": "Instantaneous (current) value of pktSndBuf, but expressed in bytes, including payload and all headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_buf_ms": {
|
|
"description": "The timespan (msec) of packets in the sender's buffer (unacknowledged packets)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_buf_pkt": {
|
|
"description": "The number of packets in the sender's buffer that are already scheduled for sending or even possibly sent, but not yet acknowledged",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_drop_bytes": {
|
|
"description": "Same as pktSndDrop, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_drop_pkt": {
|
|
"description": "The total number of dropped by the SRT sender DATA packets that have no chance to be delivered in time",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_duration_us": {
|
|
"description": "The total accumulated time in microseconds, during which the SRT sender has some data to transmit, including packets that have been sent, but not yet acknowledged",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_km_pkt": {
|
|
"description": "The total number of sent KM (Key Material) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_loss_pkt": {
|
|
"description": "The total number of data packets considered or reported as lost at the sender side. Does not correspond to the packets detected as lost at the receiver side.",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"send_tsbpd_delay_ms": {
|
|
"description": "Timestamp-based Packet Delivery Delay value of the peer",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_ack_pkt": {
|
|
"description": "The total number of sent ACK (Acknowledgement) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_bytes": {
|
|
"description": "Same as pktSent, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_nak_pkt": {
|
|
"description": "The total number of sent NAK (Negative Acknowledgement) control packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_pkt": {
|
|
"description": "The total number of sent DATA packets, including retransmitted packets",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_retrans_bytes": {
|
|
"description": "Same as pktRetrans, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_retrans_pkt": {
|
|
"description": "The total number of retransmitted packets sent by the SRT sender",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_unique_bytes": {
|
|
"description": "Same as pktSentUnique, but expressed in bytes, including payload and all the headers (IP, TCP, SRT)",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sent_unique_pkt": {
|
|
"description": "The total number of unique DATA packets sent by the SRT sender",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"timestamp_ms": {
|
|
"description": "The time elapsed, in milliseconds, since the SRT socket has been created",
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.Session": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bandwidth_rx_kbit": {
|
|
"description": "kbit/s",
|
|
"type": "number"
|
|
},
|
|
"bandwidth_tx_kbit": {
|
|
"description": "kbit/s",
|
|
"type": "number"
|
|
},
|
|
"bytes_rx": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"bytes_tx": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"extra": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"local": {
|
|
"type": "string"
|
|
},
|
|
"reference": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionPeers": {
|
|
"type": "object",
|
|
"properties": {
|
|
"local": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SessionStats"
|
|
}
|
|
},
|
|
"sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_rx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_tx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_rx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_tx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"active": {
|
|
"$ref": "#/definitions/api.SessionSummaryActive"
|
|
},
|
|
"summary": {
|
|
"$ref": "#/definitions/api.SessionSummarySummary"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionSummaryActive": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bandwidth_rx_mbit": {
|
|
"description": "mbit/s",
|
|
"type": "number"
|
|
},
|
|
"bandwidth_tx_mbit": {
|
|
"description": "mbit/s",
|
|
"type": "number"
|
|
},
|
|
"list": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Session"
|
|
}
|
|
},
|
|
"max_bandwidth_rx_mbit": {
|
|
"description": "mbit/s",
|
|
"type": "number"
|
|
},
|
|
"max_bandwidth_tx_mbit": {
|
|
"description": "mbit/s",
|
|
"type": "number"
|
|
},
|
|
"max_sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionSummarySummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"local": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SessionStats"
|
|
}
|
|
},
|
|
"reference": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SessionStats"
|
|
}
|
|
},
|
|
"remote": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SessionPeers"
|
|
}
|
|
},
|
|
"sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_rx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"traffic_tx_mb": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionTokenRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extra": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"match": {
|
|
"type": "string"
|
|
},
|
|
"remote": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"ttl_sec": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionsActive": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.Session"
|
|
}
|
|
}
|
|
},
|
|
"api.SessionsSummary": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/api.SessionSummary"
|
|
}
|
|
},
|
|
"api.SetConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"api": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"https": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auth0": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"tenants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/value.Auth0Tenant"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"disable_localhost": {
|
|
"type": "boolean"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"jwt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secret": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"read_only": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"cluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"description": "ip:port",
|
|
"type": "string"
|
|
},
|
|
"debug": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disable_ffmpeg_check": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"emergency_leader_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"node_recover_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"peers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"revocer_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"startup_timeout_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"sync_interval_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"compress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"encoding": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mimetypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"min_length": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"created_at": {
|
|
"description": "When this config has been persisted",
|
|
"type": "string"
|
|
},
|
|
"db": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dir": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"debug": {
|
|
"type": "object",
|
|
"properties": {
|
|
"agent_address": {
|
|
"type": "string"
|
|
},
|
|
"auto_max_procs": {
|
|
"type": "boolean"
|
|
},
|
|
"force_gc": {
|
|
"description": "deprecated, use MemoryLimit instead",
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"memory_limit_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"profiling": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"ffmpeg": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"output": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"binary": {
|
|
"type": "string"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"max_history": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"max_lines": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"max_minimal_history": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"max_processes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "string",
|
|
"enum": [
|
|
"debug",
|
|
"info",
|
|
"warn",
|
|
"error",
|
|
"silent"
|
|
]
|
|
},
|
|
"max_lines": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"topics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"metrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"enable_prometheus": {
|
|
"type": "boolean"
|
|
},
|
|
"interval_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"range_sec": {
|
|
"description": "seconds",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"playout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"max_port": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"min_port": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"max_cpu_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_gpu_memory_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_gpu_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
},
|
|
"max_memory_usage": {
|
|
"description": "percent 0-100",
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"router": {
|
|
"type": "object",
|
|
"properties": {
|
|
"blocked_prefixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"routes": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ui_path": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"rtmp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"address_tls": {
|
|
"type": "string"
|
|
},
|
|
"app": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"enable_tls": {
|
|
"type": "boolean"
|
|
},
|
|
"token": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"sessions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"ip_ignorelist": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"max_bitrate_mbit": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max_sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"persist": {
|
|
"type": "boolean"
|
|
},
|
|
"persist_interval_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"session_log_buffer_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
},
|
|
"session_log_path_pattern": {
|
|
"type": "string"
|
|
},
|
|
"session_timeout_sec": {
|
|
"type": "integer",
|
|
"format": "int"
|
|
}
|
|
}
|
|
},
|
|
"srt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"log": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"topics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"passphrase": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"storage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"origins": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"disk": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"max_file_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"ttl_seconds": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"types": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"block": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"dir": {
|
|
"type": "string"
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"memory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auth": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"backup": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dir": {
|
|
"type": "string"
|
|
},
|
|
"patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"max_size_mbytes": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"purge": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"mimetypes": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mimetypes_file": {
|
|
"type": "string"
|
|
},
|
|
"s3": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/value.S3Storage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tls": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"cert_file": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"enable": {
|
|
"type": "boolean"
|
|
},
|
|
"key_file": {
|
|
"type": "string"
|
|
},
|
|
"secret": {
|
|
"type": "string"
|
|
},
|
|
"staging": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"update_check": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"api.Skills": {
|
|
"type": "object",
|
|
"properties": {
|
|
"codecs": {
|
|
"type": "object",
|
|
"properties": {
|
|
"audio": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsCodec"
|
|
}
|
|
},
|
|
"subtitle": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsCodec"
|
|
}
|
|
},
|
|
"video": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsCodec"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"devices": {
|
|
"type": "object",
|
|
"properties": {
|
|
"demuxers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsDevice"
|
|
}
|
|
},
|
|
"muxers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsDevice"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ffmpeg": {
|
|
"type": "object",
|
|
"properties": {
|
|
"compiler": {
|
|
"type": "string"
|
|
},
|
|
"configuration": {
|
|
"type": "string"
|
|
},
|
|
"libraries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsLibrary"
|
|
}
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"filter": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsFilter"
|
|
}
|
|
},
|
|
"formats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"demuxers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsFormat"
|
|
}
|
|
},
|
|
"muxers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsFormat"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"hwaccels": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsHWAccel"
|
|
}
|
|
},
|
|
"protocols": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsProtocol"
|
|
}
|
|
},
|
|
"output": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsProtocol"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsCodec": {
|
|
"type": "object",
|
|
"properties": {
|
|
"decoders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"encoders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsDevice": {
|
|
"type": "object",
|
|
"properties": {
|
|
"devices": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.SkillsHWDevice"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsFilter": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsFormat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsHWAccel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsHWDevice": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extra": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsLibrary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"compiled": {
|
|
"type": "string"
|
|
},
|
|
"linked": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.SkillsProtocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api.StreamMapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"graphs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.GraphElement"
|
|
}
|
|
},
|
|
"mapping": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api.GraphMapping"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"api.WidgetProcess": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"total_sessions": {
|
|
"type": "integer",
|
|
"format": "uint64"
|
|
},
|
|
"uptime": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"value.Auth0Tenant": {
|
|
"type": "object",
|
|
"properties": {
|
|
"audience": {
|
|
"type": "string"
|
|
},
|
|
"clientid": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"users": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"value.S3Storage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access_key_id": {
|
|
"type": "string"
|
|
},
|
|
"auth": {
|
|
"description": "Deprecated, use IAM",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/value.S3StorageAuth"
|
|
}
|
|
]
|
|
},
|
|
"bucket": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"mountpoint": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"secret_access_key": {
|
|
"type": "string"
|
|
},
|
|
"use_ssl": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"value.S3StorageAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enable": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "Deprecated, use IAM",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"ApiKeyAuth": {
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
},
|
|
"ApiRefreshKeyAuth": {
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
},
|
|
"Auth0KeyAuth": {
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
},
|
|
"BasicAuth": {
|
|
"type": "basic"
|
|
}
|
|
}
|
|
}`
|
|
|
|
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
|
var SwaggerInfo = &swag.Spec{
|
|
Version: "3.0",
|
|
Host: "",
|
|
BasePath: "/",
|
|
Schemes: []string{},
|
|
Title: "datarhei Core API",
|
|
Description: "Expose REST API for the datarhei Core",
|
|
InfoInstanceName: "swagger",
|
|
SwaggerTemplate: docTemplate,
|
|
LeftDelim: "{{",
|
|
RightDelim: "}}",
|
|
}
|
|
|
|
func init() {
|
|
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
|
}
|