{ "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "schemes": [ "http", "https" ], "swagger": "2.0", "info": { "description": "REST API for Thola.\n\nFor more information look at our Github : https://github.com/inexio/thola", "title": "Thola", "license": { "name": "BSD", "url": "https://github.com/inexio/thola/blob/main/LICENSE" }, "version": "1.0.0" }, "host": "localhost:8237", "paths": { "/check/cpu-load": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check the cpu load of a device.", "operationId": "checkCPULoad", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckCPULoadRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/disk": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check the disk of a device.", "operationId": "checkDisk", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckDiskRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/hardware-health": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check the hardware health of a device.", "operationId": "checkHardwareHealth", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckHardwareHealthRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/high-availability": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check the high availability status of a device.", "operationId": "checkHighAvailability", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckHighAvailabilityRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/identify": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Checks if identify matches the expectations.", "operationId": "checkIdentify", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckIdentifyRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckIdentifyResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/interface-metrics": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check to read out interface metrics.", "operationId": "checkInterfaceMetrics", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckInterfaceMetricsRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/memory-usage": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check the memory usage of a device.", "operationId": "checkMemoryUsage", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckMemoryUsageRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/sbc": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check an sbc device.", "operationId": "checkSBC", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckSBCRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/server": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check a linux server.", "operationId": "checkServer", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckServerRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/snmp": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Checks SNMP availability.", "operationId": "checkSNMP", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckSNMPRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckSNMPResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/thola-server": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Check existence of thola servers.", "operationId": "checkTholaServer", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckTholaServerRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/check/ups": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "check" ], "summary": "Checks whether a UPS device has its main voltage applied.", "operationId": "checkUPS", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CheckUPSRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/CheckResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/identify": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json\u003c", "application/xml" ], "tags": [ "identify" ], "summary": "Identifies a device.", "operationId": "identify", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/IdentifyRequest" } } ], "responses": { "200": { "description": "Returns the device which was found.", "schema": { "$ref": "#/definitions/IdentifyResponse" } }, "400": { "description": "Returns a string that the request was formatted wrong." }, "404": { "description": "Returns a string that no device was found." } } } }, "/read/available-components": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Returns the available components for the device.", "operationId": "readAvailableComponents", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadAvailableComponentsRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadAvailableComponentsResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/count-interfaces": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Counts the interfaces of a device.", "operationId": "readCountInterfaces", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadCountInterfacesRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadCountInterfacesResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/cpu-load": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Read out the CPU load of a device.", "operationId": "readCPULoad", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadCPULoadRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadCPULoadResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/disk": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out disk data of a device.", "operationId": "readDisk", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadDiskRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadDiskResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/hardware-health": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out hardware health data of a device.", "operationId": "readHardwareHealth", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadHardwareHealthRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadHardwareHealthResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/high-availability": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Read out the high availability status of a device.", "operationId": "readHighAvailability", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadHighAvailabilityRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadHighAvailabilityResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/interfaces": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out data of the interfaces of a device.", "operationId": "readInterfaces", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadInterfacesRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadInterfacesResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/memory-usage": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Read out the memory usage of a device.", "operationId": "readMemoryUsage", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadMemoryUsageRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadMemoryUsageResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/sbc": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out SBC data of a device.", "operationId": "readSBC", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadSBCRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadSBCResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/server": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out server data of a device.", "operationId": "readServer", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadServerRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadServerResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } }, "/read/ups": { "post": { "consumes": [ "application/json", "application/xml" ], "produces": [ "application/json", "application/xml" ], "tags": [ "read" ], "summary": "Reads out UPS data of a device.", "operationId": "readUPS", "parameters": [ { "description": "Request to process.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReadUPSRequest" } } ], "responses": { "200": { "description": "Returns the response.", "schema": { "$ref": "#/definitions/ReadUPSResponse" } }, "400": { "description": "Returns an error with more details in the body.", "schema": { "$ref": "#/definitions/OutputError" } } } } } }, "definitions": { "BaseRequest": { "description": "BaseRequest is a generic request that is processed by thola", "type": "object", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "BaseResponse": { "description": "BaseResponse defines attributes every response has.", "type": "object", "title": "BaseResponse", "x-go-package": "github.com/inexio/thola/internal/request" }, "CPU": { "description": "CPU contains information per CPU.", "type": "object", "title": "CPU", "properties": { "label": { "type": "string", "x-go-name": "Label" }, "load": { "type": "number", "format": "double", "x-go-name": "Load" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "CPUComponent": { "description": "CPUComponent represents a CPU component.", "type": "object", "title": "CPUComponent", "properties": { "cpus": { "type": "array", "items": { "$ref": "#/definitions/CPU" }, "x-go-name": "CPUs" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "CheckCPULoadRequest": { "description": "CheckCPULoadRequest is the request struct for the check cpu load request.", "type": "object", "title": "CheckCPULoadRequest", "properties": { "cpuLoadThresholds": { "$ref": "#/definitions/Thresholds" }, "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckDeviceRequest": { "description": "CheckDeviceRequest is the request struct for the check device request.", "type": "object", "title": "CheckDeviceRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckDiskRequest": { "description": "CheckDiskRequest is the request struct for the check disk request.", "type": "object", "title": "CheckDiskRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "diskThresholds": { "$ref": "#/definitions/Thresholds" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckHardwareHealthRequest": { "description": "CheckHardwareHealthRequest is the request struct for the check hardware health request.", "type": "object", "title": "CheckHardwareHealthRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckHighAvailabilityRequest": { "description": "CheckHighAvailabilityRequest is the request struct for the check high-availability request.", "type": "object", "title": "CheckHighAvailabilityRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "nodes_thresholds": { "$ref": "#/definitions/Thresholds" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "role": { "type": "string", "x-go-name": "Role" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckIdentifyRequest": { "description": "CheckIdentifyRequest is the request struct for the check identify request.", "type": "object", "title": "CheckIdentifyRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "expectations": { "$ref": "#/definitions/Device" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "model_diff_warning": { "type": "boolean", "x-go-name": "ModelDiffWarning" }, "model_series_diff_warning": { "type": "boolean", "x-go-name": "ModelSeriesDiffWarning" }, "os_diff_warning": { "type": "boolean", "x-go-name": "OsDiffWarning" }, "os_version_diff_warning": { "type": "boolean", "x-go-name": "OsVersionDiffWarning" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "serial_number_diff_warning": { "type": "boolean", "x-go-name": "SerialNumberDiffWarning" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" }, "vendor_diff_warning": { "type": "boolean", "x-go-name": "VendorDiffWarning" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckIdentifyResponse": { "description": "CheckIdentifyResponse is a response struct for the check identify request.", "type": "object", "title": "CheckIdentifyResponse", "properties": { "failed_expectations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/IdentifyExpectationResult" }, "x-go-name": "FailedExpectations" }, "identify_result": { "$ref": "#/definitions/Device" }, "messages": { "type": "array", "items": { "$ref": "#/definitions/OutputMessage" }, "x-go-name": "Messages" }, "performance_data": { "type": "array", "items": { "$ref": "#/definitions/PerformanceDataPoint" }, "x-go-name": "PerformanceData" }, "raw_output": { "type": "string", "x-go-name": "RawOutput" }, "status_code": { "type": "integer", "format": "int64", "x-go-name": "StatusCode" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckInterfaceMetricsRequest": { "description": "CheckInterfaceRequest is the request struct for the check interface metrics request.", "type": "object", "title": "CheckInterfaceMetricsRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "ifDescr_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfDescrFilter" }, "ifDescr_regex": { "type": "string", "x-go-name": "IfDescrRegex" }, "ifDescr_regex_replace": { "type": "string", "x-go-name": "IfDescrRegexReplace" }, "ifName_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfNameFilter" }, "ifType_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfTypeFilter" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_interfaces": { "type": "boolean", "x-go-name": "PrintInterfaces" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "snmp_gets_instead_of_walk": { "type": "boolean", "x-go-name": "SNMPGetsInsteadOfWalk" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" }, "values": { "description": "If you only want specific values of the interfaces you can specify them here.", "type": "array", "items": { "type": "string" }, "x-go-name": "Values" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckMemoryUsageRequest": { "description": "CheckMemoryUsageRequest is the request struct for the check memory usage request.", "type": "object", "title": "CheckMemoryUsageRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "memoryUsageThresholds": { "$ref": "#/definitions/Thresholds" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckRequest": { "description": "CheckRequest is a generic response struct for the check request.", "type": "object", "title": "CheckRequest", "properties": { "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckResponse": { "description": "CheckResponse is a generic response struct for the check plugin format.", "type": "object", "title": "CheckResponse", "properties": { "messages": { "type": "array", "items": { "$ref": "#/definitions/OutputMessage" }, "x-go-name": "Messages" }, "performance_data": { "type": "array", "items": { "$ref": "#/definitions/PerformanceDataPoint" }, "x-go-name": "PerformanceData" }, "raw_output": { "type": "string", "x-go-name": "RawOutput" }, "status_code": { "type": "integer", "format": "int64", "x-go-name": "StatusCode" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckSBCRequest": { "description": "CheckSBCRequest is the request struct for the check sbc request.", "type": "object", "title": "CheckSBCRequest", "properties": { "SystemHealthScoreThresholds": { "$ref": "#/definitions/Thresholds" }, "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckSNMPRequest": { "description": "CheckSNMPRequest is the request struct for the check snmp request.", "type": "object", "title": "CheckSNMPRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckSNMPResponse": { "description": "CheckSNMPResponse is a response struct for the check snmp request.", "type": "object", "title": "CheckSNMPResponse", "properties": { "messages": { "type": "array", "items": { "$ref": "#/definitions/OutputMessage" }, "x-go-name": "Messages" }, "performance_data": { "type": "array", "items": { "$ref": "#/definitions/PerformanceDataPoint" }, "x-go-name": "PerformanceData" }, "raw_output": { "type": "string", "x-go-name": "RawOutput" }, "status_code": { "type": "integer", "format": "int64", "x-go-name": "StatusCode" }, "successful_snmp_credentials": { "$ref": "#/definitions/SNMPCredentials" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckServerRequest": { "description": "CheckServerRequest is the request struct for the check server request.", "type": "object", "title": "CheckServerRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "procsThreshold": { "$ref": "#/definitions/Thresholds" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" }, "usersThreshold": { "$ref": "#/definitions/Thresholds" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckTholaServerRequest": { "description": "CheckTholaServerRequest is the request struct for the check thola server request.", "type": "object", "title": "CheckTholaServerRequest", "properties": { "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "timeout": { "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "CheckUPSRequest": { "description": "CheckUPSRequest is the request struct for the check ups request.", "type": "object", "title": "CheckUPSRequest", "properties": { "batteryCurrentThresholds": { "$ref": "#/definitions/Thresholds" }, "batteryTemperatureThresholds": { "$ref": "#/definitions/Thresholds" }, "currentLoadThresholds": { "$ref": "#/definitions/Thresholds" }, "device_data": { "$ref": "#/definitions/DeviceData" }, "json_metrics": { "type": "boolean", "x-go-name": "JSONMetrics" }, "print_performance_data": { "type": "boolean", "x-go-name": "PrintPerformanceData" }, "rectifierCurrentThresholds": { "$ref": "#/definitions/Thresholds" }, "systemVoltageThresholds": { "$ref": "#/definitions/Thresholds" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ConnectionData": { "description": "ConnectionData includes all connection data for a device.", "type": "object", "title": "ConnectionData", "properties": { "http": { "$ref": "#/definitions/HTTPConnectionData" }, "snmp": { "$ref": "#/definitions/SNMPConnectionData" } }, "x-go-package": "github.com/inexio/thola/internal/network" }, "DWDMInterface": { "description": "DWDMInterface represents a DWDM interface.", "type": "object", "title": "DWDMInterface", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/OpticalChannel" }, "x-go-name": "Channels" }, "corrected_fec": { "type": "array", "items": { "$ref": "#/definitions/Rate" }, "x-go-name": "CorrectedFEC" }, "rx_power": { "type": "number", "format": "double", "x-go-name": "RXPower" }, "tx_power": { "type": "number", "format": "double", "x-go-name": "TXPower" }, "uncorrected_fec": { "type": "array", "items": { "$ref": "#/definitions/Rate" }, "x-go-name": "UncorrectedFEC" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "Device": { "description": "Device represents a device and has the same structure as Response.\nResponse can possibly be removed and replaced by Device.", "type": "object", "title": "Device", "properties": { "class": { "description": "Class of the device.", "type": "string", "x-go-name": "Class", "example": "routerOS" }, "properties": { "$ref": "#/definitions/Properties" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "DeviceData": { "description": "DeviceData includes all data that can be used to contact a device", "type": "object", "title": "DeviceData", "properties": { "connection_data": { "$ref": "#/definitions/ConnectionData" }, "ip_address": { "description": "The IP of the device", "type": "string", "x-go-name": "IPAddress", "example": "203.0.113.195" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "DiskComponent": { "description": "DiskComponent represents a disk component.", "type": "object", "title": "DiskComponent", "properties": { "storages": { "type": "array", "items": { "$ref": "#/definitions/DiskComponentStorage" }, "x-go-name": "Storages" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "DiskComponentStorage": { "description": "DiskComponentStorage contains information per storage.", "type": "object", "title": "DiskComponentStorage", "properties": { "available": { "type": "integer", "format": "uint64", "x-go-name": "Available" }, "description": { "type": "string", "x-go-name": "Description" }, "type": { "type": "string", "x-go-name": "Type" }, "used": { "type": "integer", "format": "uint64", "x-go-name": "Used" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "EthernetLikeInterface": { "description": "EthernetLikeInterface represents an ethernet like interface.", "type": "object", "title": "EthernetLikeInterface", "properties": { "dot3HCStatsAlignmentErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3HCStatsAlignmentErrors" }, "dot3HCStatsFCSErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3HCStatsFCSErrors" }, "dot3HCStatsFrameTooLongs": { "type": "integer", "format": "uint64", "x-go-name": "Dot3HCStatsFrameTooLongs" }, "dot3HCStatsInternalMacReceiveErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3HCStatsInternalMacReceiveErrors" }, "dot3HCStatsInternalMacTransmitErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3HCStatsInternalMacTransmitErrors" }, "dot3StatsAlignmentErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsAlignmentErrors" }, "dot3StatsCarrierSenseErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsCarrierSenseErrors" }, "dot3StatsDeferredTransmissions": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsDeferredTransmissions" }, "dot3StatsExcessiveCollisions": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsExcessiveCollisions" }, "dot3StatsFCSErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsFCSErrors" }, "dot3StatsFrameTooLongs": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsFrameTooLongs" }, "dot3StatsInternalMacReceiveErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsInternalMacReceiveErrors" }, "dot3StatsInternalMacTransmitErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsInternalMacTransmitErrors" }, "dot3StatsLateCollisions": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsLateCollisions" }, "dot3StatsMultipleCollisionFrames": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsMultipleCollisionFrames" }, "dot3StatsSQETestErrors": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsSQETestErrors" }, "dot3StatsSingleCollisionFrames": { "type": "integer", "format": "uint64", "x-go-name": "Dot3StatsSingleCollisionFrames" }, "etherStatsCRCAlignErrors": { "type": "integer", "format": "uint64", "x-go-name": "EtherStatsCRCAlignErrors" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HTTPConnectionData": { "description": "HTTPConnectionData includes all HTTP connection data for a device.", "type": "object", "title": "HTTPConnectionData", "properties": { "auth_password": { "description": "The password for authorization on the device.", "type": "string", "x-go-name": "AuthPassword", "example": "password" }, "auth_username": { "description": "The username for authorization on the device.", "type": "string", "x-go-name": "AuthUsername", "example": "username" }, "http_ports": { "description": "The HTTP port(s) of the device.", "type": "array", "items": { "type": "integer", "format": "int64" }, "x-go-name": "HTTPPorts", "example": [ 80 ] }, "https_ports": { "description": "The HTTPS port(s) of the device.", "type": "array", "items": { "type": "integer", "format": "int64" }, "x-go-name": "HTTPSPorts", "example": [ 443 ] } }, "x-go-package": "github.com/inexio/thola/internal/network" }, "HardwareHealthComponent": { "description": "HardwareHealthComponent represents hardware health information of a device.", "type": "object", "title": "HardwareHealthComponent", "properties": { "environment_monitor_state": { "$ref": "#/definitions/HardwareHealthComponentState" }, "fans": { "type": "array", "items": { "$ref": "#/definitions/HardwareHealthComponentFan" }, "x-go-name": "Fans" }, "power_supply": { "type": "array", "items": { "$ref": "#/definitions/HardwareHealthComponentPowerSupply" }, "x-go-name": "PowerSupply" }, "temperature": { "type": "array", "items": { "$ref": "#/definitions/HardwareHealthComponentTemperature" }, "x-go-name": "Temperature" }, "voltage": { "type": "array", "items": { "$ref": "#/definitions/HardwareHealthComponentVoltage" }, "x-go-name": "Voltage" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HardwareHealthComponentFan": { "description": "HardwareHealthComponentFan represents one fan of a device.", "type": "object", "title": "HardwareHealthComponentFan", "properties": { "description": { "type": "string", "x-go-name": "Description" }, "state": { "$ref": "#/definitions/HardwareHealthComponentState" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HardwareHealthComponentPowerSupply": { "description": "HardwareHealthComponentPowerSupply represents one power supply of a device.", "type": "object", "title": "HardwareHealthComponentPowerSupply", "properties": { "description": { "type": "string", "x-go-name": "Description" }, "state": { "$ref": "#/definitions/HardwareHealthComponentState" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HardwareHealthComponentState": { "type": "string", "x-go-package": "github.com/inexio/thola/internal/device" }, "HardwareHealthComponentTemperature": { "description": "HardwareHealthComponentTemperature represents one fan of a device.", "type": "object", "title": "HardwareHealthComponentTemperature", "properties": { "description": { "type": "string", "x-go-name": "Description" }, "state": { "$ref": "#/definitions/HardwareHealthComponentState" }, "temperature": { "type": "number", "format": "double", "x-go-name": "Temperature" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HardwareHealthComponentVoltage": { "description": "HardwareHealthComponentVoltage represents the voltage of a device.", "type": "object", "title": "HardwareHealthComponentVoltage", "properties": { "description": { "type": "string", "x-go-name": "Description" }, "state": { "$ref": "#/definitions/HardwareHealthComponentState" }, "voltage": { "type": "number", "format": "double", "x-go-name": "Voltage" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HighAvailabilityComponent": { "description": "HighAvailabilityComponent represents high availability information of a device.", "type": "object", "title": "HighAvailabilityComponent", "properties": { "nodes": { "type": "integer", "format": "int64", "x-go-name": "Nodes" }, "role": { "type": "string", "x-go-name": "Role" }, "state": { "$ref": "#/definitions/HighAvailabilityComponentState" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "HighAvailabilityComponentState": { "type": "string", "x-go-package": "github.com/inexio/thola/internal/device" }, "IdentifyExpectationResult": { "type": "object", "title": "IdentifyExpectationResult is a response struct for the check identify request.", "properties": { "expected": { "type": "string", "x-go-name": "Expected" }, "got": { "type": "string", "x-go-name": "Got" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "IdentifyRequest": { "description": "IdentifyRequest is the request struct for the identify request.", "type": "object", "title": "IdentifyRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "IdentifyResponse": { "description": "IdentifyResponse is the response struct that is for identify requests.", "type": "object", "title": "IdentifyResponse", "properties": { "class": { "description": "Class of the device.", "type": "string", "x-go-name": "Class", "example": "routerOS" }, "properties": { "$ref": "#/definitions/Properties" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "Interface": { "description": "Interface represents all interface values which can be read.", "type": "object", "title": "Interface", "properties": { "dwdm": { "$ref": "#/definitions/DWDMInterface" }, "ethernet_like": { "$ref": "#/definitions/EthernetLikeInterface" }, "ifAdminStatus": { "$ref": "#/definitions/Status" }, "ifAlias": { "type": "string", "x-go-name": "IfAlias" }, "ifDescr": { "type": "string", "x-go-name": "IfDescr" }, "ifHCInBroadcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCInBroadcastPkts" }, "ifHCInMulticastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCInMulticastPkts" }, "ifHCInOctets": { "type": "integer", "format": "uint64", "x-go-name": "IfHCInOctets" }, "ifHCInUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCInUcastPkts" }, "ifHCOutBroadcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCOutBroadcastPkts" }, "ifHCOutMulticastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCOutMulticastPkts" }, "ifHCOutOctets": { "type": "integer", "format": "uint64", "x-go-name": "IfHCOutOctets" }, "ifHCOutUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfHCOutUcastPkts" }, "ifHighSpeed": { "type": "integer", "format": "uint64", "x-go-name": "IfHighSpeed" }, "ifInBroadcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfInBroadcastPkts" }, "ifInDiscards": { "type": "integer", "format": "uint64", "x-go-name": "IfInDiscards" }, "ifInErrors": { "type": "integer", "format": "uint64", "x-go-name": "IfInErrors" }, "ifInMulticastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfInMulticastPkts" }, "ifInNUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfInNUcastPkts" }, "ifInOctets": { "type": "integer", "format": "uint64", "x-go-name": "IfInOctets" }, "ifInUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfInUcastPkts" }, "ifInUnknownProtos": { "type": "integer", "format": "uint64", "x-go-name": "IfInUnknownProtos" }, "ifIndex": { "type": "integer", "format": "uint64", "x-go-name": "IfIndex" }, "ifLastChange": { "type": "integer", "format": "uint64", "x-go-name": "IfLastChange" }, "ifMtu": { "type": "integer", "format": "uint64", "x-go-name": "IfMtu" }, "ifName": { "type": "string", "x-go-name": "IfName" }, "ifOperStatus": { "$ref": "#/definitions/Status" }, "ifOutBroadcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfOutBroadcastPkts" }, "ifOutDiscards": { "type": "integer", "format": "uint64", "x-go-name": "IfOutDiscards" }, "ifOutErrors": { "type": "integer", "format": "uint64", "x-go-name": "IfOutErrors" }, "ifOutMulticastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfOutMulticastPkts" }, "ifOutNUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfOutNUcastPkts" }, "ifOutOctets": { "type": "integer", "format": "uint64", "x-go-name": "IfOutOctets" }, "ifOutQLen": { "type": "integer", "format": "uint64", "x-go-name": "IfOutQLen" }, "ifOutUcastPkts": { "type": "integer", "format": "uint64", "x-go-name": "IfOutUcastPkts" }, "ifPhysAddress": { "type": "string", "x-go-name": "IfPhysAddress" }, "ifSpecific": { "type": "string", "x-go-name": "IfSpecific" }, "ifSpeed": { "type": "integer", "format": "uint64", "x-go-name": "IfSpeed" }, "ifType": { "type": "string", "x-go-name": "IfType" }, "max_speed_in": { "description": "MaxSpeedIn and MaxSpeedOut are set if an interface has different values for max speed in / out", "type": "integer", "format": "uint64", "x-go-name": "MaxSpeedIn" }, "max_speed_out": { "type": "integer", "format": "uint64", "x-go-name": "MaxSpeedOut" }, "optical_amplifier": { "$ref": "#/definitions/OpticalAmplifierInterface" }, "optical_opm": { "$ref": "#/definitions/OpticalOPMInterface" }, "optical_transponder": { "$ref": "#/definitions/OpticalTransponderInterface" }, "radio": { "$ref": "#/definitions/RadioInterface" }, "sap": { "$ref": "#/definitions/SAPInterface" }, "vlan": { "$ref": "#/definitions/VLANInformation" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "InterfaceOptions": { "description": "InterfaceOptions is the request struct for the options of an interface request.", "type": "object", "title": "InterfaceOptions", "properties": { "ifDescr_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfDescrFilter" }, "ifDescr_regex": { "type": "string", "x-go-name": "IfDescrRegex" }, "ifDescr_regex_replace": { "type": "string", "x-go-name": "IfDescrRegexReplace" }, "ifName_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfNameFilter" }, "ifType_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfTypeFilter" }, "snmp_gets_instead_of_walk": { "type": "boolean", "x-go-name": "SNMPGetsInsteadOfWalk" }, "values": { "description": "If you only want specific values of the interfaces you can specify them here.", "type": "array", "items": { "type": "string" }, "x-go-name": "Values" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "MemoryComponent": { "description": "MemoryComponent represents a Memory component", "type": "object", "title": "MemoryComponent", "properties": { "pools": { "type": "array", "items": { "$ref": "#/definitions/MemoryPool" }, "x-go-name": "Pools" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "MemoryPool": { "description": "MemoryPool contains information per memory pool.", "type": "object", "title": "MemoryPool", "properties": { "label": { "type": "string", "x-go-name": "Label" }, "usage": { "type": "number", "format": "double", "x-go-name": "Usage" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "OpticalAmplifierInterface": { "description": "OpticalAmplifierInterface represents an optical amplifier interface.", "type": "object", "title": "OpticalAmplifierInterface", "properties": { "gain": { "type": "number", "format": "double", "x-go-name": "Gain" }, "identifier": { "type": "string", "x-go-name": "Identifier" }, "label": { "type": "string", "x-go-name": "Label" }, "rx_power": { "type": "number", "format": "double", "x-go-name": "RXPower" }, "tx_power": { "type": "number", "format": "double", "x-go-name": "TXPower" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "OpticalChannel": { "description": "OpticalChannel represents an optical channel.", "type": "object", "title": "OpticalChannel", "properties": { "channel": { "type": "string", "x-go-name": "Channel" }, "rx_power": { "type": "number", "format": "double", "x-go-name": "RXPower" }, "tx_power": { "type": "number", "format": "double", "x-go-name": "TXPower" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "OpticalOPMInterface": { "description": "OpticalOPMInterface represents an optical opm interface.", "type": "object", "title": "OpticalOPMInterface", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/OpticalChannel" }, "x-go-name": "Channels" }, "identifier": { "type": "string", "x-go-name": "Identifier" }, "label": { "type": "string", "x-go-name": "Label" }, "rx_power": { "type": "number", "format": "double", "x-go-name": "RXPower" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "OpticalTransponderInterface": { "description": "OpticalTransponderInterface represents an optical transponder interface.", "type": "object", "title": "OpticalTransponderInterface", "properties": { "corrected_fec": { "type": "integer", "format": "uint64", "x-go-name": "CorrectedFEC" }, "identifier": { "type": "string", "x-go-name": "Identifier" }, "label": { "type": "string", "x-go-name": "Label" }, "rx_power": { "type": "number", "format": "double", "x-go-name": "RXPower" }, "tx_power": { "type": "number", "format": "double", "x-go-name": "TXPower" }, "uncorrected_fec": { "type": "integer", "format": "uint64", "x-go-name": "UncorrectedFEC" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "OutputError": { "description": "OutputError embeds all error messages which occur in requests on the API.", "type": "object", "title": "OutputError", "properties": { "error": { "type": "string", "x-go-name": "Error" } }, "x-go-package": "github.com/inexio/thola/internal/tholaerr" }, "OutputMessage": { "type": "object", "title": "OutputMessage represents a message of the response. It contains a message and a status code.", "properties": { "message": { "type": "string", "x-go-name": "Message" }, "status": { "type": "integer", "format": "int64", "x-go-name": "Status" } }, "x-go-package": "github.com/inexio/go-monitoringplugin" }, "PerformanceDataPoint": { "type": "object", "title": "PerformanceDataPoint contains all information of one PerformanceDataPoint.", "properties": { "label": { "type": "string", "x-go-name": "Label" }, "max": { "type": "object", "x-go-name": "Max" }, "metric": { "type": "string", "x-go-name": "Metric" }, "min": { "type": "object", "x-go-name": "Min" }, "thresholds": { "$ref": "#/definitions/Thresholds" }, "unit": { "type": "string", "x-go-name": "Unit" }, "value": { "type": "object", "x-go-name": "Value" } }, "x-go-package": "github.com/inexio/go-monitoringplugin" }, "Properties": { "description": "Properties are properties that can be determined for a device.", "type": "object", "title": "Properties", "properties": { "model": { "description": "Model of the device.", "type": "string", "x-go-name": "Model", "example": "CHR" }, "model_series": { "description": "ModelSeries of the device.", "type": "string", "x-go-name": "ModelSeries", "example": "null" }, "os_version": { "description": "OSVersion of the device.", "type": "string", "x-go-name": "OSVersion", "example": "6.44.6" }, "serial_number": { "description": "SerialNumber of the device.", "type": "string", "x-go-name": "SerialNumber", "example": "null" }, "vendor": { "description": "Vendor of the device.", "type": "string", "x-go-name": "Vendor", "example": "Mikrotik" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "RadioInterface": { "description": "RadioInterface represents a radio interface.", "type": "object", "title": "RadioInterface", "properties": { "level_in": { "type": "integer", "format": "int64", "x-go-name": "LevelIn" }, "level_out": { "type": "integer", "format": "int64", "x-go-name": "LevelOut" }, "maxbitrate_in": { "type": "integer", "format": "uint64", "x-go-name": "MaxbitrateIn" }, "maxbitrate_out": { "type": "integer", "format": "uint64", "x-go-name": "MaxbitrateOut" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "Rate": { "description": "Rate encapsulates values which refer to a time span.", "type": "object", "title": "Rate", "properties": { "time": { "type": "string", "x-go-name": "Time" }, "value": { "type": "number", "format": "double", "x-go-name": "Value" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "ReadAvailableComponentsRequest": { "description": "ReadAvailableComponentsRequest is the request struct for the read available-components request.", "type": "object", "title": "ReadAvailableComponentsRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadAvailableComponentsResponse": { "description": "ReadAvailableComponentsResponse is the response struct for the read available-components response.", "type": "object", "title": "ReadAvailableComponentsResponse", "properties": { "availableComponents": { "type": "array", "items": { "type": "string" }, "x-go-name": "AvailableComponents" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadCPULoadRequest": { "description": "ReadCPULoadRequest is the request struct for the read cpu request.", "type": "object", "title": "ReadCPULoadRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadCPULoadResponse": { "description": "ReadCPULoadResponse is the response struct for the read cpu response.", "type": "object", "title": "ReadCPULoadResponse", "properties": { "cpus": { "type": "array", "items": { "$ref": "#/definitions/CPU" }, "x-go-name": "CPUs" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadCountInterfacesRequest": { "description": "ReadCountInterfacesRequest is the request struct for the read count-interfaces request.", "type": "object", "title": "ReadCountInterfacesRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadCountInterfacesResponse": { "description": "ReadCountInterfacesResponse is the response struct for the read count-interfaces response.", "type": "object", "title": "ReadCountInterfacesResponse", "properties": { "count": { "type": "integer", "format": "int64", "x-go-name": "Count" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadDiskRequest": { "description": "ReadDiskRequest is the request struct for the read disk request.", "type": "object", "title": "ReadDiskRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadDiskResponse": { "description": "ReadDiskResponse is the response struct for the read disk response.", "type": "object", "title": "ReadDiskResponse", "properties": { "disk": { "$ref": "#/definitions/DiskComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadHardwareHealthRequest": { "description": "ReadHardwareHealthRequest is the request struct for the read hardware health request.", "type": "object", "title": "ReadHardwareHealthRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadHardwareHealthResponse": { "description": "ReadHardwareHealthResponse is the response struct for the read hardware health request.", "type": "object", "title": "ReadHardwareHealthResponse", "properties": { "hardware_health": { "$ref": "#/definitions/HardwareHealthComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadHighAvailabilityRequest": { "description": "ReadHighAvailabilityRequest is the request struct for the read high availability request.", "type": "object", "title": "ReadHighAvailabilityRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadHighAvailabilityResponse": { "description": "ReadHighAvailabilityResponse is the response struct for the read high availability request.", "type": "object", "title": "ReadHighAvailabilityResponse", "properties": { "high_availability": { "$ref": "#/definitions/HighAvailabilityComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadInterfacesRequest": { "description": "ReadInterfacesRequest is the request struct for the read interfaces request.", "type": "object", "title": "ReadInterfacesRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "ifDescr_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfDescrFilter" }, "ifDescr_regex": { "type": "string", "x-go-name": "IfDescrRegex" }, "ifDescr_regex_replace": { "type": "string", "x-go-name": "IfDescrRegexReplace" }, "ifName_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfNameFilter" }, "ifType_filter": { "type": "array", "items": { "type": "string" }, "x-go-name": "IfTypeFilter" }, "snmp_gets_instead_of_walk": { "type": "boolean", "x-go-name": "SNMPGetsInsteadOfWalk" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" }, "values": { "description": "If you only want specific values of the interfaces you can specify them here.", "type": "array", "items": { "type": "string" }, "x-go-name": "Values" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadInterfacesResponse": { "description": "ReadInterfacesResponse is the request struct for the read interfaces response.", "type": "object", "title": "ReadInterfacesResponse", "properties": { "interfaces": { "type": "array", "items": { "$ref": "#/definitions/Interface" }, "x-go-name": "Interfaces" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadMemoryUsageRequest": { "description": "ReadMemoryUsageRequest is the request struct for the read memory usage request.", "type": "object", "title": "ReadMemoryUsageRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadMemoryUsageResponse": { "description": "ReadMemoryUsageResponse is the response struct for the read memory usage request.", "type": "object", "title": "ReadMemoryUsageResponse", "properties": { "memory_pools": { "type": "array", "items": { "$ref": "#/definitions/MemoryPool" }, "x-go-name": "MemoryPools" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadRequest": { "description": "ReadRequest is the response struct that is for read requests.", "type": "object", "title": "ReadRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadResponse": { "description": "ReadResponse is the response struct that is for read requests.", "type": "object", "title": "ReadResponse", "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadSBCRequest": { "description": "ReadSBCRequest is the request struct for the read sbc request.", "type": "object", "title": "ReadSBCRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadSBCResponse": { "description": "ReadSBCResponse is the response struct for the read sbc response.", "type": "object", "title": "ReadSBCResponse", "properties": { "sbc": { "$ref": "#/definitions/SBCComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadServerRequest": { "description": "ReadServerRequest is the request struct for the read server request.", "type": "object", "title": "ReadServerRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadServerResponse": { "description": "ReadServerResponse is the response struct for the read server response.", "type": "object", "title": "ReadServerResponse", "properties": { "server": { "$ref": "#/definitions/ServerComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadUPSRequest": { "description": "ReadUPSRequest is the request struct for the read ups request.", "type": "object", "title": "ReadUPSRequest", "properties": { "device_data": { "$ref": "#/definitions/DeviceData" }, "timeout": { "description": "Timeout for the request (0 =\u003e no timeout)", "type": "integer", "format": "int64", "x-go-name": "Timeout" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ReadUPSResponse": { "description": "ReadUPSResponse is the response struct for the read ups response.", "type": "object", "title": "ReadUPSResponse", "properties": { "ups": { "$ref": "#/definitions/UPSComponent" } }, "x-go-package": "github.com/inexio/thola/internal/request" }, "ResponseInfo": { "type": "object", "title": "ResponseInfo has all available information for a response. It also contains the RawOutput.", "properties": { "messages": { "type": "array", "items": { "$ref": "#/definitions/OutputMessage" }, "x-go-name": "Messages" }, "performance_data": { "type": "array", "items": { "$ref": "#/definitions/PerformanceDataPoint" }, "x-go-name": "PerformanceData" }, "raw_output": { "type": "string", "x-go-name": "RawOutput" }, "status_code": { "type": "integer", "format": "int64", "x-go-name": "StatusCode" } }, "x-go-package": "github.com/inexio/go-monitoringplugin" }, "SAPInterface": { "description": "SAPInterface represents a service access point interface.", "type": "object", "title": "SAPInterface", "properties": { "inbound": { "type": "integer", "format": "uint64", "x-go-name": "Inbound" }, "outbound": { "type": "integer", "format": "uint64", "x-go-name": "Outbound" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "SBCComponent": { "description": "SBCComponent represents a SBC component.", "type": "object", "title": "SBCComponent", "properties": { "active_local_contacts": { "type": "integer", "format": "int64", "x-go-name": "ActiveLocalContacts" }, "agents": { "type": "array", "items": { "$ref": "#/definitions/SBCComponentAgent" }, "x-go-name": "Agents" }, "global_call_per_second": { "type": "integer", "format": "int64", "x-go-name": "GlobalCallPerSecond" }, "global_concurrent_sessions ": { "type": "integer", "format": "int64", "x-go-name": "GlobalConcurrentSessions" }, "license_capacity": { "type": "integer", "format": "int64", "x-go-name": "LicenseCapacity" }, "realms": { "type": "array", "items": { "$ref": "#/definitions/SBCComponentRealm" }, "x-go-name": "Realms" }, "system_health_score": { "type": "integer", "format": "int64", "x-go-name": "SystemHealthScore" }, "system_redundancy": { "type": "integer", "format": "int64", "x-go-name": "SystemRedundancy" }, "transcoding_capacity": { "type": "integer", "format": "int64", "x-go-name": "TranscodingCapacity" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "SBCComponentAgent": { "description": "SBCComponentAgent contains information per agent. (Voice)", "type": "object", "title": "SBCComponentAgent", "properties": { "current_active_sessions_inbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentActiveSessionsInbound" }, "current_active_sessions_outbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentActiveSessionsOutbound" }, "current_session_rate_inbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentSessionRateInbound" }, "current_session_rate_outbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentSessionRateOutbound" }, "hostname": { "type": "string", "x-go-name": "Hostname" }, "period_asr": { "type": "integer", "format": "int64", "x-go-name": "PeriodASR" }, "status": { "type": "integer", "format": "int64", "x-go-name": "Status" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "SBCComponentRealm": { "description": "SBCComponentRealm contains information per realm. (Voice)", "type": "object", "title": "SBCComponentRealm", "properties": { "active_local_contacts": { "type": "integer", "format": "int64", "x-go-name": "ActiveLocalContacts" }, "current_active_sessions_inbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentActiveSessionsInbound" }, "current_active_sessions_outbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentActiveSessionsOutbound" }, "current_session_rate_inbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentSessionRateInbound" }, "current_session_rate_outbound": { "type": "integer", "format": "int64", "x-go-name": "CurrentSessionRateOutbound" }, "name": { "type": "string", "x-go-name": "Name" }, "period_asr": { "type": "integer", "format": "int64", "x-go-name": "PeriodASR" }, "status": { "type": "integer", "format": "int64", "x-go-name": "Status" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "SNMPConnectionData": { "description": "SNMPConnectionData includes all SNMP connection information for a device.", "type": "object", "title": "SNMPConnectionData", "properties": { "communities": { "description": "The SNMP community string(s) for the device.", "type": "array", "items": { "type": "string" }, "x-go-name": "Communities", "example": [ "public" ] }, "discoverParallelRequests": { "description": "The amount of parallel connection requests used while trying to get a valid SNMP connection.", "type": "integer", "format": "int64", "x-go-name": "DiscoverParallelRequests", "example": 5 }, "discoverRetries": { "description": "The retries used while trying to get a valid SNMP connection.", "type": "integer", "format": "int64", "x-go-name": "DiscoverRetries", "example": 0 }, "discoverTimeout": { "description": "The timeout in seconds used while trying to get a valid SNMP connection.", "type": "integer", "format": "int64", "x-go-name": "DiscoverTimeout", "example": 2 }, "maxRepetitions": { "description": "The Max Repetitions of the SNMP connection. Overrides the device class settings if set.", "type": "integer", "format": "uint32", "x-go-name": "MaxRepetitions", "example": 20 }, "ports": { "description": "The SNMP port(s) of the device.", "type": "array", "items": { "type": "integer", "format": "int64" }, "x-go-name": "Ports", "example": [ 161 ] }, "v3_data": { "$ref": "#/definitions/SNMPv3ConnectionData" }, "versions": { "description": "The SNMP version(s) of the device.", "type": "array", "items": { "type": "string" }, "x-go-name": "Versions", "example": [ "2c" ] } }, "x-go-package": "github.com/inexio/thola/internal/network" }, "SNMPCredentials": { "type": "object", "title": "SNMPCredentials includes all credential information of the SNMP connection.", "properties": { "community": { "type": "string", "x-go-name": "Community" }, "port": { "type": "integer", "format": "int64", "x-go-name": "Port" }, "v3ContextName": { "type": "string", "x-go-name": "V3ContextName" }, "v3Level": { "type": "string", "x-go-name": "V3Level" }, "version": { "type": "string", "x-go-name": "Version" } }, "x-go-package": "github.com/inexio/thola/internal/network" }, "SNMPv3ConnectionData": { "description": "SNMPv3ConnectionData includes all SNMP v3 specific connection data.", "type": "object", "title": "SNMPv3ConnectionData", "properties": { "auth_key": { "description": "The authentication protocol passphrase of the SNMP connection.", "type": "string", "x-go-name": "AuthKey", "example": "passphrase" }, "auth_protocol": { "description": "The authentication protocol of the SNMP connection.", "type": "string", "x-go-name": "AuthProtocol", "example": "MD5" }, "context_name": { "description": "The context name of the SNMP connection.", "type": "string", "x-go-name": "ContextName", "example": "bridge1" }, "level": { "description": "The security level of the SNMP connection.", "type": "string", "x-go-name": "Level", "example": "authPriv" }, "priv_key": { "description": "The privacy protocol passphrase of the SNMP connection.", "type": "string", "x-go-name": "PrivKey", "example": "passphrase" }, "priv_protocol": { "description": "The privacy protocol of the SNMP connection.", "type": "string", "x-go-name": "PrivProtocol", "example": "DES" }, "user": { "description": "The user of the SNMP connection.", "type": "string", "x-go-name": "User", "example": "user" } }, "x-go-package": "github.com/inexio/thola/internal/network" }, "ServerComponent": { "description": "ServerComponent represents a server component.", "type": "object", "title": "ServerComponent", "properties": { "procs": { "type": "integer", "format": "int64", "x-go-name": "Procs" }, "users": { "type": "integer", "format": "int64", "x-go-name": "Users" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "Status": { "type": "string", "title": "Status represents an interface status.", "x-go-package": "github.com/inexio/thola/internal/device" }, "Thresholds": { "description": "Thresholds contains all threshold values", "type": "object", "properties": { "criticalMax": { "type": "object", "x-go-name": "CriticalMax" }, "criticalMin": { "type": "object", "x-go-name": "CriticalMin" }, "warningMax": { "type": "object", "x-go-name": "WarningMax" }, "warningMin": { "type": "object", "x-go-name": "WarningMin" } }, "x-go-package": "github.com/inexio/go-monitoringplugin" }, "UPSComponent": { "description": "UPSComponent represents a UPS component.", "type": "object", "title": "UPSComponent", "properties": { "alarm_low_voltage_disconnect": { "type": "integer", "format": "int64", "x-go-name": "AlarmLowVoltageDisconnect" }, "battery_amperage ": { "type": "number", "format": "double", "x-go-name": "BatteryAmperage" }, "battery_capacity": { "type": "number", "format": "double", "x-go-name": "BatteryCapacity" }, "battery_current": { "type": "number", "format": "double", "x-go-name": "BatteryCurrent" }, "battery_remaining_time": { "type": "number", "format": "double", "x-go-name": "BatteryRemainingTime" }, "battery_temperature": { "type": "number", "format": "double", "x-go-name": "BatteryTemperature" }, "battery_voltage": { "type": "number", "format": "double", "x-go-name": "BatteryVoltage" }, "current_load": { "type": "number", "format": "double", "x-go-name": "CurrentLoad" }, "mains_voltage_applied": { "type": "boolean", "x-go-name": "MainsVoltageApplied" }, "rectifier_current": { "type": "number", "format": "double", "x-go-name": "RectifierCurrent" }, "system_voltage": { "type": "number", "format": "double", "x-go-name": "SystemVoltage" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "VLAN": { "description": "VLAN includes all information about a VLAN.", "type": "object", "title": "VLAN", "properties": { "name": { "type": "string", "x-go-name": "Name" }, "status": { "type": "string", "x-go-name": "Status" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "VLANInformation": { "description": "VLANInformation includes all information regarding the VLANs of the interface.", "type": "object", "title": "VLANInformation", "properties": { "vlans": { "type": "array", "items": { "$ref": "#/definitions/VLAN" }, "x-go-name": "VLANs" } }, "x-go-package": "github.com/inexio/thola/internal/device" }, "value": { "description": "value represents a value that was read out from a device.", "type": "string", "title": "value", "x-go-package": "github.com/inexio/thola/internal/value" } }, "securityDefinitions": { "basicAuth": { "type": "basic" } }, "security": [ { "basicAuth": [] } ] }