refs #536 add openapi specification
parent
d4e21dae13
commit
367e6dc782
|
@ -0,0 +1,297 @@
|
||||||
|
openapi: 3.0.3
|
||||||
|
|
||||||
|
info:
|
||||||
|
title: OgAgent API
|
||||||
|
description: OgAgent API
|
||||||
|
version: 0.0.1
|
||||||
|
|
||||||
|
paths:
|
||||||
|
/opengnsys/status:
|
||||||
|
post:
|
||||||
|
summary: Get status of the agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/StatusReq'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/StatusRes'
|
||||||
|
|
||||||
|
/opengnsys/poweroff:
|
||||||
|
post:
|
||||||
|
summary: Power agent off
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/LaunchedRes'
|
||||||
|
|
||||||
|
/opengnsys/reboot:
|
||||||
|
post:
|
||||||
|
summary: Reboot agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/LaunchedRes'
|
||||||
|
|
||||||
|
/opengnsys/script:
|
||||||
|
post:
|
||||||
|
summary: Run script on agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/ScriptReq'
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/ScriptRes'
|
||||||
|
|
||||||
|
/opengnsys/terminatescript:
|
||||||
|
post:
|
||||||
|
summary: Terminate running script on agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/TerminateScriptReq'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
|
||||||
|
/opengnsys/preparescripts:
|
||||||
|
post:
|
||||||
|
summary: Prepare list of scripts running on agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
|
||||||
|
/opengnsys/getscripts:
|
||||||
|
post:
|
||||||
|
summary: Get the list of scripts running on agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/GetScriptsRes'
|
||||||
|
|
||||||
|
/opengnsys/logoff:
|
||||||
|
post:
|
||||||
|
summary: Log remote user off
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EmptyObj'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/LogoffRes'
|
||||||
|
|
||||||
|
/opengnsys/popup:
|
||||||
|
post:
|
||||||
|
summary: Show message on agent
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Popup'
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Success
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/LaunchedRes'
|
||||||
|
|
||||||
|
components:
|
||||||
|
schemas:
|
||||||
|
EmptyObj:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
Jobid:
|
||||||
|
type: string
|
||||||
|
example:
|
||||||
|
- "deadbeef"
|
||||||
|
|
||||||
|
StatusReq:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
detail:
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
StatusRes:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- status
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- "LNX"
|
||||||
|
- "OSX"
|
||||||
|
- "WIN"
|
||||||
|
loggedin:
|
||||||
|
type: boolean
|
||||||
|
session:
|
||||||
|
type: string
|
||||||
|
example:
|
||||||
|
- "x11"
|
||||||
|
agent_version:
|
||||||
|
type: string
|
||||||
|
os_version:
|
||||||
|
type: string
|
||||||
|
sys_load:
|
||||||
|
type: number
|
||||||
|
|
||||||
|
LaunchedRes:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- op
|
||||||
|
properties:
|
||||||
|
op:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- "launched"
|
||||||
|
|
||||||
|
ScriptReq:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- script
|
||||||
|
properties:
|
||||||
|
script:
|
||||||
|
type: string
|
||||||
|
example:
|
||||||
|
- "uptime\nwho"
|
||||||
|
- "Start-Process notepad.exe"
|
||||||
|
client:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
ScriptRes:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- op
|
||||||
|
properties:
|
||||||
|
op:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- "launched"
|
||||||
|
jobid:
|
||||||
|
$ref: '#/components/schemas/Jobid'
|
||||||
|
|
||||||
|
TerminateScriptReq:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- jobid
|
||||||
|
properties:
|
||||||
|
jobid:
|
||||||
|
$ref: '#/components/schemas/Jobid'
|
||||||
|
|
||||||
|
|
||||||
|
RunningScript:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- jobid
|
||||||
|
- pid
|
||||||
|
- starttime
|
||||||
|
- script
|
||||||
|
- client
|
||||||
|
- status
|
||||||
|
- stdout
|
||||||
|
- stderr
|
||||||
|
properties:
|
||||||
|
jobid:
|
||||||
|
$ref: '#/components/schemas/Jobid'
|
||||||
|
pid:
|
||||||
|
type: integer
|
||||||
|
starttime:
|
||||||
|
type: string
|
||||||
|
example: "2024-12-31 23:59:59.123456+0000"
|
||||||
|
script:
|
||||||
|
type: string
|
||||||
|
client:
|
||||||
|
type: boolean
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- "running"
|
||||||
|
- "finished"
|
||||||
|
stdout:
|
||||||
|
type: string
|
||||||
|
stderr:
|
||||||
|
type: string
|
||||||
|
rc:
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
GetScriptsRes:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/RunningScript'
|
||||||
|
|
||||||
|
LogoffRes:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- op
|
||||||
|
properties:
|
||||||
|
op:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- "sent to client"
|
||||||
|
|
||||||
|
Popup:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
type: string
|
Loading…
Reference in New Issue