openapi: 3.0.0 info: title: IPMI Proxy service 6 API description: IPMI Proxy service 6 API version: 3.0.0 servers: - url: https://127.0.0.1/api/ipmiproxy/v3 security: - cookieAuth: [] headerHost: [] paths: # Proxy /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 /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 /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" # Plugin /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 /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 type: object LocationListResponse: properties: list: items: $ref: "#/components/schemas/LocationGetResponse" type: array type: object