Skip to content

Commit 5c7c145

Browse files
archeossgithub-actions[bot]
authored andcommitted
Autogenerate API
1 parent d692a7e commit 5c7c145

File tree

1 file changed

+365
-1
lines changed

1 file changed

+365
-1
lines changed

api/openapi.yaml

Lines changed: 365 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,25 @@ info:
88
name: ''
99
version: 0.0.0
1010
paths:
11+
/api/v1/disks/count:
12+
get:
13+
tags:
14+
- services::api
15+
summary: Returns count of Physical Disks per status
16+
description: |
17+
Returns count of Physical Disks per status
18+
operationId: get_disks_count
19+
responses:
20+
'200':
21+
description: Returns a list with count of physical disks per status
22+
content:
23+
application/json:
24+
schema:
25+
$ref: '#/components/schemas/DiskCount'
26+
'401':
27+
description: Unauthorized
28+
security:
29+
- api_key: []
1130
/api/v1/login:
1231
post:
1332
tags:
@@ -67,6 +86,63 @@ paths:
6786
responses:
6887
'200':
6988
description: Logged out
89+
/api/v1/nodes/count:
90+
get:
91+
tags:
92+
- services::api
93+
summary: Get Nodes count per Status
94+
description: |
95+
Get Nodes count per Status
96+
operationId: get_nodes_count
97+
responses:
98+
'200':
99+
description: Node count list per status
100+
content:
101+
application/json:
102+
schema:
103+
$ref: '#/components/schemas/NodeCount'
104+
'401':
105+
description: Unauthorized
106+
security:
107+
- api_key: []
108+
/api/v1/nodes/rps:
109+
get:
110+
tags:
111+
- services::api
112+
summary: Returns Total RPS on cluster
113+
description: |
114+
Returns Total RPS on cluster
115+
operationId: get_rps
116+
responses:
117+
'200':
118+
description: RPS list per operation on all nodes
119+
content:
120+
application/json:
121+
schema:
122+
$ref: '#/components/schemas/RPS'
123+
'401':
124+
description: Unauthorized
125+
security:
126+
- api_key: []
127+
/api/v1/nodes/space:
128+
get:
129+
tags:
130+
- services::api
131+
summary: Return inforamtion about space on cluster
132+
description: |
133+
Return inforamtion about space on cluster
134+
operationId: get_space
135+
responses:
136+
'200':
137+
description: Cluster Space Information
138+
content:
139+
application/json:
140+
schema:
141+
$ref: '#/components/schemas/SpaceInfo'
142+
'401':
143+
description: Unauthorized
144+
security:
145+
- api_key: []
70146
/api/v1/root:
71147
get:
72148
tags:
@@ -110,8 +186,296 @@ components:
110186
example:
111187
login: archeoss
112188
password: '12345'
189+
DiskCount:
190+
type: object
191+
additionalProperties:
192+
type: integer
193+
format: int64
194+
minimum: 0
195+
DiskProblem:
196+
type: string
197+
description: Defines kind of problem on disk
198+
enum:
199+
- freeSpaceRunningOut
200+
DiskStatus:
201+
oneOf:
202+
- type: object
203+
required:
204+
- status
205+
properties:
206+
status:
207+
type: string
208+
enum:
209+
- good
210+
- type: object
211+
required:
212+
- status
213+
- problems
214+
properties:
215+
problems:
216+
type: array
217+
items:
218+
$ref: '#/components/schemas/DiskProblem'
219+
status:
220+
type: string
221+
enum:
222+
- bad
223+
- type: object
224+
required:
225+
- status
226+
properties:
227+
status:
228+
type: string
229+
enum:
230+
- offline
231+
description: |-
232+
Defines disk status
233+
234+
Variant - Disk Status
235+
Content - List of problems on disk. 'null' if status != 'bad'
236+
discriminator:
237+
propertyName: status
238+
DiskStatusName:
239+
type: string
240+
description: Defines disk status names
241+
enum:
242+
- good
243+
- bad
244+
- offline
113245
Hostname:
114-
$ref: '#/components/schemas/Uri'
246+
type: string
247+
MetricsEntryModel:
248+
type: object
249+
required:
250+
- value
251+
- timestamp
252+
properties:
253+
timestamp:
254+
type: integer
255+
format: int64
256+
minimum: 0
257+
value:
258+
type: integer
259+
format: int64
260+
minimum: 0
261+
MetricsSnapshotModel:
262+
type: object
263+
required:
264+
- metrics
265+
properties:
266+
metrics:
267+
type: object
268+
additionalProperties:
269+
$ref: '#/components/schemas/MetricsEntryModel'
270+
NodeConfiguration:
271+
type: object
272+
properties:
273+
blob_file_name_prefix:
274+
type: string
275+
nullable: true
276+
root_dir_name:
277+
type: string
278+
nullable: true
279+
NodeCount:
280+
type: object
281+
additionalProperties:
282+
type: integer
283+
format: int64
284+
minimum: 0
285+
NodeProblem:
286+
type: string
287+
description: Defines kind of problem on Node
288+
enum:
289+
- aliensExists
290+
- corruptedExists
291+
- freeSpaceRunningOut
292+
- virtualMemLargerThanRAM
293+
- highCPULoad
294+
NodeStatus:
295+
oneOf:
296+
- type: object
297+
required:
298+
- status
299+
properties:
300+
status:
301+
type: string
302+
enum:
303+
- good
304+
- type: object
305+
required:
306+
- status
307+
- problems
308+
properties:
309+
problems:
310+
type: array
311+
items:
312+
$ref: '#/components/schemas/NodeProblem'
313+
status:
314+
type: string
315+
enum:
316+
- bad
317+
- type: object
318+
required:
319+
- status
320+
properties:
321+
status:
322+
type: string
323+
enum:
324+
- offline
325+
description: |-
326+
Defines status of node
327+
328+
Variants - Node status
329+
330+
Content - List of problems on node. 'null' if status != 'bad'
331+
discriminator:
332+
propertyName: status
333+
NodeStatusName:
334+
type: string
335+
description: Defines node status names
336+
enum:
337+
- good
338+
- bad
339+
- offline
340+
Operation:
341+
type: string
342+
enum:
343+
- put
344+
- get
345+
- exist
346+
- delete
347+
RPS:
348+
type: object
349+
additionalProperties:
350+
type: integer
351+
format: int64
352+
minimum: 0
353+
RawMetricEntry:
354+
type: string
355+
enum:
356+
- cluster_grinder.get_count_rate
357+
- cluster_grinder.put_count_rate
358+
- cluster_grinder.exist_count_rate
359+
- cluster_grinder.delete_count_rate
360+
- pearl.exist_count_rate
361+
- pearl.get_count_rate
362+
- pearl.put_count_rate
363+
- pearl.delete_count_rate
364+
- backend.alien_count
365+
- backend.corrupted_blob_count
366+
- hardware.bob_virtual_ram
367+
- hardware.total_ram
368+
- hardware.used_ram
369+
- hardware.bob_cpu_load
370+
- hardware.free_space
371+
- hardware.total_space
372+
- hardware.descr_amount
373+
ReplicaProblem:
374+
type: string
375+
description: Reasons why Replica is offline
376+
enum:
377+
- nodeUnavailable
378+
- diskUnavailable
379+
ReplicaStatus:
380+
oneOf:
381+
- type: object
382+
required:
383+
- status
384+
properties:
385+
status:
386+
type: string
387+
enum:
388+
- good
389+
- type: object
390+
required:
391+
- status
392+
- problems
393+
properties:
394+
problems:
395+
type: array
396+
items:
397+
$ref: '#/components/schemas/ReplicaProblem'
398+
status:
399+
type: string
400+
enum:
401+
- offline
402+
description: |-
403+
Replica status. It's either good or offline with the reasons why it is offline
404+
405+
Variants - Replica status
406+
407+
Content - List of problems on replica. 'null' if status != 'offline'
408+
discriminator:
409+
propertyName: status
410+
SpaceInfo:
411+
type: object
412+
description: Disk space information in bytes
413+
required:
414+
- total_disk
415+
- free_disk
416+
- used_disk
417+
- occupied_disk
418+
properties:
419+
free_disk:
420+
type: integer
421+
format: int64
422+
description: The amount of free disk space
423+
minimum: 0
424+
occupied_disk:
425+
type: integer
426+
format: int64
427+
description: Disk space occupied only by BOB. occupied_disk should be lesser than used_disk
428+
minimum: 0
429+
total_disk:
430+
type: integer
431+
format: int64
432+
description: Total disk space amount
433+
minimum: 0
434+
used_disk:
435+
type: integer
436+
format: int64
437+
description: Used disk space amount
438+
minimum: 0
439+
TypedMetrics:
440+
type: object
441+
additionalProperties:
442+
$ref: '#/components/schemas/dto.MetricsEntryModel'
443+
VDiskStatus:
444+
oneOf:
445+
- type: object
446+
required:
447+
- status
448+
properties:
449+
status:
450+
type: string
451+
enum:
452+
- good
453+
- type: object
454+
required:
455+
- status
456+
properties:
457+
status:
458+
type: string
459+
enum:
460+
- bad
461+
- type: object
462+
required:
463+
- status
464+
properties:
465+
status:
466+
type: string
467+
enum:
468+
- offline
469+
description: |-
470+
Virtual disk status.
471+
472+
Variants - Virtual Disk status
473+
status == 'bad' when at least one of its replicas has problems
474+
securitySchemes:
475+
api_key:
476+
type: apiKey
477+
in: header
478+
name: bob_apikey
115479
tags:
116480
- name: bob
117481
description: BOB management API

0 commit comments

Comments
 (0)