PDF
Download PDF
Download page IPMI Proxy service.
IPMI Proxy service
{
"openapi": "3.0.0",
"info": {
"title": "IPMI Proxy service 6 API",
"description": "IPMI Proxy service 6 API",
"version": "3.0.0"
},
"servers": [
{
"url": "https://example.com/api/ipmiproxy/v3"
}
],
"security": [
{
"cookieAuth": [],
"headerHost": []
}
],
"paths": {
"/ipmi/{ipmi_id}/proxy": {
"get": {
"operationId": "ipmi_id_proxy_get",
"parameters": [
{
"$ref": "#/components/parameters/IpmiId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/200ProxyConnection"
},
"default": {
"description": "Error proxy session closing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
}
},
"delete": {
"operationId": "ipmi_proxy_closing_by_id_delete",
"parameters": [
{
"description": "The IPMI unique identifier",
"in": "path",
"name": "ipmi_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Successful proxy session closing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessTaskOnlySchema"
}
}
}
},
"default": {
"description": "Error returning proxy connection",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Proxy session closing by ipmi id",
"tags": [
"proxy"
]
}
},
"/intel_amt/{intel_amt_id}/proxy": {
"get": {
"operationId": "intel_amt_id_proxy_get",
"parameters": [
{
"$ref": "#/components/parameters/IntelAmtId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/200ProxyConnection"
},
"404": {
"$ref": "#/components/responses/404NotFound"
},
"default": {
"description": "Error returning proxy connection",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
}
},
"delete": {
"operationId": "intel_amt_proxy_closing_by_id_delete",
"parameters": [
{
"description": "The Intel AMT unique identifier",
"in": "path",
"name": "intel_amt_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Successful proxy session closing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessTaskOnlySchema"
}
}
}
},
"default": {
"description": "Error proxy session closing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Proxy session closing by Intel AMT id",
"tags": [
"proxy"
]
}
},
"/ipmi/{ipmi_id}/proxy/{proxy_type}": {
"post": {
"operationId": "ipmi_id_proxy_post",
"parameters": [
{
"description": "The IPMI unique identifier",
"in": "path",
"name": "ipmi_id",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "Proxy type: web - Proxy to the IPMI WEB-interface, console - Proxy to the IPMI console",
"in": "path",
"name": "proxy_type",
"required": true,
"schema": {
"type": "string",
"enum": [
"web",
"console"
]
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProxyPostParams"
}
}
}
},
"responses": {
"200": {
"description": "Start the IPMI proxy session",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SuccessTaskAndPortSchema"
},
{
"$ref": "#/components/schemas/SuccessPortSchema"
}
]
}
}
}
},
"default": {
"description": "Error starting the IPMI proxy session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Start the IPMI proxy session",
"tags": [
"proxy"
]
}
},
"/intel_amt/{intel_amt_id}/proxy/{proxy_type}": {
"post": {
"operationId": "intel_amt_id_proxy_post",
"parameters": [
{
"description": "The IntelAMT unique identifier",
"in": "path",
"name": "intel_amt_id",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "Proxy type: web - Proxy to the IntelAMT WEB-interface, console - Proxy to the IntelAMT console",
"in": "path",
"name": "proxy_type",
"required": true,
"schema": {
"type": "string",
"enum": [
"web",
"console"
]
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProxyPostParams"
}
}
}
},
"responses": {
"200": {
"description": "Start the IntelAMT proxy session",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SuccessTaskAndPortSchema"
},
{
"$ref": "#/components/schemas/SuccessPortSchema"
}
]
}
}
}
},
"default": {
"description": "Error starting the IntelAMT proxy session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Start the IntelAMT proxy session",
"tags": [
"proxy"
]
}
},
"/proxy/access": {
"post": {
"operationId": "proxy_access_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProxyAccessParams"
}
}
}
},
"responses": {
"200": {
"description": "Check user access permissions to the session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"default": {
"description": "Error checking user access permissions to the session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Check user access permissions to the session",
"tags": [
"proxy"
]
}
},
"/proxy/close": {
"post": {
"operationId": "proxy_close_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProxyCloseParams"
}
}
}
},
"responses": {
"200": {
"description": "Close the IPMI proxy session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessTaskOnlySchema"
}
}
}
},
"default": {
"description": "Error closing the IPMI proxy session",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Close the IPMI proxy session",
"tags": [
"proxy"
]
}
},
"/setup": {
"post": {
"operationId": "setup_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetupPostParams"
}
}
}
},
"responses": {
"200": {
"description": "IPMI proxy server has been successfully installed on the locations",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SuccessTaskArraySchema"
},
{
"$ref": "#/components/schemas/EmptySchema"
}
]
}
}
}
},
"default": {
"description": "Error installing IPMI proxy server",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "IPMI proxy server setting up",
"tags": [
"setup"
]
}
},
"/update": {
"post": {
"operationId": "update_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePostParams"
}
}
}
},
"responses": {
"200": {
"description": "IPMI proxy server has been successfully updated on the locations",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SuccessTaskArraySchema"
},
{
"$ref": "#/components/schemas/EmptySchema"
}
]
}
}
}
},
"default": {
"description": "Error updating IPMI proxy server",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "IPMI proxy server updating",
"tags": [
"setup"
]
}
},
"/location": {
"get": {
"operationId": "location_get",
"responses": {
"200": {
"description": "Locations list has been received",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LocationListResponse"
}
}
}
},
"default": {
"description": "Error receiving the locations list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Receive the locations list",
"tags": [
"location"
]
}
},
"/location/drop_sessions": {
"post": {
"operationId": "location_drop_sessions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Sessions is dropped successfuly",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessTaskArraySchema"
}
}
}
},
"default": {
"description": "Error dropping ipmi proxy sessions",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Drop all session on server side of the service",
"tags": [
"location"
]
}
},
"/location/{location_id}": {
"delete": {
"operationId": "location_id_delete",
"parameters": [
{
"description": "The Unique identifier of the location",
"in": "path",
"name": "location_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Successful BMC module deleting from location",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessSchema"
}
}
}
},
"default": {
"description": "Error BMC module deleting from location",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Delete BMC module from location",
"tags": [
"location"
]
}
},
"/location/{location_id}/patch": {
"post": {
"operationId": "location_id_patch",
"parameters": [
{
"description": "The Unique identifier of the location",
"in": "path",
"name": "location_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LocationPatchParams"
}
}
}
},
"responses": {
"200": {
"description": "The patch has been added to the location",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessSchema"
}
}
}
},
"default": {
"description": "Failed to add the patch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Add a patch for the location docker-compose file",
"tags": [
"location"
]
}
},
"/plugin/enable": {
"post": {
"operationId": "plugin_enable_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Activate the plugin on the specified instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Id"
}
}
}
},
"default": {
"description": "Error activating the plugin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Activate the plugin for the instance",
"tags": [
"plugin"
]
}
},
"/plugin/disable": {
"post": {
"operationId": "plugin_disable_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
},
"responses": {
"200": {
"description": "Deactivate the plugin on the specified instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Id"
}
}
}
},
"default": {
"description": "Error deactivating the plugin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Deactivate the plugin for the instance",
"tags": [
"plugin"
]
}
},
"/plugin/status": {
"get": {
"operationId": "plugin_status_get",
"responses": {
"200": {
"description": "Plugin status has been received",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginStatusResponse"
}
}
}
},
"default": {
"description": "Error receiving the plugin status",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "Receive the plugin status",
"tags": [
"plugin"
]
}
},
"/resetup": {
"post": {
"operationId": "resetup_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReSetupPostParams"
}
}
}
},
"responses": {
"200": {
"description": "IPMI proxy server has been successfully reinstalled on the location",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SuccessTaskSchema"
}
]
}
}
}
},
"default": {
"description": "Error installing IPMI proxy server",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"summary": "IPMI proxy server resetting up",
"tags": [
"setup"
]
}
}
},
"components": {
"parameters": {
"IpmiId": {
"description": "The IPMI unique identifier",
"in": "path",
"name": "ipmi_id",
"required": true,
"schema": {
"type": "integer"
},
"example": 13
},
"IntelAmtId": {
"description": "The Intel AMT unique identifier",
"in": "path",
"name": "intel_amt_id",
"required": true,
"schema": {
"type": "integer"
},
"example": 13
}
},
"responses": {
"200ProxyConnection": {
"description": "Returns list of proxy connections",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProxyConnection"
}
}
}
},
"404NotFound": {
"description": "Requested object does not exists",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorSchema"
}
}
}
}
},
"securitySchemes": {
"cookieAuth": {
"type": "apiKey",
"in": "cookie",
"name": "ses6"
},
"headerHost": {
"type": "apiKey",
"in": "header",
"name": "host"
}
},
"requestBodies": {
"EmptyRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmptySchema"
}
}
}
}
},
"schemas": {
"ProxyConnection": {
"description": "Proxy connection information",
"type": "object",
"properties": {
"id": {
"description": "ID of proxy connection",
"type": "integer",
"example": 13
},
"listen_web_port": {
"description": "Port number that proxy is listening on",
"type": "integer",
"example": 10003
},
"proxy_type": {
"description": "Type of proxy connection",
"type": "string",
"enum": [
"console",
"web"
],
"example": "web"
}
}
},
"SetupPostParams": {
"additionalProperties": false,
"properties": {
"locations": {
"description": "List of locations where proxy should be activated",
"type": "array",
"items": {
"type": "integer"
}
},
"java_agree": {
"description": "Consent to Java Oracle",
"type": "boolean"
},
"iso_mount": {
"description": "ISO mount for ipmi proxy session's user",
"type": "boolean"
}
},
"required": [
"locations",
"java_agree"
],
"type": "object"
},
"ReSetupPostParams": {
"additionalProperties": false,
"properties": {
"location_id": {
"description": "Location unique identifier",
"type": "integer"
}
},
"required": [
"location_id"
],
"type": "object"
},
"UpdatePostParams": {
"additionalProperties": false,
"properties": {
"locations": {
"description": "List of locations where the proxy module should be updated",
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"locations"
],
"type": "object"
},
"EmptySchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"ErrorSchema": {
"properties": {
"error": {
"properties": {
"code": {
"type": "integer"
},
"msg": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"Id": {
"properties": {
"id": {
"type": "integer"
}
},
"type": "object"
},
"SuccessSchema": {
"$ref": "#/components/schemas/Id"
},
"SuccessTaskArraySchema": {
"properties": {
"task": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"SuccessTaskOnlySchema": {
"properties": {
"task": {
"type": "integer"
}
},
"type": "object"
},
"SuccessTaskSchema": {
"properties": {
"id": {
"type": "integer"
},
"task": {
"type": "integer"
}
},
"type": "object"
},
"ProxyAccessParams": {
"additionalProperties": false,
"required": [
"listen_web_port"
],
"type": "object",
"properties": {
"listen_web_port": {
"description": "The port that the user is trying to connect to",
"type": "integer"
}
}
},
"ProxyPostParams": {
"additionalProperties": false,
"type": "object",
"properties": {
"reconnect": {
"description": "Need to reconnect to current session",
"type": "boolean",
"default": false,
"example": false
}
}
},
"ProxyCloseParams": {
"additionalProperties": false,
"required": [
"listen_web_port"
],
"type": "object",
"properties": {
"listen_web_port": {
"description": "The port that can no longer be connected to",
"type": "integer"
}
}
},
"SuccessTaskAndPortSchema": {
"properties": {
"task": {
"type": "integer"
},
"listen_web_port": {
"type": "integer"
}
},
"type": "object"
},
"SuccessPortSchema": {
"properties": {
"listen_web_port": {
"type": "integer"
}
},
"type": "object"
},
"PluginStatusResponse": {
"properties": {
"is_enabled": {
"type": "boolean",
"description": "The plugin status"
}
},
"type": "object"
},
"LocationGetResponse": {
"properties": {
"location": {
"type": "integer",
"description": "The location identifier"
},
"instance": {
"type": "integer",
"description": "The instance identifier"
},
"status": {
"enum": [
"ok",
"fail",
"setting_up"
],
"type": "string"
},
"docker_compose": {
"description": "Base64-encoded docker-compose file of IPMI proxy server",
"type": "string"
},
"supported_ipmi_consoles": {
"type": "array",
"items": {
"type": "string"
}
},
"patches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PatchSchema"
}
}
},
"type": "object"
},
"LocationListResponse": {
"properties": {
"list": {
"items": {
"$ref": "#/components/schemas/LocationGetResponse"
},
"type": "array"
}
},
"type": "object"
},
"LocationPatchParams": {
"properties": {
"patches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PatchSchema"
}
}
},
"type": "object"
},
"PatchSchema": {
"properties": {
"name": {
"type": "string",
"description": "The patch name"
},
"patch": {
"type": "string",
"description": "The base64-encoded patch"
}
},
"type": "object"
}
}
}
}