-
Notifications
You must be signed in to change notification settings - Fork 16
/
plugin.autoinfra.ai.yaml
133 lines (129 loc) · 3.79 KB
/
plugin.autoinfra.ai.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
openapi: 3.0.1
info:
title: AutoInfra Plugin
description: A plugin that allows the user to talk to their servers and run commands on them.
version: 'v1'
servers:
- url: https://plugin.autoinfra.ai
paths:
/run_command:
post:
operationId: runCommand
summary: Run command in shell
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
command:
type: string
description: The linux command to run.
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getrunResponse'
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/getrunResponse'
/get_available_commands/:
get:
operationId: getAvailableCommands
summary: Get available non default commands
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getAvailableCommandsResponse'
/install_cmd:
post:
operationId: installCommand
summary: Install Ubuntu package using sudo
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ins_package:
type: string
description: The linux command that installs a package
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/installCommandResponse'
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/installCommandResponse'
/set_public_ip/{address}:
post:
summary: Set the user's address in the format username@ip_address, and their port if they specify it.
description: This endpoint allows the user to set their custom address in the format username@ip_address as well as their port
operationId: setPublicIP
parameters:
- in: path
name: address
schema:
type: string
required: true
description: The address to set, in the format of username@ip_address
- in: query
name: port
schema:
type: integer
default: 22
required: false
description: The port number to set, defaults to 22 if not provided
responses:
"200":
description: Public IP address set successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/getrunResponse'
"500":
description: Failed to set public IP address.
content:
application/json:
schema:
$ref: '#/components/schemas/getrunResponse'
components:
schemas:
getrunResponse:
type: object
properties:
commands:
type: array
items:
type: string
description: The output of the linux command ran
getAvailableCommandsResponse:
type: object
properties:
commands:
type: array
items:
type: string
description: The list of available non default commands.
installCommandResponse:
type: object
properties:
message:
type: string
description: A message indicating whether the package was successfully installed.