1 | swagger: "2.0"
|
2 | info:
|
3 | description: ""
|
4 | version: "1.0.0"
|
5 | title: "Tubee API"
|
6 | termsOfService: ""
|
7 | contact:
|
8 | email: "opensource@gyselroth.net"
|
9 | license:
|
10 | name: "MIT"
|
11 | url: "https://opensource.org/licenses/MIT"
|
12 | basePath: "/api/v1"
|
13 | schemes:
|
14 | - "https"
|
15 | paths:
|
16 | /:
|
17 | get:
|
18 | summary: "Get api entrypoint"
|
19 | operationId: "root"
|
20 | produces:
|
21 | - "application/json"
|
22 | responses:
|
23 | 200:
|
24 | description: "List of objects"
|
25 | 403:
|
26 | description: "Access denied"
|
27 | /watch/namespaces:
|
28 | get:
|
29 | tags:
|
30 | - "namespaces"
|
31 | summary: "Watch namespaces"
|
32 | description: "Watch namespaces in realtime"
|
33 | operationId: "watchNamespaces"
|
34 | produces:
|
35 | - "application/json;stream=watch"
|
36 | parameters:
|
37 | - in: "query"
|
38 | name: "query"
|
39 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
40 | required: false
|
41 | type: "string"
|
42 | - in: "query"
|
43 | name: "attributes"
|
44 | description: "Filter attributes"
|
45 | required: false
|
46 | type: "array"
|
47 | items:
|
48 | type: "string"
|
49 | - in: "query"
|
50 | name: "offset"
|
51 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
52 | required: false
|
53 | type: "number"
|
54 | - in: "query"
|
55 | name: "limit"
|
56 | description: "Objects limit, per default 20 objects will get returned"
|
57 | required: false
|
58 | type: "number"
|
59 | - in: "query"
|
60 | name: "sort"
|
61 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
62 | required: false
|
63 | type: "string"
|
64 | responses:
|
65 | 200:
|
66 | description: "List of objects"
|
67 | 403:
|
68 | description: "Access denied"
|
69 | /namespaces:
|
70 | get:
|
71 | tags:
|
72 | - "namespaces"
|
73 | summary: "Get namespaces"
|
74 | description: "A namespace is a logical group of collections"
|
75 | operationId: "getNamespaces"
|
76 | produces:
|
77 | - "application/json"
|
78 | parameters:
|
79 | - in: "query"
|
80 | name: "query"
|
81 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
82 | required: false
|
83 | type: "string"
|
84 | - in: "query"
|
85 | name: "attributes"
|
86 | description: "Filter attributes"
|
87 | required: false
|
88 | type: "array"
|
89 | items:
|
90 | type: "string"
|
91 | - in: "query"
|
92 | name: "offset"
|
93 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
94 | required: false
|
95 | type: "number"
|
96 | - in: "query"
|
97 | name: "limit"
|
98 | description: "Objects limit, per default 20 objects will get returned"
|
99 | required: false
|
100 | type: "number"
|
101 | - in: "query"
|
102 | name: "sort"
|
103 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
104 | required: false
|
105 | type: "string"
|
106 | responses:
|
107 | 200:
|
108 | description: "List of namespaces"
|
109 | schema:
|
110 | $ref: "#/definitions/Namespaces"
|
111 | 403:
|
112 | description: "Access denied"
|
113 | post:
|
114 | tags:
|
115 | - "namespaces"
|
116 | summary: "Add namespace"
|
117 | operationId: "addNamespace"
|
118 | produces:
|
119 | - "application/json"
|
120 | parameters:
|
121 | - in: body
|
122 | name: data
|
123 | schema:
|
124 | $ref: "#/definitions/Namespace"
|
125 | responses:
|
126 | 201:
|
127 | description: "If successful the server will respond with 201 Created"
|
128 | schema:
|
129 | $ref: "#/definitions/Namespace"
|
130 | 403:
|
131 | description: "Access denied"
|
132 | /namespaces/{namespace}:
|
133 | get:
|
134 | tags:
|
135 | - "namespaces"
|
136 | summary: "Get specific namespace"
|
137 | description: "A namespace is a logical group of collections"
|
138 | operationId: "getNamespace"
|
139 | produces:
|
140 | - "application/json"
|
141 | parameters:
|
142 | - in: "path"
|
143 | name: "namespace"
|
144 | description: "Namespace name"
|
145 | required: true
|
146 | type: "string"
|
147 | - in: "query"
|
148 | name: "attributes"
|
149 | description: "Filter attributes"
|
150 | required: false
|
151 | type: "array"
|
152 | items:
|
153 | type: "string"
|
154 | responses:
|
155 | 200:
|
156 | description: "Namespace"
|
157 | schema:
|
158 | $ref: "#/definitions/Namespace"
|
159 | 404:
|
160 | description: "Resource does not exists"
|
161 | 403:
|
162 | description: "Access denied"
|
163 | delete:
|
164 | tags:
|
165 | - "namespaces"
|
166 | summary: "Delete specific namespace"
|
167 | operationId: "deleteNamespace"
|
168 | produces:
|
169 | - "application/json"
|
170 | parameters:
|
171 | - in: "path"
|
172 | name: "namespace"
|
173 | description: "Namespace name"
|
174 | required: true
|
175 | type: "string"
|
176 | responses:
|
177 | 204:
|
178 | description: "If successful the server will respond with 204 No Content"
|
179 | 404:
|
180 | description: "Resource does not exists"
|
181 | 403:
|
182 | description: "Access denied"
|
183 | put:
|
184 | tags:
|
185 | - "namespaces"
|
186 | summary: "Create or replace namespace"
|
187 | operationId: "replaceNamespace"
|
188 | produces:
|
189 | - "application/json"
|
190 | parameters:
|
191 | - in: "path"
|
192 | name: "namespace"
|
193 | description: "Namespace name"
|
194 | required: true
|
195 | type: "string"
|
196 | - in: body
|
197 | name: data
|
198 | schema:
|
199 | $ref: "#/definitions/Namespace"
|
200 | responses:
|
201 | 200:
|
202 | description: "If successful the server will respond with 200 OK"
|
203 | schema:
|
204 | $ref: "#/definitions/Namespace"
|
205 | 201:
|
206 | description: "If successful and the object was newly created the server will respond with 201 Created"
|
207 | schema:
|
208 | $ref: "#/definitions/Namespace"
|
209 | 403:
|
210 | description: "Access denied"
|
211 | patch:
|
212 | tags:
|
213 | - "namespaces"
|
214 | summary: "Patch namespace as rfc6902 request"
|
215 | operationId: "updateNamespace"
|
216 | description: "Update specific attributes of a namespace"
|
217 | produces:
|
218 | - "application/json"
|
219 | parameters:
|
220 | - in: "path"
|
221 | name: "namespace"
|
222 | description: "Namespace name"
|
223 | required: true
|
224 | type: "string"
|
225 | - in: body
|
226 | name: data
|
227 | description: "Namespace"
|
228 | schema:
|
229 | type: array
|
230 | items:
|
231 | $ref: "#/definitions/JsonPatch"
|
232 | responses:
|
233 | 200:
|
234 | description: "Namespace"
|
235 | schema:
|
236 | $ref: "#/definitions/Namespace"
|
237 | 404:
|
238 | description: "Resource does not exists"
|
239 | 403:
|
240 | description: "Access denied"
|
241 | /watch/namespaces/{namespace}/collections:
|
242 | get:
|
243 | tags:
|
244 | - "collections"
|
245 | summary: "Watch collections"
|
246 | description: "Watch collections in realtime"
|
247 | operationId: "watchCollections"
|
248 | produces:
|
249 | - "application/json;stream=watch"
|
250 | parameters:
|
251 | - in: "path"
|
252 | name: "namespace"
|
253 | description: "Namespace name"
|
254 | required: true
|
255 | type: "string"
|
256 | - in: "query"
|
257 | name: "query"
|
258 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
259 | required: false
|
260 | type: "string"
|
261 | - in: "query"
|
262 | name: "attributes"
|
263 | description: "Filter attributes"
|
264 | required: false
|
265 | type: "array"
|
266 | items:
|
267 | type: "string"
|
268 | - in: "query"
|
269 | name: "offset"
|
270 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
271 | required: false
|
272 | type: "number"
|
273 | - in: "query"
|
274 | name: "limit"
|
275 | description: "Objects limit, per default 20 objects will get returned"
|
276 | required: false
|
277 | type: "number"
|
278 | - in: "query"
|
279 | name: "sort"
|
280 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
281 | required: false
|
282 | type: "string"
|
283 | responses:
|
284 | 200:
|
285 | description: "List of objects"
|
286 | 403:
|
287 | description: "Access denied"
|
288 | /namespaces/{namespace}/collections:
|
289 | get:
|
290 | tags:
|
291 | - "collections"
|
292 | summary: "Get collections"
|
293 | description: "A collection is collection of data objects of a specific type"
|
294 | operationId: "getCollections"
|
295 | produces:
|
296 | - "application/json"
|
297 | parameters:
|
298 | - in: "path"
|
299 | name: "namespace"
|
300 | description: "Namespace name"
|
301 | required: true
|
302 | type: "string"
|
303 | - in: "query"
|
304 | name: "query"
|
305 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
306 | required: false
|
307 | type: "string"
|
308 | - in: "query"
|
309 | name: "attributes"
|
310 | description: "Filter attributes"
|
311 | required: false
|
312 | type: "array"
|
313 | items:
|
314 | type: "string"
|
315 | - in: "query"
|
316 | name: "offset"
|
317 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
318 | required: false
|
319 | type: "number"
|
320 | - in: "query"
|
321 | name: "limit"
|
322 | description: "Objects limit, per default 20 objects will get returned"
|
323 | required: false
|
324 | type: "number"
|
325 | - in: "query"
|
326 | name: "sort"
|
327 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
328 | required: false
|
329 | type: "string"
|
330 | responses:
|
331 | 200:
|
332 | description: "List of collections"
|
333 | schema:
|
334 | $ref: "#/definitions/Collections"
|
335 | 404:
|
336 | description: "Resource does not exists"
|
337 | 403:
|
338 | description: "Access denied"
|
339 | post:
|
340 | tags:
|
341 | - "collections"
|
342 | summary: "Add collection"
|
343 | operationId: "addCollection"
|
344 | produces:
|
345 | - "application/json"
|
346 | parameters:
|
347 | - in: "path"
|
348 | name: "namespace"
|
349 | description: "Namespace name"
|
350 | required: true
|
351 | type: "string"
|
352 | - in: body
|
353 | name: data
|
354 | schema:
|
355 | $ref: "#/definitions/Collection"
|
356 | responses:
|
357 | 201:
|
358 | description: "If successful the server will respond with 201 Created"
|
359 | schema:
|
360 | $ref: "#/definitions/Collection"
|
361 | 403:
|
362 | description: "Access denied"
|
363 | 404:
|
364 | description: "Resource does not exists"
|
365 | /namespaces/{namespace}/collections/{collection}:
|
366 | get:
|
367 | tags:
|
368 | - "collections"
|
369 | summary: "Get specific collection"
|
370 | description: "A collection is collection of dataobjects of a specific type"
|
371 | operationId: "getCollection"
|
372 | produces:
|
373 | - "application/json"
|
374 | parameters:
|
375 | - in: "path"
|
376 | name: "namespace"
|
377 | description: "Namespace name"
|
378 | required: true
|
379 | type: "string"
|
380 | - in: "path"
|
381 | name: "collection"
|
382 | description: "Collection"
|
383 | required: true
|
384 | type: "string"
|
385 | - in: "query"
|
386 | name: "attributes"
|
387 | description: "Filter attributes"
|
388 | required: false
|
389 | type: "array"
|
390 | items:
|
391 | type: "string"
|
392 | responses:
|
393 | 200:
|
394 | description: "Collection"
|
395 | schema:
|
396 | $ref: "#/definitions/Collection"
|
397 | 404:
|
398 | description: "Resource does not exists"
|
399 | 403:
|
400 | description: "Access denied"
|
401 | delete:
|
402 | tags:
|
403 | - "collections"
|
404 | summary: "Delete specific collection"
|
405 | operationId: "deleteCollection"
|
406 | produces:
|
407 | - "application/json"
|
408 | parameters:
|
409 | - in: "path"
|
410 | name: "namespace"
|
411 | description: "Namespace name"
|
412 | required: true
|
413 | type: "string"
|
414 | - in: "path"
|
415 | name: "collection"
|
416 | description: "Collection"
|
417 | required: true
|
418 | type: "string"
|
419 | responses:
|
420 | 204:
|
421 | description: "If successful the server will respond with 204 No Content"
|
422 | 404:
|
423 | description: "Resource does not exists"
|
424 | 403:
|
425 | description: "Access denied"
|
426 | put:
|
427 | tags:
|
428 | - "collections"
|
429 | summary: "Create or replace collection"
|
430 | operationId: "replaceCollection"
|
431 | produces:
|
432 | - "application/json"
|
433 | parameters:
|
434 | - in: "path"
|
435 | name: "namespace"
|
436 | description: "Namespace name"
|
437 | required: true
|
438 | type: "string"
|
439 | - in: "path"
|
440 | name: "collection"
|
441 | description: "Collection"
|
442 | required: true
|
443 | type: "string"
|
444 | - in: body
|
445 | name: data
|
446 | schema:
|
447 | $ref: "#/definitions/Collection"
|
448 | responses:
|
449 | 200:
|
450 | description: "If successful the server will respond with 200 OK"
|
451 | schema:
|
452 | $ref: "#/definitions/Collection"
|
453 | 201:
|
454 | description: "If successful and the object was newly created the server will respond with 201 Created"
|
455 | schema:
|
456 | $ref: "#/definitions/Collection"
|
457 | 403:
|
458 | description: "Access denied"
|
459 | patch:
|
460 | tags:
|
461 | - "collections"
|
462 | summary: "Patch collection as rfc6902 request"
|
463 | description: "Update specific attributes of a collection"
|
464 | operationId: "updateCollection"
|
465 | produces:
|
466 | - "application/json"
|
467 | parameters:
|
468 | - in: "path"
|
469 | name: "namespace"
|
470 | description: "Namespace name"
|
471 | required: true
|
472 | type: "string"
|
473 | - in: "path"
|
474 | name: "collection"
|
475 | description: "Collection"
|
476 | required: true
|
477 | type: "string"
|
478 | - in: body
|
479 | name: data
|
480 | description: "Collection"
|
481 | schema:
|
482 | type: array
|
483 | items:
|
484 | $ref: "#/definitions/JsonPatch"
|
485 | responses:
|
486 | 200:
|
487 | description: "Collection"
|
488 | schema:
|
489 | $ref: "#/definitions/Collection"
|
490 | 404:
|
491 | description: "Resource does not exists"
|
492 | 403:
|
493 | description: "Access denied"
|
494 | /watch/namespaces/{namespace}/collections/{collection}/endpoints:
|
495 | get:
|
496 | tags:
|
497 | - "endpoints"
|
498 | summary: "Watch endpoints"
|
499 | description: "Watch updates in realtime"
|
500 | operationId: "watchEndpoints"
|
501 | produces:
|
502 | - "application/json;stream=watch"
|
503 | parameters:
|
504 | - in: "path"
|
505 | name: "namespace"
|
506 | description: "Namespace name"
|
507 | required: true
|
508 | type: "string"
|
509 | - in: "path"
|
510 | name: "collection"
|
511 | description: "Collection"
|
512 | required: true
|
513 | type: "string"
|
514 | - in: "query"
|
515 | name: "query"
|
516 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
517 | required: false
|
518 | type: "string"
|
519 | - in: "query"
|
520 | name: "attributes"
|
521 | description: "Filter attributes"
|
522 | required: false
|
523 | type: "array"
|
524 | items:
|
525 | type: "string"
|
526 | - in: "query"
|
527 | name: "offset"
|
528 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
529 | required: false
|
530 | type: "number"
|
531 | - in: "query"
|
532 | name: "limit"
|
533 | description: "Objects limit, per default 20 objects will get returned"
|
534 | required: false
|
535 | type: "number"
|
536 | - in: "query"
|
537 | name: "sort"
|
538 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
539 | required: false
|
540 | type: "string"
|
541 | responses:
|
542 | 200:
|
543 | description: "List of objects"
|
544 | 403:
|
545 | description: "Access denied"
|
546 | /namespaces/{namespace}/collections/{collection}/endpoints:
|
547 | get:
|
548 | tags:
|
549 | - "endpoints"
|
550 | summary: "Get endpoints"
|
551 | description: "An endpoint is either of type source or destination and defines an import/export destination"
|
552 | operationId: "getEndpoints"
|
553 | produces:
|
554 | - "application/json"
|
555 | parameters:
|
556 | - in: "path"
|
557 | name: "namespace"
|
558 | description: "Namespace name"
|
559 | required: true
|
560 | type: "string"
|
561 | - in: "path"
|
562 | name: "collection"
|
563 | description: "Collection"
|
564 | required: true
|
565 | type: "string"
|
566 | - in: "query"
|
567 | name: "query"
|
568 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
569 | required: false
|
570 | type: "string"
|
571 | - in: "query"
|
572 | name: "attributes"
|
573 | description: "Filter attributes"
|
574 | required: false
|
575 | type: "array"
|
576 | items:
|
577 | type: "string"
|
578 | - in: "query"
|
579 | name: "offset"
|
580 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
581 | required: false
|
582 | type: "number"
|
583 | - in: "query"
|
584 | name: "limit"
|
585 | description: "Objects limit, per default 20 objects will get returned"
|
586 | required: false
|
587 | type: "number"
|
588 | - in: "query"
|
589 | name: "sort"
|
590 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
591 | required: false
|
592 | type: "string"
|
593 | responses:
|
594 | 200:
|
595 | description: "List of endpoints"
|
596 | schema:
|
597 | $ref: "#/definitions/Endpoints"
|
598 | 404:
|
599 | description: "Resource does not exists"
|
600 | 403:
|
601 | description: "Access denied"
|
602 | post:
|
603 | tags:
|
604 | - "endpoints"
|
605 | summary: "Add Endpoint"
|
606 | operationId: "addEndpoint"
|
607 | produces:
|
608 | - "application/json"
|
609 | parameters:
|
610 | - in: "path"
|
611 | name: "namespace"
|
612 | description: "Namespace name"
|
613 | required: true
|
614 | type: "string"
|
615 | - in: "path"
|
616 | name: "collection"
|
617 | description: "Collection"
|
618 | required: true
|
619 | type: "string"
|
620 | - in: body
|
621 | name: data
|
622 | schema:
|
623 | type: object
|
624 | responses:
|
625 | 201:
|
626 | description: "If successful the server will respond with 201 Created"
|
627 | schema:
|
628 | $ref: "#/definitions/Endpoint"
|
629 | 403:
|
630 | description: "Access denied"
|
631 | 404:
|
632 | description: "Resource does not exists"
|
633 | /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}:
|
634 | get:
|
635 | tags:
|
636 | - "endpoints"
|
637 | summary: "Get specific endpoint"
|
638 | description: "An endpoint is either of type source or destination and defines an import/export destination"
|
639 | operationId: "getEndpoint"
|
640 | produces:
|
641 | - "application/json"
|
642 | parameters:
|
643 | - in: "path"
|
644 | name: "namespace"
|
645 | description: "Namespace name"
|
646 | required: true
|
647 | type: "string"
|
648 | - in: "path"
|
649 | name: "collection"
|
650 | description: "Collection"
|
651 | required: true
|
652 | type: "string"
|
653 | - in: "path"
|
654 | name: "endpoint"
|
655 | description: "Endpoint name"
|
656 | required: true
|
657 | type: "string"
|
658 | - in: "query"
|
659 | name: "attributes"
|
660 | description: "Filter attributes"
|
661 | required: false
|
662 | type: "array"
|
663 | items:
|
664 | type: "string"
|
665 | responses:
|
666 | 200:
|
667 | description: "Endpoint"
|
668 | schema:
|
669 | $ref: "#/definitions/Endpoint"
|
670 | 404:
|
671 | description: "Resource does not exists"
|
672 | 403:
|
673 | description: "Access denied"
|
674 | delete:
|
675 | tags:
|
676 | - "endpoints"
|
677 | summary: "Delete specific endpoint"
|
678 | operationId: "deleteEndpoint"
|
679 | produces:
|
680 | - "application/json"
|
681 | parameters:
|
682 | - in: "path"
|
683 | name: "namespace"
|
684 | description: "Namespace name"
|
685 | required: true
|
686 | type: "string"
|
687 | - in: "path"
|
688 | name: "collection"
|
689 | description: "Collection"
|
690 | required: true
|
691 | type: "string"
|
692 | - in: "path"
|
693 | name: "endpoint"
|
694 | description: "Endpoint name"
|
695 | required: true
|
696 | type: "string"
|
697 | responses:
|
698 | 204:
|
699 | description: "If successful the server will respond with 204 No Content"
|
700 | 404:
|
701 | description: "Resource does not exists"
|
702 | 403:
|
703 | description: "Access denied"
|
704 | put:
|
705 | tags:
|
706 | - "endpoints"
|
707 | summary: "Create or replace endppoint"
|
708 | operationId: "replaceEndpoint"
|
709 | produces:
|
710 | - "application/json"
|
711 | parameters:
|
712 | - in: "path"
|
713 | name: "namespace"
|
714 | description: "Namespace name"
|
715 | required: true
|
716 | type: "string"
|
717 | - in: "path"
|
718 | name: "collection"
|
719 | description: "Collection"
|
720 | required: true
|
721 | type: "string"
|
722 | - in: "path"
|
723 | name: "endpoint"
|
724 | description: "Endpoint name"
|
725 | required: true
|
726 | type: "string"
|
727 | - in: body
|
728 | name: data
|
729 | schema:
|
730 | $ref: "#/definitions/Endpoint"
|
731 | responses:
|
732 | 200:
|
733 | description: "If successful the server will respond with 200 OK"
|
734 | schema:
|
735 | $ref: "#/definitions/Endpoint"
|
736 | 201:
|
737 | description: "If successful and the object was newly created the server will respond with 201 Created"
|
738 | schema:
|
739 | $ref: "#/definitions/Endpoint"
|
740 | 403:
|
741 | description: "Access denied"
|
742 | patch:
|
743 | tags:
|
744 | - "endpoints"
|
745 | summary: "Patch collection as rfc6902 request"
|
746 | description: "Update specific attributes of a endpoint"
|
747 | operationId: "updateEndpoint"
|
748 | produces:
|
749 | - "application/json"
|
750 | parameters:
|
751 | - in: "path"
|
752 | name: "namespace"
|
753 | description: "Namespace name"
|
754 | required: true
|
755 | type: "string"
|
756 | - in: "path"
|
757 | name: "collection"
|
758 | description: "Collection"
|
759 | required: true
|
760 | type: "string"
|
761 | - in: "path"
|
762 | name: "endpoint"
|
763 | description: "Endpoint name"
|
764 | required: true
|
765 | type: "string"
|
766 | - in: body
|
767 | name: data
|
768 | description: "Collection"
|
769 | schema:
|
770 | type: array
|
771 | items:
|
772 | $ref: "#/definitions/JsonPatch"
|
773 | responses:
|
774 | 200:
|
775 | description: "Endpoint"
|
776 | schema:
|
777 | $ref: "#/definitions/Endpoint"
|
778 | 404:
|
779 | description: "Resource does not exists"
|
780 | 403:
|
781 | description: "Access denied"
|
782 | /watch/namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows:
|
783 | get:
|
784 | tags:
|
785 | - "workflows"
|
786 | summary: "Watch workflows"
|
787 | description: "Watch updates in realtime"
|
788 | operationId: "watchWorkflows"
|
789 | produces:
|
790 | - "application/json;stream=watch"
|
791 | parameters:
|
792 | - in: "path"
|
793 | name: "namespace"
|
794 | description: "Namespace name"
|
795 | required: true
|
796 | type: "string"
|
797 | - in: "path"
|
798 | name: "collection"
|
799 | description: "Collection"
|
800 | required: true
|
801 | type: "string"
|
802 | - in: "path"
|
803 | name: "endpoint"
|
804 | description: "Endpoint name"
|
805 | required: true
|
806 | type: "string"
|
807 | - in: "query"
|
808 | name: "query"
|
809 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
810 | required: false
|
811 | type: "string"
|
812 | - in: "query"
|
813 | name: "attributes"
|
814 | description: "Filter attributes"
|
815 | required: false
|
816 | type: "array"
|
817 | items:
|
818 | type: "string"
|
819 | - in: "query"
|
820 | name: "offset"
|
821 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
822 | required: false
|
823 | type: "number"
|
824 | - in: "query"
|
825 | name: "limit"
|
826 | description: "Objects limit, per default 20 objects will get returned"
|
827 | required: false
|
828 | type: "number"
|
829 | - in: "query"
|
830 | name: "sort"
|
831 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
832 | required: false
|
833 | type: "string"
|
834 | responses:
|
835 | 200:
|
836 | description: "List of objects"
|
837 | 403:
|
838 | description: "Access denied"
|
839 | /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows:
|
840 | get:
|
841 | tags:
|
842 | - "workflows"
|
843 | summary: "Get endpoint workflows"
|
844 | description: "A workflow is an action how to import/export a collection and with what attribute map"
|
845 | operationId: "getWorkflows"
|
846 | produces:
|
847 | - "application/json"
|
848 | parameters:
|
849 | - in: "path"
|
850 | name: "namespace"
|
851 | description: "Namespace name"
|
852 | required: true
|
853 | type: "string"
|
854 | - in: "path"
|
855 | name: "collection"
|
856 | description: "Collection"
|
857 | required: true
|
858 | type: "string"
|
859 | - in: "path"
|
860 | name: "endpoint"
|
861 | description: "Endpoint name"
|
862 | required: true
|
863 | type: "string"
|
864 | - in: "query"
|
865 | name: "query"
|
866 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
867 | required: false
|
868 | type: "string"
|
869 | - in: "query"
|
870 | name: "attributes"
|
871 | description: "Filter attributes"
|
872 | required: false
|
873 | type: "array"
|
874 | items:
|
875 | type: "string"
|
876 | - in: "query"
|
877 | name: "offset"
|
878 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
879 | required: false
|
880 | type: "number"
|
881 | - in: "query"
|
882 | name: "limit"
|
883 | description: "Objects limit, per default 20 objects will get returned"
|
884 | required: false
|
885 | type: "number"
|
886 | - in: "query"
|
887 | name: "sort"
|
888 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
889 | required: false
|
890 | type: "string"
|
891 | responses:
|
892 | 200:
|
893 | description: "List of workflows"
|
894 | schema:
|
895 | $ref: "#/definitions/Workflows"
|
896 | 403:
|
897 | description: "Access denied"
|
898 | post:
|
899 | tags:
|
900 | - "workflows"
|
901 | summary: "Add worfklow to endpoint"
|
902 | operationId: "addWorkflow"
|
903 | produces:
|
904 | - "application/json"
|
905 | parameters:
|
906 | - in: "path"
|
907 | name: "namespace"
|
908 | description: "Namespace name"
|
909 | required: true
|
910 | type: "string"
|
911 | - in: "path"
|
912 | name: "collection"
|
913 | description: "Collection"
|
914 | required: true
|
915 | type: "string"
|
916 | - in: "path"
|
917 | name: "endpoint"
|
918 | description: "Endpoint name"
|
919 | required: true
|
920 | type: "string"
|
921 | - in: body
|
922 | name: data
|
923 | schema:
|
924 | $ref: "#/definitions/Workflow"
|
925 | responses:
|
926 | 201:
|
927 | description: "If successful the server will respond with 201 Created"
|
928 | schema:
|
929 | $ref: "#/definitions/Workflow"
|
930 | 403:
|
931 | description: "Access denied"
|
932 | 404:
|
933 | description: "Resource does not exists"
|
934 | /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows/{workflow}:
|
935 | get:
|
936 | tags:
|
937 | - "workflows"
|
938 | summary: "Get specifc endpoint workflow"
|
939 | description: "A workflow is an action how to import/export a collection and with what attribute map"
|
940 | operationId: "getWorkflow"
|
941 | produces:
|
942 | - "application/json"
|
943 | parameters:
|
944 | - in: "path"
|
945 | name: "namespace"
|
946 | description: "Namespace name"
|
947 | required: true
|
948 | type: "string"
|
949 | - in: "path"
|
950 | name: "collection"
|
951 | description: "Collection"
|
952 | required: true
|
953 | type: "string"
|
954 | - in: "path"
|
955 | name: "endpoint"
|
956 | description: "Endpoint name"
|
957 | required: true
|
958 | type: "string"
|
959 | - in: "path"
|
960 | name: "workflow"
|
961 | description: "Workflow name"
|
962 | required: true
|
963 | type: "string"
|
964 | - in: "query"
|
965 | name: "attributes"
|
966 | description: "Filter attributes"
|
967 | required: false
|
968 | type: "array"
|
969 | items:
|
970 | type: "string"
|
971 | responses:
|
972 | 200:
|
973 | description: "Workflow"
|
974 | schema:
|
975 | $ref: "#/definitions/Workflow"
|
976 | 404:
|
977 | description: "Resource does not exists"
|
978 | 403:
|
979 | description: "Access denied"
|
980 | delete:
|
981 | tags:
|
982 | - "workflows"
|
983 | summary: "Delete specific workflow from"
|
984 | operationId: "deleteWorkflow"
|
985 | produces:
|
986 | - "application/json"
|
987 | parameters:
|
988 | - in: "path"
|
989 | name: "namespace"
|
990 | description: "Namespace name"
|
991 | required: true
|
992 | type: "string"
|
993 | - in: "path"
|
994 | name: "collection"
|
995 | description: "Collection"
|
996 | required: true
|
997 | type: "string"
|
998 | - in: "path"
|
999 | name: "endpoint"
|
1000 | description: "Endpoint name"
|
1001 | required: true
|
1002 | type: "string"
|
1003 | - in: "path"
|
1004 | name: "workflow"
|
1005 | description: "Workflow name"
|
1006 | required: true
|
1007 | type: "string"
|
1008 | responses:
|
1009 | 204:
|
1010 | description: "If successful the server will respond with 204 No Content"
|
1011 | 404:
|
1012 | description: "Resource does not exists"
|
1013 | 403:
|
1014 | description: "Access denied"
|
1015 | put:
|
1016 | tags:
|
1017 | - "workflows"
|
1018 | summary: "Create or replace workflow"
|
1019 | operationId: "replaceWorkflow"
|
1020 | produces:
|
1021 | - "application/json"
|
1022 | parameters:
|
1023 | - in: "path"
|
1024 | name: "namespace"
|
1025 | description: "Namespace name"
|
1026 | required: true
|
1027 | type: "string"
|
1028 | - in: "path"
|
1029 | name: "collection"
|
1030 | description: "Collection"
|
1031 | required: true
|
1032 | type: "string"
|
1033 | - in: "path"
|
1034 | name: "endpoint"
|
1035 | description: "Endpoint name"
|
1036 | required: true
|
1037 | type: "string"
|
1038 | - in: "path"
|
1039 | name: "workflow"
|
1040 | description: "Workflow name"
|
1041 | required: true
|
1042 | type: "string"
|
1043 | - in: body
|
1044 | name: data
|
1045 | schema:
|
1046 | $ref: "#/definitions/Workflow"
|
1047 | responses:
|
1048 | 200:
|
1049 | description: "If successful the server will respond with 200 OK"
|
1050 | schema:
|
1051 | $ref: "#/definitions/Workflow"
|
1052 | 201:
|
1053 | description: "If successful and the object was newly created the server will respond with 201 Created"
|
1054 | schema:
|
1055 | $ref: "#/definitions/Workflow"
|
1056 | 403:
|
1057 | description: "Access denied"
|
1058 | patch:
|
1059 | tags:
|
1060 | - "workflows"
|
1061 | summary: "Patch workflow as rfc6902 request"
|
1062 | description: "Update specific attributes of a workflow"
|
1063 | operationId: "updateWorkflow"
|
1064 | produces:
|
1065 | - "application/json"
|
1066 | parameters:
|
1067 | - in: "path"
|
1068 | name: "namespace"
|
1069 | description: "Namespace name"
|
1070 | required: true
|
1071 | type: "string"
|
1072 | - in: "path"
|
1073 | name: "collection"
|
1074 | description: "Collection"
|
1075 | required: true
|
1076 | type: "string"
|
1077 | - in: "path"
|
1078 | name: "endpoint"
|
1079 | description: "Endpoint name"
|
1080 | required: true
|
1081 | type: "string"
|
1082 | - in: "path"
|
1083 | name: "workflow"
|
1084 | description: "Workflow name"
|
1085 | required: true
|
1086 | type: "string"
|
1087 | - in: body
|
1088 | name: data
|
1089 | description: "Workflow"
|
1090 | schema:
|
1091 | type: array
|
1092 | items:
|
1093 | $ref: "#/definitions/JsonPatch"
|
1094 | responses:
|
1095 | 200:
|
1096 | description: "Workflow"
|
1097 | schema:
|
1098 | $ref: "#/definitions/Workflow"
|
1099 | 404:
|
1100 | description: "Resource does not exists"
|
1101 | 403:
|
1102 | description: "Access denied"
|
1103 | /namespaces/{namespace}/collections/{collection}/objects/{object}:
|
1104 | get:
|
1105 | tags:
|
1106 | - "data"
|
1107 | summary: "Get specific object"
|
1108 | description: "Get an object of a specific collection"
|
1109 | operationId: "getObject"
|
1110 | produces:
|
1111 | - "application/json"
|
1112 | parameters:
|
1113 | - in: "path"
|
1114 | name: "namespace"
|
1115 | description: "Namespace name"
|
1116 | required: true
|
1117 | type: "string"
|
1118 | - in: "path"
|
1119 | name: "collection"
|
1120 | description: "Collection"
|
1121 | required: true
|
1122 | type: "string"
|
1123 | - in: "path"
|
1124 | name: "object"
|
1125 | description: "Object ID"
|
1126 | required: true
|
1127 | type: "string"
|
1128 | - in: "query"
|
1129 | name: "attributes"
|
1130 | description: "Filter attributes"
|
1131 | required: false
|
1132 | type: "array"
|
1133 | items:
|
1134 | type: "string"
|
1135 | responses:
|
1136 | 200:
|
1137 | description: "Data object"
|
1138 | 404:
|
1139 | description: "Resource does not exists"
|
1140 | 403:
|
1141 | description: "Access denied"
|
1142 | patch:
|
1143 | tags:
|
1144 | - "data"
|
1145 | summary: "Patch object as rfc6902 request"
|
1146 | description: "Update specific attributes of an object"
|
1147 | operationId: "updateObject"
|
1148 | consumes:
|
1149 | - "application/json-patch+json"
|
1150 | produces:
|
1151 | - "application/json"
|
1152 | parameters:
|
1153 | - in: "path"
|
1154 | name: "namespace"
|
1155 | description: "Namespace name"
|
1156 | required: true
|
1157 | type: "string"
|
1158 | - in: "path"
|
1159 | name: "collection"
|
1160 | description: "Collection"
|
1161 | required: true
|
1162 | type: "string"
|
1163 | - in: "path"
|
1164 | name: "object"
|
1165 | description: "Object ID"
|
1166 | required: true
|
1167 | type: "string"
|
1168 | - in: body
|
1169 | name: data
|
1170 | description: "Object"
|
1171 | schema:
|
1172 | type: array
|
1173 | items:
|
1174 | $ref: "#/definitions/JsonPatch"
|
1175 | responses:
|
1176 | 200:
|
1177 | description: "If successful the server will respond with 200 OK"
|
1178 | schema:
|
1179 | $ref: "#/definitions/DataObject"
|
1180 | 202:
|
1181 | description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
|
1182 | schema:
|
1183 | $ref: "#/definitions/Job"
|
1184 | 404:
|
1185 | description: "Resource does not exists"
|
1186 | 403:
|
1187 | description: "Access denied"
|
1188 | put:
|
1189 | tags:
|
1190 | - "data"
|
1191 | summary: "Replace or create object"
|
1192 | description: "Replace all data attributes of an object (Or create one if not exists)"
|
1193 | operationId: "replaceObject"
|
1194 | consumes:
|
1195 | - "application/json"
|
1196 | produces:
|
1197 | - "application/json"
|
1198 | parameters:
|
1199 | - in: "path"
|
1200 | name: "namespace"
|
1201 | description: "Namespace name"
|
1202 | required: true
|
1203 | type: "string"
|
1204 | - in: "path"
|
1205 | name: "collection"
|
1206 | description: "Collection"
|
1207 | required: true
|
1208 | type: "string"
|
1209 | - in: "path"
|
1210 | name: "object"
|
1211 | description: "Object ID"
|
1212 | required: true
|
1213 | type: "string"
|
1214 | - in: "query"
|
1215 | name: "write"
|
1216 | description: "If true, the objects gets synced to all configured destination endpoints"
|
1217 | required: false
|
1218 | type: "boolean"
|
1219 | - in: body
|
1220 | name: data
|
1221 | schema:
|
1222 | $ref: "#/definitions/DataObject"
|
1223 | responses:
|
1224 | 200:
|
1225 | description: "If successful the server will respond with 200 OK"
|
1226 | schema:
|
1227 | $ref: "#/definitions/DataObject"
|
1228 | 201:
|
1229 | description: "If successful and the object was newly created the server will respond with 201 Created"
|
1230 | schema:
|
1231 | $ref: "#/definitions/DataObject"
|
1232 | 202:
|
1233 | description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
|
1234 | schema:
|
1235 | $ref: "#/definitions/Job"
|
1236 | 404:
|
1237 | description: "Resource does not exists"
|
1238 | 403:
|
1239 | description: "Access denied"
|
1240 | delete:
|
1241 | tags:
|
1242 | - "data"
|
1243 | summary: "Delete object"
|
1244 | description: "Delete a specific object"
|
1245 | operationId: "deleteObject"
|
1246 | consumes:
|
1247 | - "application/json"
|
1248 | produces:
|
1249 | - "application/json"
|
1250 | parameters:
|
1251 | - in: "path"
|
1252 | name: "namespace"
|
1253 | description: "Namespace name"
|
1254 | required: true
|
1255 | type: "string"
|
1256 | - in: "path"
|
1257 | name: "collection"
|
1258 | description: "Collection"
|
1259 | required: true
|
1260 | type: "string"
|
1261 | - in: "path"
|
1262 | name: "object"
|
1263 | description: "Object ID"
|
1264 | required: true
|
1265 | type: "string"
|
1266 | responses:
|
1267 | 202:
|
1268 | description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
|
1269 | schema:
|
1270 | $ref: "#/definitions/Job"
|
1271 | 204:
|
1272 | description: "If successful the server will respond with 204 No Content"
|
1273 | 404:
|
1274 | description: "Resource does not exists"
|
1275 | 403:
|
1276 | description: "Access denied"
|
1277 | /watch/namespaces/{namespace}/collections/{collection}/objects/{object}/relatives:
|
1278 | get:
|
1279 | tags:
|
1280 | - "data"
|
1281 | summary: "Watch object relatives"
|
1282 | description: "Watch updates in realtime"
|
1283 | operationId: "watchObjectRelatives"
|
1284 | produces:
|
1285 | - "application/json;stream=watch"
|
1286 | parameters:
|
1287 | - in: "path"
|
1288 | name: "namespace"
|
1289 | description: "Namespace name"
|
1290 | required: true
|
1291 | type: "string"
|
1292 | - in: "path"
|
1293 | name: "collection"
|
1294 | description: "Collection"
|
1295 | required: true
|
1296 | type: "string"
|
1297 | - in: "path"
|
1298 | name: "object"
|
1299 | description: "Object ID"
|
1300 | required: true
|
1301 | type: "string"
|
1302 | - in: "query"
|
1303 | name: "query"
|
1304 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1305 | required: false
|
1306 | type: "string"
|
1307 | - in: "query"
|
1308 | name: "attributes"
|
1309 | description: "Filter attributes"
|
1310 | required: false
|
1311 | type: "array"
|
1312 | items:
|
1313 | type: "string"
|
1314 | - in: "query"
|
1315 | name: "offset"
|
1316 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1317 | required: false
|
1318 | type: "number"
|
1319 | - in: "query"
|
1320 | name: "limit"
|
1321 | description: "Objects limit, per default 20 objects will get returned"
|
1322 | required: false
|
1323 | type: "number"
|
1324 | - in: "query"
|
1325 | name: "sort"
|
1326 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1327 | required: false
|
1328 | type: "string"
|
1329 | responses:
|
1330 | 200:
|
1331 | description: "List of objects"
|
1332 | 403:
|
1333 | description: "Access denied"
|
1334 | /namespaces/{namespace}/collections/{collection}/objects/{object}/relatives:
|
1335 | get:
|
1336 | tags:
|
1337 | - "data"
|
1338 | summary: "Get relative objects of an object"
|
1339 | description: "Get all objects the object is related to"
|
1340 | operationId: "getObjectRelatives"
|
1341 | produces:
|
1342 | - "application/json"
|
1343 | parameters:
|
1344 | - in: "path"
|
1345 | name: "namespace"
|
1346 | description: "Namespace name"
|
1347 | required: true
|
1348 | type: "string"
|
1349 | - in: "path"
|
1350 | name: "collection"
|
1351 | description: "Collection"
|
1352 | required: true
|
1353 | type: "string"
|
1354 | - in: "path"
|
1355 | name: "object"
|
1356 | description: "Object ID"
|
1357 | required: true
|
1358 | type: "string"
|
1359 | - in: "query"
|
1360 | name: "query"
|
1361 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1362 | required: false
|
1363 | type: "string"
|
1364 | - in: "query"
|
1365 | name: "attributes"
|
1366 | description: "Filter attributes"
|
1367 | required: false
|
1368 | type: "array"
|
1369 | items:
|
1370 | type: "string"
|
1371 | - in: "query"
|
1372 | name: "offset"
|
1373 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1374 | required: false
|
1375 | type: "number"
|
1376 | - in: "query"
|
1377 | name: "limit"
|
1378 | description: "Objects limit, per default 20 objects will get returned"
|
1379 | required: false
|
1380 | type: "number"
|
1381 | - in: "query"
|
1382 | name: "sort"
|
1383 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1384 | required: false
|
1385 | type: "string"
|
1386 | responses:
|
1387 | 200:
|
1388 | description: "Object relatives"
|
1389 | schema:
|
1390 | $ref: "#/definitions/ObjectRelatives"
|
1391 | 403:
|
1392 | description: "Access denied"
|
1393 | 404:
|
1394 | description: "Resource not found"
|
1395 | post:
|
1396 | tags:
|
1397 | - "data"
|
1398 | summary: "Add new object relation to an object"
|
1399 | operationId: "addObjectRelative"
|
1400 | produces:
|
1401 | - "application/json"
|
1402 | parameters:
|
1403 | - in: "path"
|
1404 | name: "namespace"
|
1405 | description: "Namespace name"
|
1406 | required: true
|
1407 | type: "string"
|
1408 | - in: "path"
|
1409 | name: "collection"
|
1410 | description: "Collection"
|
1411 | required: true
|
1412 | type: "string"
|
1413 | - in: "path"
|
1414 | name: "object"
|
1415 | description: "Object ID"
|
1416 | required: true
|
1417 | type: "string"
|
1418 | - in: body
|
1419 | name: data
|
1420 | schema:
|
1421 | $ref: "#/definitions/ObjectRelative"
|
1422 | responses:
|
1423 | 200:
|
1424 | description: "Object relative"
|
1425 | schema:
|
1426 | $ref: "#/definitions/ObjectRelative"
|
1427 | 403:
|
1428 | description: "Access denied"
|
1429 | 404:
|
1430 | description: "Resource not found"
|
1431 | /namespaces/{namespace}/collections/{collection}/objects/{object}/relatives/{relative}:
|
1432 | get:
|
1433 | tags:
|
1434 | - "data"
|
1435 | summary: "Get single relative object of an object"
|
1436 | operationId: "getObjectRelative"
|
1437 | produces:
|
1438 | - "application/json"
|
1439 | parameters:
|
1440 | - in: "path"
|
1441 | name: "namespace"
|
1442 | description: "Namespace name"
|
1443 | required: true
|
1444 | type: "string"
|
1445 | - in: "path"
|
1446 | name: "collection"
|
1447 | description: "Collection"
|
1448 | required: true
|
1449 | type: "string"
|
1450 | - in: "path"
|
1451 | name: "object"
|
1452 | description: "Object ID"
|
1453 | required: true
|
1454 | type: "string"
|
1455 | - in: "path"
|
1456 | name: "relative"
|
1457 | description: "Object ID"
|
1458 | required: true
|
1459 | type: "string"
|
1460 | responses:
|
1461 | 200:
|
1462 | description: "Object relative"
|
1463 | schema:
|
1464 | $ref: "#/definitions/ObjectRelative"
|
1465 | 403:
|
1466 | description: "Access denied"
|
1467 | 404:
|
1468 | description: "Resource not found"
|
1469 | put:
|
1470 | tags:
|
1471 | - "data"
|
1472 | summary: "Update object relation"
|
1473 | operationId: "updateObjectRelative"
|
1474 | produces:
|
1475 | - "application/json"
|
1476 | parameters:
|
1477 | - in: "path"
|
1478 | name: "namespace"
|
1479 | description: "Namespace name"
|
1480 | required: true
|
1481 | type: "string"
|
1482 | - in: "path"
|
1483 | name: "collection"
|
1484 | description: "Collection"
|
1485 | required: true
|
1486 | type: "string"
|
1487 | - in: "path"
|
1488 | name: "object"
|
1489 | description: "Object ID"
|
1490 | required: true
|
1491 | type: "string"
|
1492 | - in: "path"
|
1493 | name: "relative"
|
1494 | description: "Object ID"
|
1495 | required: true
|
1496 | type: "string"
|
1497 | - in: body
|
1498 | name: data
|
1499 | schema:
|
1500 | $ref: "#/definitions/ObjectRelative"
|
1501 | responses:
|
1502 | 200:
|
1503 | description: "Object relative"
|
1504 | schema:
|
1505 | $ref: "#/definitions/ObjectRelative"
|
1506 | 403:
|
1507 | description: "Access denied"
|
1508 | 404:
|
1509 | description: "Resource not found"
|
1510 | delete:
|
1511 | tags:
|
1512 | - "data"
|
1513 | summary: "Delete object relation"
|
1514 | operationId: "deleteObjectRelative"
|
1515 | produces:
|
1516 | - "application/json"
|
1517 | parameters:
|
1518 | - in: "path"
|
1519 | name: "namespace"
|
1520 | description: "Namespace name"
|
1521 | required: true
|
1522 | type: "string"
|
1523 | - in: "path"
|
1524 | name: "collection"
|
1525 | description: "Collection"
|
1526 | required: true
|
1527 | type: "string"
|
1528 | - in: "path"
|
1529 | name: "object"
|
1530 | description: "Object ID"
|
1531 | required: true
|
1532 | type: "string"
|
1533 | - in: "path"
|
1534 | name: "relative"
|
1535 | description: "Object ID"
|
1536 | required: true
|
1537 | type: "string"
|
1538 | responses:
|
1539 | 204:
|
1540 | description: "No body if successfully deleted"
|
1541 | 403:
|
1542 | description: "Access denied"
|
1543 | 404:
|
1544 | description: "Resource not found"
|
1545 | /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/objects:
|
1546 | get:
|
1547 | tags:
|
1548 | - "data"
|
1549 | summary: "Get objects from endpoint"
|
1550 | description: "An endpoint is either of type source or destination and defines an import/export destination"
|
1551 | operationId: "getEndpointObjects"
|
1552 | produces:
|
1553 | - "application/json"
|
1554 | parameters:
|
1555 | - in: "path"
|
1556 | name: "namespace"
|
1557 | description: "Namespace name"
|
1558 | required: true
|
1559 | type: "string"
|
1560 | - in: "path"
|
1561 | name: "collection"
|
1562 | description: "Collection"
|
1563 | required: true
|
1564 | type: "string"
|
1565 | - in: "path"
|
1566 | name: "endpoint"
|
1567 | description: "Endpoint"
|
1568 | required: true
|
1569 | type: "string"
|
1570 | - in: "query"
|
1571 | name: "query"
|
1572 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1573 | required: false
|
1574 | type: "string"
|
1575 | - in: "query"
|
1576 | name: "attributes"
|
1577 | description: "Filter attributes"
|
1578 | required: false
|
1579 | type: "array"
|
1580 | items:
|
1581 | type: "string"
|
1582 | - in: "query"
|
1583 | name: "offset"
|
1584 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1585 | required: false
|
1586 | type: "number"
|
1587 | - in: "query"
|
1588 | name: "limit"
|
1589 | description: "Objects limit, per default 20 objects will get returned"
|
1590 | required: false
|
1591 | type: "number"
|
1592 | - in: "query"
|
1593 | name: "sort"
|
1594 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1595 | required: false
|
1596 | type: "string"
|
1597 | responses:
|
1598 | 200:
|
1599 | description: "List of objects"
|
1600 | schema:
|
1601 | $ref: "#/definitions/EndpointObjects"
|
1602 | 404:
|
1603 | description: "Resource does not exists"
|
1604 | 403:
|
1605 | description: "Access denied"
|
1606 | /namespaces/{namespace}/collections/{collection}/objects/{object}/history:
|
1607 | get:
|
1608 | tags:
|
1609 | - "data"
|
1610 | summary: "Get object history"
|
1611 | description: "Get the history of all modifications from a specific object"
|
1612 | operationId: "getObjectHistory"
|
1613 | produces:
|
1614 | - "application/json"
|
1615 | parameters:
|
1616 | - in: "path"
|
1617 | name: "namespace"
|
1618 | description: "Namespace name"
|
1619 | required: true
|
1620 | type: "string"
|
1621 | - in: "path"
|
1622 | name: "collection"
|
1623 | description: "Collection"
|
1624 | required: true
|
1625 | type: "string"
|
1626 | - in: "path"
|
1627 | name: "object"
|
1628 | description: "Object ID"
|
1629 | required: true
|
1630 | type: "string"
|
1631 | - in: "query"
|
1632 | name: "query"
|
1633 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1634 | required: false
|
1635 | type: "string"
|
1636 | - in: "query"
|
1637 | name: "attributes"
|
1638 | description: "Filter attributes"
|
1639 | required: false
|
1640 | type: "array"
|
1641 | items:
|
1642 | type: "string"
|
1643 | - in: "query"
|
1644 | name: "offset"
|
1645 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1646 | required: false
|
1647 | type: "number"
|
1648 | - in: "query"
|
1649 | name: "limit"
|
1650 | description: "Objects limit, per default 20 objects will get returned"
|
1651 | required: false
|
1652 | type: "number"
|
1653 | - in: "query"
|
1654 | name: "sort"
|
1655 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1656 | required: false
|
1657 | type: "string"
|
1658 | responses:
|
1659 | 200:
|
1660 | description: "Object history"
|
1661 | schema:
|
1662 | $ref: "#/definitions/DataObjects"
|
1663 | 404:
|
1664 | description: "Resource does not exists"
|
1665 | 403:
|
1666 | description: "Access denied"
|
1667 | /watch/namespaces/{namespace}/collections/{collection}/objects:
|
1668 | get:
|
1669 | tags:
|
1670 | - "data"
|
1671 | summary: "Watch objects"
|
1672 | description: "Watch updates in realtime"
|
1673 | operationId: "watchObjects"
|
1674 | produces:
|
1675 | - "application/json;stream=watch"
|
1676 | parameters:
|
1677 | - in: "path"
|
1678 | name: "namespace"
|
1679 | description: "Namespace name"
|
1680 | required: true
|
1681 | type: "string"
|
1682 | - in: "path"
|
1683 | name: "collection"
|
1684 | description: "Collection"
|
1685 | required: true
|
1686 | type: "string"
|
1687 | - in: "query"
|
1688 | name: "query"
|
1689 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1690 | required: false
|
1691 | type: "string"
|
1692 | - in: "query"
|
1693 | name: "attributes"
|
1694 | description: "Filter attributes"
|
1695 | required: false
|
1696 | type: "array"
|
1697 | items:
|
1698 | type: "string"
|
1699 | - in: "query"
|
1700 | name: "offset"
|
1701 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1702 | required: false
|
1703 | type: "number"
|
1704 | - in: "query"
|
1705 | name: "limit"
|
1706 | description: "Objects limit, per default 20 objects will get returned"
|
1707 | required: false
|
1708 | type: "number"
|
1709 | - in: "query"
|
1710 | name: "sort"
|
1711 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1712 | required: false
|
1713 | type: "string"
|
1714 | responses:
|
1715 | 200:
|
1716 | description: "List of objects"
|
1717 | 403:
|
1718 | description: "Access denied"
|
1719 | /namespaces/{namespace}/collections/{collection}/objects:
|
1720 | get:
|
1721 | tags:
|
1722 | - "data"
|
1723 | summary: "Get objects of a specific collection"
|
1724 | description: "A object is a data object from a specifc collection"
|
1725 | operationId: "getObjects"
|
1726 | produces:
|
1727 | - "application/json"
|
1728 | parameters:
|
1729 | - in: "path"
|
1730 | name: "namespace"
|
1731 | description: "Namespace name"
|
1732 | required: true
|
1733 | type: "string"
|
1734 | - in: "path"
|
1735 | name: "collection"
|
1736 | description: "Collection"
|
1737 | required: true
|
1738 | type: "string"
|
1739 | - in: "query"
|
1740 | name: "query"
|
1741 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1742 | required: false
|
1743 | type: "string"
|
1744 | - in: "query"
|
1745 | name: "attributes"
|
1746 | description: "Filter attributes"
|
1747 | required: false
|
1748 | type: "array"
|
1749 | items:
|
1750 | type: "string"
|
1751 | - in: "query"
|
1752 | name: "offset"
|
1753 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1754 | required: false
|
1755 | type: "number"
|
1756 | - in: "query"
|
1757 | name: "limit"
|
1758 | description: "Objects limit, per default 20 objects will get returned"
|
1759 | required: false
|
1760 | type: "number"
|
1761 | - in: "query"
|
1762 | name: "sort"
|
1763 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1764 | required: false
|
1765 | type: "string"
|
1766 | responses:
|
1767 | 200:
|
1768 | description: "List of objects"
|
1769 | schema:
|
1770 | $ref: "#/definitions/DataObjects"
|
1771 | 404:
|
1772 | description: "Resource does not exists"
|
1773 | 403:
|
1774 | description: "Access denied"
|
1775 | post:
|
1776 | tags:
|
1777 | - "data"
|
1778 | summary: "Add a new object of a specifc collection"
|
1779 | operationId: "addObject"
|
1780 | consumes:
|
1781 | - "application/json"
|
1782 | produces:
|
1783 | - "application/json"
|
1784 | parameters:
|
1785 | - in: "path"
|
1786 | name: "namespace"
|
1787 | description: "Namespace name"
|
1788 | required: true
|
1789 | type: "string"
|
1790 | - in: "path"
|
1791 | name: "collection"
|
1792 | description: "Collection"
|
1793 | required: true
|
1794 | type: "string"
|
1795 | - in: body
|
1796 | name: data
|
1797 | schema:
|
1798 | $ref: "#/definitions/DataObject"
|
1799 | responses:
|
1800 | 201:
|
1801 | description: "If successful the server will respond with 201 Created"
|
1802 | schema:
|
1803 | $ref: "#/definitions/DataObject"
|
1804 | 202:
|
1805 | description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
|
1806 | schema:
|
1807 | $ref: "#/definitions/Job"
|
1808 | 404:
|
1809 | description: "Resource does not exists"
|
1810 | 403:
|
1811 | description: "Access denied"
|
1812 | /watch/secrets:
|
1813 | get:
|
1814 | tags:
|
1815 | - "secrets"
|
1816 | summary: "Watch secrets"
|
1817 | description: "Watch updates in realtime"
|
1818 | operationId: "watchSecrets"
|
1819 | produces:
|
1820 | - "application/json;stream=watch"
|
1821 | parameters:
|
1822 | - in: "query"
|
1823 | name: "query"
|
1824 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1825 | required: false
|
1826 | type: "string"
|
1827 | - in: "query"
|
1828 | name: "attributes"
|
1829 | description: "Filter attributes"
|
1830 | required: false
|
1831 | type: "array"
|
1832 | items:
|
1833 | type: "string"
|
1834 | - in: "query"
|
1835 | name: "offset"
|
1836 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1837 | required: false
|
1838 | type: "number"
|
1839 | - in: "query"
|
1840 | name: "limit"
|
1841 | description: "Objects limit, per default 20 objects will get returned"
|
1842 | required: false
|
1843 | type: "number"
|
1844 | - in: "query"
|
1845 | name: "sort"
|
1846 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1847 | required: false
|
1848 | type: "string"
|
1849 | responses:
|
1850 | 200:
|
1851 | description: "List of secrets"
|
1852 | 403:
|
1853 | description: "Access denied"
|
1854 | /secrets:
|
1855 | get:
|
1856 | tags:
|
1857 | - "secrets"
|
1858 | summary: "Get secrets"
|
1859 | description: "An secret defines what role is granted access to what resource"
|
1860 | operationId: "getSecrets"
|
1861 | produces:
|
1862 | - "application/json"
|
1863 | parameters:
|
1864 | - in: "query"
|
1865 | name: "query"
|
1866 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
1867 | required: false
|
1868 | type: "string"
|
1869 | - in: "query"
|
1870 | name: "attributes"
|
1871 | description: "Filter attributes"
|
1872 | required: false
|
1873 | type: "array"
|
1874 | items:
|
1875 | type: "string"
|
1876 | - in: "query"
|
1877 | name: "offset"
|
1878 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
1879 | required: false
|
1880 | type: "number"
|
1881 | - in: "query"
|
1882 | name: "limit"
|
1883 | description: "Objects limit, per default 20 objects will get returned"
|
1884 | required: false
|
1885 | type: "number"
|
1886 | - in: "query"
|
1887 | name: "sort"
|
1888 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
1889 | required: false
|
1890 | type: "string"
|
1891 | responses:
|
1892 | 200:
|
1893 | description: "List of secrets"
|
1894 | schema:
|
1895 | $ref: "#/definitions/Secrets"
|
1896 | 403:
|
1897 | description: "Access denied"
|
1898 | post:
|
1899 | tags:
|
1900 | - "secrets"
|
1901 | summary: "Create a new secret"
|
1902 | operationId: "addSecret"
|
1903 | produces:
|
1904 | - "application/json"
|
1905 | parameters:
|
1906 | - in: body
|
1907 | name: data
|
1908 | schema:
|
1909 | $ref: "#/definitions/Secret"
|
1910 | responses:
|
1911 | 201:
|
1912 | description: "The created secret"
|
1913 | schema:
|
1914 | $ref: "#/definitions/Secret"
|
1915 | 403:
|
1916 | description: "Access denied"
|
1917 | /secrets/{secret}:
|
1918 | get:
|
1919 | tags:
|
1920 | - "secrets"
|
1921 | summary: "Get secret by name"
|
1922 | operationId: "getSecret"
|
1923 | produces:
|
1924 | - "application/json"
|
1925 | parameters:
|
1926 | - in: "path"
|
1927 | name: "secret"
|
1928 | description: "secret name"
|
1929 | required: true
|
1930 | type: "string"
|
1931 | responses:
|
1932 | 200:
|
1933 | description: "secret"
|
1934 | schema:
|
1935 | $ref: "#/definitions/Secret"
|
1936 | 404:
|
1937 | description: "secret does not exists"
|
1938 | 403:
|
1939 | description: "Access denied"
|
1940 | patch:
|
1941 | tags:
|
1942 | - "secrets"
|
1943 | summary: "Patch secret as rfc6902 request"
|
1944 | operationId: "updateSecret"
|
1945 | consumes:
|
1946 | - "application/json-patch+json"
|
1947 | produces:
|
1948 | - "application/json"
|
1949 | parameters:
|
1950 | - in: "path"
|
1951 | name: "secret"
|
1952 | description: "secret name"
|
1953 | required: true
|
1954 | type: "string"
|
1955 | - in: body
|
1956 | name: "job"
|
1957 | description: "secret json patch"
|
1958 | schema:
|
1959 | type: array
|
1960 | items:
|
1961 | $ref: "#/definitions/JsonPatch"
|
1962 | responses:
|
1963 | 200:
|
1964 | description: "The updated secret"
|
1965 | schema:
|
1966 | $ref: "#/definitions/Secret"
|
1967 | 403:
|
1968 | description: "Access denied"
|
1969 | put:
|
1970 | tags:
|
1971 | - "secrets"
|
1972 | summary: "Create or replace an secret"
|
1973 | operationId: "replaceSecret"
|
1974 | produces:
|
1975 | - "application/json"
|
1976 | parameters:
|
1977 | - in: "path"
|
1978 | name: "secret"
|
1979 | description: "secret name"
|
1980 | required: true
|
1981 | type: "string"
|
1982 | - in: body
|
1983 | name: data
|
1984 | schema:
|
1985 | $ref: "#/definitions/Secret"
|
1986 | responses:
|
1987 | 201:
|
1988 | description: "The created secret"
|
1989 | schema:
|
1990 | $ref: "#/definitions/Secret"
|
1991 | 403:
|
1992 | description: "Access denied"
|
1993 | delete:
|
1994 | tags:
|
1995 | - "secrets"
|
1996 | summary: "Delete secret by name"
|
1997 | operationId: "deleteSecret"
|
1998 | produces:
|
1999 | - "application/json"
|
2000 | parameters:
|
2001 | - in: "path"
|
2002 | name: "secret"
|
2003 | description: "secret name"
|
2004 | required: true
|
2005 | type: "string"
|
2006 | responses:
|
2007 | 204:
|
2008 | description: "Server responds with 204 No Content if secret removal was successful"
|
2009 | 404:
|
2010 | description: "secret does not exists"
|
2011 | 403:
|
2012 | description: "Access denied"
|
2013 | /watch/users:
|
2014 | get:
|
2015 | tags:
|
2016 | - "users"
|
2017 | summary: "Watch users"
|
2018 | description: "Watch updates in realtime"
|
2019 | operationId: "watchUsers"
|
2020 | produces:
|
2021 | - "application/json;stream=watch"
|
2022 | parameters:
|
2023 | - in: "query"
|
2024 | name: "query"
|
2025 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2026 | required: false
|
2027 | type: "string"
|
2028 | - in: "query"
|
2029 | name: "attributes"
|
2030 | description: "Filter attributes"
|
2031 | required: false
|
2032 | type: "array"
|
2033 | items:
|
2034 | type: "string"
|
2035 | - in: "query"
|
2036 | name: "offset"
|
2037 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2038 | required: false
|
2039 | type: "number"
|
2040 | - in: "query"
|
2041 | name: "limit"
|
2042 | description: "Objects limit, per default 20 objects will get returned"
|
2043 | required: false
|
2044 | type: "number"
|
2045 | - in: "query"
|
2046 | name: "sort"
|
2047 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2048 | required: false
|
2049 | type: "string"
|
2050 | responses:
|
2051 | 200:
|
2052 | description: "List of users"
|
2053 | 403:
|
2054 | description: "Access denied"
|
2055 | /users:
|
2056 | get:
|
2057 | tags:
|
2058 | - "users"
|
2059 | summary: "Get users"
|
2060 | description: "An User defines what role is granted access to what resource"
|
2061 | operationId: "getUsers"
|
2062 | produces:
|
2063 | - "application/json"
|
2064 | parameters:
|
2065 | - in: "query"
|
2066 | name: "query"
|
2067 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2068 | required: false
|
2069 | type: "string"
|
2070 | - in: "query"
|
2071 | name: "attributes"
|
2072 | description: "Filter attributes"
|
2073 | required: false
|
2074 | type: "array"
|
2075 | items:
|
2076 | type: "string"
|
2077 | - in: "query"
|
2078 | name: "offset"
|
2079 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2080 | required: false
|
2081 | type: "number"
|
2082 | - in: "query"
|
2083 | name: "limit"
|
2084 | description: "Objects limit, per default 20 objects will get returned"
|
2085 | required: false
|
2086 | type: "number"
|
2087 | - in: "query"
|
2088 | name: "sort"
|
2089 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2090 | required: false
|
2091 | type: "string"
|
2092 | responses:
|
2093 | 200:
|
2094 | description: "List of users"
|
2095 | schema:
|
2096 | $ref: "#/definitions/Users"
|
2097 | 403:
|
2098 | description: "Access denied"
|
2099 | post:
|
2100 | tags:
|
2101 | - "users"
|
2102 | summary: "Create a new User"
|
2103 | operationId: "addUser"
|
2104 | produces:
|
2105 | - "application/json"
|
2106 | parameters:
|
2107 | - in: body
|
2108 | name: data
|
2109 | schema:
|
2110 | $ref: "#/definitions/User"
|
2111 | responses:
|
2112 | 201:
|
2113 | description: "The created User"
|
2114 | schema:
|
2115 | $ref: "#/definitions/User"
|
2116 | 403:
|
2117 | description: "Access denied"
|
2118 | /users/{User}:
|
2119 | get:
|
2120 | tags:
|
2121 | - "users"
|
2122 | summary: "Get User by name"
|
2123 | operationId: "getUser"
|
2124 | produces:
|
2125 | - "application/json"
|
2126 | parameters:
|
2127 | - in: "path"
|
2128 | name: "User"
|
2129 | description: "User name"
|
2130 | required: true
|
2131 | type: "string"
|
2132 | responses:
|
2133 | 200:
|
2134 | description: "User"
|
2135 | schema:
|
2136 | $ref: "#/definitions/User"
|
2137 | 404:
|
2138 | description: "User does not exists"
|
2139 | 403:
|
2140 | description: "Access denied"
|
2141 | patch:
|
2142 | tags:
|
2143 | - "users"
|
2144 | summary: "Patch User as rfc6902 request"
|
2145 | operationId: "updateUser"
|
2146 | consumes:
|
2147 | - "application/json-patch+json"
|
2148 | produces:
|
2149 | - "application/json"
|
2150 | parameters:
|
2151 | - in: "path"
|
2152 | name: "User"
|
2153 | description: "User name"
|
2154 | required: true
|
2155 | type: "string"
|
2156 | - in: body
|
2157 | name: "job"
|
2158 | description: "User json patch"
|
2159 | schema:
|
2160 | type: array
|
2161 | items:
|
2162 | $ref: "#/definitions/JsonPatch"
|
2163 | responses:
|
2164 | 200:
|
2165 | description: "The updated User"
|
2166 | schema:
|
2167 | $ref: "#/definitions/User"
|
2168 | 403:
|
2169 | description: "Access denied"
|
2170 | put:
|
2171 | tags:
|
2172 | - "users"
|
2173 | summary: "Create or replace an User"
|
2174 | operationId: "replaceUser"
|
2175 | produces:
|
2176 | - "application/json"
|
2177 | parameters:
|
2178 | - in: "path"
|
2179 | name: "User"
|
2180 | description: "User name"
|
2181 | required: true
|
2182 | type: "string"
|
2183 | - in: body
|
2184 | name: data
|
2185 | schema:
|
2186 | $ref: "#/definitions/User"
|
2187 | responses:
|
2188 | 201:
|
2189 | description: "The created User"
|
2190 | schema:
|
2191 | $ref: "#/definitions/User"
|
2192 | 403:
|
2193 | description: "Access denied"
|
2194 | delete:
|
2195 | tags:
|
2196 | - "users"
|
2197 | summary: "Delete User by name"
|
2198 | operationId: "deleteUser"
|
2199 | produces:
|
2200 | - "application/json"
|
2201 | parameters:
|
2202 | - in: "path"
|
2203 | name: "User"
|
2204 | description: "User name"
|
2205 | required: true
|
2206 | type: "string"
|
2207 | responses:
|
2208 | 204:
|
2209 | description: "Server responds with 204 No Content if User removal was successful"
|
2210 | 404:
|
2211 | description: "User does not exists"
|
2212 | 403:
|
2213 | description: "Access denied"
|
2214 | /watch/access-rules:
|
2215 | get:
|
2216 | tags:
|
2217 | - "access-rules"
|
2218 | summary: "Watch access rules"
|
2219 | description: "Watch updates in realtime"
|
2220 | operationId: "watchAccessRules"
|
2221 | produces:
|
2222 | - "application/json;stream=watch"
|
2223 | parameters:
|
2224 | - in: "query"
|
2225 | name: "query"
|
2226 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2227 | required: false
|
2228 | type: "string"
|
2229 | - in: "query"
|
2230 | name: "attributes"
|
2231 | description: "Filter attributes"
|
2232 | required: false
|
2233 | type: "array"
|
2234 | items:
|
2235 | type: "string"
|
2236 | - in: "query"
|
2237 | name: "offset"
|
2238 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2239 | required: false
|
2240 | type: "number"
|
2241 | - in: "query"
|
2242 | name: "limit"
|
2243 | description: "Objects limit, per default 20 objects will get returned"
|
2244 | required: false
|
2245 | type: "number"
|
2246 | - in: "query"
|
2247 | name: "sort"
|
2248 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2249 | required: false
|
2250 | type: "string"
|
2251 | responses:
|
2252 | 200:
|
2253 | description: "List of access rules"
|
2254 | 403:
|
2255 | description: "Access denied"
|
2256 | /access-rules:
|
2257 | get:
|
2258 | tags:
|
2259 | - "access-rules"
|
2260 | summary: "Get access rules"
|
2261 | description: "An access rule defines what role is granted access to what resource"
|
2262 | operationId: "getAccessRules"
|
2263 | produces:
|
2264 | - "application/json"
|
2265 | parameters:
|
2266 | - in: "query"
|
2267 | name: "query"
|
2268 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2269 | required: false
|
2270 | type: "string"
|
2271 | - in: "query"
|
2272 | name: "attributes"
|
2273 | description: "Filter attributes"
|
2274 | required: false
|
2275 | type: "array"
|
2276 | items:
|
2277 | type: "string"
|
2278 | - in: "query"
|
2279 | name: "offset"
|
2280 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2281 | required: false
|
2282 | type: "number"
|
2283 | - in: "query"
|
2284 | name: "limit"
|
2285 | description: "Objects limit, per default 20 objects will get returned"
|
2286 | required: false
|
2287 | type: "number"
|
2288 | - in: "query"
|
2289 | name: "sort"
|
2290 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2291 | required: false
|
2292 | type: "string"
|
2293 | responses:
|
2294 | 200:
|
2295 | description: "List of access rules"
|
2296 | schema:
|
2297 | $ref: "#/definitions/AccessRules"
|
2298 | 403:
|
2299 | description: "Access denied"
|
2300 | post:
|
2301 | tags:
|
2302 | - "access-rules"
|
2303 | summary: "Create a new access rule"
|
2304 | operationId: "addAccessRule"
|
2305 | produces:
|
2306 | - "application/json"
|
2307 | parameters:
|
2308 | - in: body
|
2309 | name: data
|
2310 | schema:
|
2311 | $ref: "#/definitions/AccessRule"
|
2312 | responses:
|
2313 | 201:
|
2314 | description: "The created access rule"
|
2315 | schema:
|
2316 | $ref: "#/definitions/AccessRule"
|
2317 | 403:
|
2318 | description: "Access denied"
|
2319 | /access-rules/{access-rule}:
|
2320 | get:
|
2321 | tags:
|
2322 | - "access-rules"
|
2323 | summary: "Get access rule by name"
|
2324 | operationId: "getAccessRule"
|
2325 | produces:
|
2326 | - "application/json"
|
2327 | parameters:
|
2328 | - in: "path"
|
2329 | name: "access-rule"
|
2330 | description: "Access rule name"
|
2331 | required: true
|
2332 | type: "string"
|
2333 | responses:
|
2334 | 200:
|
2335 | description: "Acccess rule"
|
2336 | schema:
|
2337 | $ref: "#/definitions/AccessRule"
|
2338 | 404:
|
2339 | description: "access rule does not exists"
|
2340 | 403:
|
2341 | description: "Access denied"
|
2342 | patch:
|
2343 | tags:
|
2344 | - "access-rules"
|
2345 | summary: "Patch access rule as rfc6902 request"
|
2346 | operationId: "updateAccessRule"
|
2347 | consumes:
|
2348 | - "application/json-patch+json"
|
2349 | produces:
|
2350 | - "application/json"
|
2351 | parameters:
|
2352 | - in: "path"
|
2353 | name: "access-rule"
|
2354 | description: "Access rule name"
|
2355 | required: true
|
2356 | type: "string"
|
2357 | - in: body
|
2358 | name: "job"
|
2359 | description: "Access rule json patch"
|
2360 | schema:
|
2361 | type: array
|
2362 | items:
|
2363 | $ref: "#/definitions/JsonPatch"
|
2364 | responses:
|
2365 | 200:
|
2366 | description: "The updated access rule"
|
2367 | schema:
|
2368 | $ref: "#/definitions/AccessRule"
|
2369 | 403:
|
2370 | description: "Access denied"
|
2371 | put:
|
2372 | tags:
|
2373 | - "access-rules"
|
2374 | summary: "Create or replace an access rule"
|
2375 | operationId: "replaceAccessRule"
|
2376 | produces:
|
2377 | - "application/json"
|
2378 | parameters:
|
2379 | - in: "path"
|
2380 | name: "access-rule"
|
2381 | description: "Access rule name"
|
2382 | required: true
|
2383 | type: "string"
|
2384 | - in: body
|
2385 | name: data
|
2386 | schema:
|
2387 | $ref: "#/definitions/AccessRule"
|
2388 | responses:
|
2389 | 201:
|
2390 | description: "The created access rule"
|
2391 | schema:
|
2392 | $ref: "#/definitions/AccessRule"
|
2393 | 403:
|
2394 | description: "Access denied"
|
2395 | delete:
|
2396 | tags:
|
2397 | - "access-rules"
|
2398 | summary: "Delete access-rule by name"
|
2399 | operationId: "deleteAccessRule"
|
2400 | produces:
|
2401 | - "application/json"
|
2402 | parameters:
|
2403 | - in: "path"
|
2404 | name: "access-rule"
|
2405 | description: "Access rule name"
|
2406 | required: true
|
2407 | type: "string"
|
2408 | responses:
|
2409 | 204:
|
2410 | description: "Server responds with 204 No Content if access rule removal was successful"
|
2411 | 404:
|
2412 | description: "Access rule does not exists"
|
2413 | 403:
|
2414 | description: "Access denied"
|
2415 | /watch/access-roles:
|
2416 | get:
|
2417 | tags:
|
2418 | - "access-roles"
|
2419 | summary: "Watch access roles"
|
2420 | description: "Watch updates in realtime"
|
2421 | operationId: "watchAccessRoles"
|
2422 | produces:
|
2423 | - "application/json;stream=watch"
|
2424 | parameters:
|
2425 | - in: "query"
|
2426 | name: "query"
|
2427 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2428 | required: false
|
2429 | type: "string"
|
2430 | - in: "query"
|
2431 | name: "attributes"
|
2432 | description: "Filter attributes"
|
2433 | required: false
|
2434 | type: "array"
|
2435 | items:
|
2436 | type: "string"
|
2437 | - in: "query"
|
2438 | name: "offset"
|
2439 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2440 | required: false
|
2441 | type: "number"
|
2442 | - in: "query"
|
2443 | name: "limit"
|
2444 | description: "Objects limit, per default 20 objects will get returned"
|
2445 | required: false
|
2446 | type: "number"
|
2447 | - in: "query"
|
2448 | name: "sort"
|
2449 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2450 | required: false
|
2451 | type: "string"
|
2452 | responses:
|
2453 | 200:
|
2454 | description: "List of access roles"
|
2455 | 403:
|
2456 | description: "Access denied"
|
2457 | /access-roles:
|
2458 | get:
|
2459 | tags:
|
2460 | - "access-roles"
|
2461 | summary: "Get access roles"
|
2462 | description: "An access role defines what role is granted access to what resource"
|
2463 | operationId: "getAccessRoles"
|
2464 | produces:
|
2465 | - "application/json"
|
2466 | parameters:
|
2467 | - in: "query"
|
2468 | name: "query"
|
2469 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2470 | required: false
|
2471 | type: "string"
|
2472 | - in: "query"
|
2473 | name: "attributes"
|
2474 | description: "Filter attributes"
|
2475 | required: false
|
2476 | type: "array"
|
2477 | items:
|
2478 | type: "string"
|
2479 | - in: "query"
|
2480 | name: "offset"
|
2481 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2482 | required: false
|
2483 | type: "number"
|
2484 | - in: "query"
|
2485 | name: "limit"
|
2486 | description: "Objects limit, per default 20 objects will get returned"
|
2487 | required: false
|
2488 | type: "number"
|
2489 | - in: "query"
|
2490 | name: "sort"
|
2491 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2492 | required: false
|
2493 | type: "string"
|
2494 | responses:
|
2495 | 200:
|
2496 | description: "List of access roles"
|
2497 | schema:
|
2498 | $ref: "#/definitions/AccessRoles"
|
2499 | 403:
|
2500 | description: "Access denied"
|
2501 | post:
|
2502 | tags:
|
2503 | - "access-roles"
|
2504 | summary: "Create a new access role"
|
2505 | operationId: "addAccessRole"
|
2506 | produces:
|
2507 | - "application/json"
|
2508 | parameters:
|
2509 | - in: body
|
2510 | name: data
|
2511 | schema:
|
2512 | $ref: "#/definitions/AccessRole"
|
2513 | responses:
|
2514 | 201:
|
2515 | description: "The created access role"
|
2516 | schema:
|
2517 | $ref: "#/definitions/AccessRole"
|
2518 | 403:
|
2519 | description: "Access denied"
|
2520 | /access-roles/{access-role}:
|
2521 | get:
|
2522 | tags:
|
2523 | - "access-roles"
|
2524 | summary: "Get access role by name"
|
2525 | operationId: "getAccessRole"
|
2526 | produces:
|
2527 | - "application/json"
|
2528 | parameters:
|
2529 | - in: "path"
|
2530 | name: "access-role"
|
2531 | description: "Access role name"
|
2532 | required: true
|
2533 | type: "string"
|
2534 | responses:
|
2535 | 200:
|
2536 | description: "Acccess role"
|
2537 | schema:
|
2538 | $ref: "#/definitions/AccessRole"
|
2539 | 404:
|
2540 | description: "access role does not exists"
|
2541 | 403:
|
2542 | description: "Access denied"
|
2543 | patch:
|
2544 | tags:
|
2545 | - "access-roles"
|
2546 | summary: "Patch access role as rfc6902 request"
|
2547 | operationId: "updateAccessRole"
|
2548 | consumes:
|
2549 | - "application/json-patch+json"
|
2550 | produces:
|
2551 | - "application/json"
|
2552 | parameters:
|
2553 | - in: "path"
|
2554 | name: "access-role"
|
2555 | description: "Access role name"
|
2556 | required: true
|
2557 | type: "string"
|
2558 | - in: body
|
2559 | name: "job"
|
2560 | description: "Access role json patch"
|
2561 | schema:
|
2562 | type: array
|
2563 | items:
|
2564 | $ref: "#/definitions/JsonPatch"
|
2565 | responses:
|
2566 | 200:
|
2567 | description: "The updated access role"
|
2568 | schema:
|
2569 | $ref: "#/definitions/AccessRole"
|
2570 | 403:
|
2571 | description: "Access denied"
|
2572 | put:
|
2573 | tags:
|
2574 | - "access-roles"
|
2575 | summary: "Create or replace an access role"
|
2576 | operationId: "replaceAccessRole"
|
2577 | consumes:
|
2578 | - "application/json"
|
2579 | produces:
|
2580 | - "application/json"
|
2581 | parameters:
|
2582 | - in: "path"
|
2583 | name: "access-role"
|
2584 | description: "Access role name"
|
2585 | required: true
|
2586 | type: "string"
|
2587 | - in: body
|
2588 | name: data
|
2589 | schema:
|
2590 | $ref: "#/definitions/AccessRole"
|
2591 | responses:
|
2592 | 200:
|
2593 | description: "The updated access role"
|
2594 | schema:
|
2595 | $ref: "#/definitions/AccessRole"
|
2596 | 201:
|
2597 | description: "The created access role if it did not exists yet"
|
2598 | schema:
|
2599 | $ref: "#/definitions/AccessRole"
|
2600 | 403:
|
2601 | description: "Access denied"
|
2602 | delete:
|
2603 | tags:
|
2604 | - "access-roles"
|
2605 | summary: "Delete access-role by name"
|
2606 | operationId: "deleteAccessRole"
|
2607 | produces:
|
2608 | - "application/json"
|
2609 | parameters:
|
2610 | - in: "path"
|
2611 | name: "access-role"
|
2612 | description: "Access role name"
|
2613 | required: true
|
2614 | type: "string"
|
2615 | responses:
|
2616 | 204:
|
2617 | description: "Server responds with 204 No Content if access role removal was successful"
|
2618 | 404:
|
2619 | description: "Access role does not exists"
|
2620 | 403:
|
2621 | description: "Access denied"
|
2622 | /watch/jobs:
|
2623 | get:
|
2624 | tags:
|
2625 | - "jobs"
|
2626 | summary: "Get realtime updates"
|
2627 | description: "A job is an asynchronous server process"
|
2628 | operationId: "watchJobs"
|
2629 | produces:
|
2630 | - "application/json"
|
2631 | parameters:
|
2632 | - in: "query"
|
2633 | name: "query"
|
2634 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2635 | required: false
|
2636 | type: "string"
|
2637 | - in: "query"
|
2638 | name: "attributes"
|
2639 | description: "Filter attributes"
|
2640 | required: false
|
2641 | type: "array"
|
2642 | items:
|
2643 | type: "string"
|
2644 | - in: "query"
|
2645 | name: "offset"
|
2646 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2647 | required: false
|
2648 | type: "number"
|
2649 | - in: "query"
|
2650 | name: "limit"
|
2651 | description: "Objects limit, per default 20 objects will get returned"
|
2652 | required: false
|
2653 | type: "number"
|
2654 | - in: "query"
|
2655 | name: "sort"
|
2656 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2657 | required: false
|
2658 | type: "string"
|
2659 | responses:
|
2660 | 200:
|
2661 | description: "List of active jobs"
|
2662 | 403:
|
2663 | description: "Access denied"
|
2664 | /jobs:
|
2665 | get:
|
2666 | tags:
|
2667 | - "jobs"
|
2668 | summary: "Get list of active queued jobs"
|
2669 | description: "A job is an asynchronous server process"
|
2670 | operationId: "getJobs"
|
2671 | produces:
|
2672 | - "application/json"
|
2673 | parameters:
|
2674 | - in: "query"
|
2675 | name: "query"
|
2676 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2677 | required: false
|
2678 | type: "string"
|
2679 | - in: "query"
|
2680 | name: "attributes"
|
2681 | description: "Filter attributes"
|
2682 | required: false
|
2683 | type: "array"
|
2684 | items:
|
2685 | type: "string"
|
2686 | - in: "query"
|
2687 | name: "offset"
|
2688 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2689 | required: false
|
2690 | type: "number"
|
2691 | - in: "query"
|
2692 | name: "limit"
|
2693 | description: "Objects limit, per default 20 objects will get returned"
|
2694 | required: false
|
2695 | type: "number"
|
2696 | - in: "query"
|
2697 | name: "sort"
|
2698 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2699 | required: false
|
2700 | type: "string"
|
2701 | responses:
|
2702 | 200:
|
2703 | description: "List of active jobs"
|
2704 | schema:
|
2705 | $ref: "#/definitions/Jobs"
|
2706 | 403:
|
2707 | description: "Access denied"
|
2708 | post:
|
2709 | tags:
|
2710 | - "jobs"
|
2711 | summary: "Create new job"
|
2712 | operationId: "addJob"
|
2713 | produces:
|
2714 | - "application/json"
|
2715 | parameters:
|
2716 | - in: body
|
2717 | name: data
|
2718 | schema:
|
2719 | $ref: "#/definitions/Job"
|
2720 | responses:
|
2721 | 202:
|
2722 | description: "The created job"
|
2723 | schema:
|
2724 | $ref: "#/definitions/Job"
|
2725 | 404:
|
2726 | description: "Resource does not exists"
|
2727 | 403:
|
2728 | description: "Access denied"
|
2729 | /jobs/{job}:
|
2730 | get:
|
2731 | tags:
|
2732 | - "jobs"
|
2733 | summary: "Get job by id"
|
2734 | operationId: "getJob"
|
2735 | produces:
|
2736 | - "application/json"
|
2737 | parameters:
|
2738 | - in: "path"
|
2739 | name: "job"
|
2740 | description: "Job ID"
|
2741 | required: true
|
2742 | type: "string"
|
2743 | responses:
|
2744 | 200:
|
2745 | description: "Job"
|
2746 | schema:
|
2747 | $ref: "#/definitions/Job"
|
2748 | 404:
|
2749 | description: "Job does not exists"
|
2750 | 403:
|
2751 | description: "Access denied"
|
2752 | delete:
|
2753 | tags:
|
2754 | - "jobs"
|
2755 | summary: "Delete job by id"
|
2756 | operationId: "deleteJob"
|
2757 | produces:
|
2758 | - "application/json"
|
2759 | parameters:
|
2760 | - in: "path"
|
2761 | name: "job"
|
2762 | description: "Job ID"
|
2763 | required: true
|
2764 | type: "string"
|
2765 | responses:
|
2766 | 204:
|
2767 | description: "Server responds with 204 No Content if job removal was successful"
|
2768 | 404:
|
2769 | description: "Job does not exists"
|
2770 | 403:
|
2771 | description: "Access denied"
|
2772 | patch:
|
2773 | tags:
|
2774 | - "jobs"
|
2775 | summary: "Patch job as rfc6902 request"
|
2776 | description: "Update specific attributes of a job"
|
2777 | operationId: "updateJob"
|
2778 | consumes:
|
2779 | - "application/json-patch+json"
|
2780 | produces:
|
2781 | - "application/json"
|
2782 | parameters:
|
2783 | - in: "path"
|
2784 | name: "job"
|
2785 | description: "Job ID"
|
2786 | required: true
|
2787 | type: "string"
|
2788 | - in: body
|
2789 | name: data
|
2790 | description: "Object"
|
2791 | schema:
|
2792 | type: array
|
2793 | items:
|
2794 | $ref: "#/definitions/JsonPatch"
|
2795 | responses:
|
2796 | 200:
|
2797 | description: "If successful the server will respond with 200 OK"
|
2798 | schema:
|
2799 | $ref: "#/definitions/Job"
|
2800 | 404:
|
2801 | description: "Resource does not exists"
|
2802 | 403:
|
2803 | description: "Access denied"
|
2804 | /processes:
|
2805 | get:
|
2806 | tags:
|
2807 | - "jobs"
|
2808 | summary: "Get all processes"
|
2809 | operationId: "getProcesses"
|
2810 | produces:
|
2811 | - "application/json"
|
2812 | parameters:
|
2813 | - in: "query"
|
2814 | name: "query"
|
2815 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2816 | required: false
|
2817 | type: "string"
|
2818 | - in: "query"
|
2819 | name: "attributes"
|
2820 | description: "Filter attributes"
|
2821 | required: false
|
2822 | type: "array"
|
2823 | items:
|
2824 | type: "string"
|
2825 | - in: "query"
|
2826 | name: "offset"
|
2827 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2828 | required: false
|
2829 | type: "number"
|
2830 | - in: "query"
|
2831 | name: "limit"
|
2832 | description: "Objects limit, per default 20 objects will get returned"
|
2833 | required: false
|
2834 | type: "number"
|
2835 | - in: "query"
|
2836 | name: "sort"
|
2837 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2838 | required: false
|
2839 | type: "string"
|
2840 | responses:
|
2841 | 200:
|
2842 | description: "Process"
|
2843 | schema:
|
2844 | $ref: "#/definitions/Processes"
|
2845 | 404:
|
2846 | description: "Job does not exists"
|
2847 | 403:
|
2848 | description: "Access denied"
|
2849 | post:
|
2850 | tags:
|
2851 | - "jobs"
|
2852 | summary: "Trigger a new process"
|
2853 | operationId: "addProcess"
|
2854 | produces:
|
2855 | - "application/json"
|
2856 | parameters:
|
2857 | - in: body
|
2858 | name: data
|
2859 | schema:
|
2860 | $ref: "#/definitions/Process"
|
2861 | responses:
|
2862 | 202:
|
2863 | description: "Returns a 202 if successful"
|
2864 | schema:
|
2865 | $ref: "#/definitions/Process"
|
2866 | 404:
|
2867 | description: "Job does not exists"
|
2868 | 403:
|
2869 | description: "Access denied"
|
2870 | /watch/processes:
|
2871 | get:
|
2872 | tags:
|
2873 | - "jobs"
|
2874 | summary: "Watch job processes"
|
2875 | operationId: "watchProcesses"
|
2876 | produces:
|
2877 | - "application/json+stream"
|
2878 | parameters:
|
2879 | - in: "query"
|
2880 | name: "query"
|
2881 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2882 | required: false
|
2883 | type: "string"
|
2884 | - in: "query"
|
2885 | name: "attributes"
|
2886 | description: "Filter attributes"
|
2887 | required: false
|
2888 | type: "array"
|
2889 | items:
|
2890 | type: "string"
|
2891 | - in: "query"
|
2892 | name: "offset"
|
2893 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2894 | required: false
|
2895 | type: "number"
|
2896 | - in: "query"
|
2897 | name: "limit"
|
2898 | description: "Objects limit, per default 20 objects will get returned"
|
2899 | required: false
|
2900 | type: "number"
|
2901 | - in: "query"
|
2902 | name: "sort"
|
2903 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2904 | required: false
|
2905 | type: "string"
|
2906 | responses:
|
2907 | 200:
|
2908 | description: "Processes"
|
2909 | 404:
|
2910 | description: "Job does not exists"
|
2911 | 403:
|
2912 | description: "Access denied"
|
2913 | /processes/{process}:
|
2914 | get:
|
2915 | tags:
|
2916 | - "jobs"
|
2917 | summary: "Get a single process of a job"
|
2918 | operationId: "getProcess"
|
2919 | produces:
|
2920 | - "application/json"
|
2921 | parameters:
|
2922 | - in: "path"
|
2923 | name: "process"
|
2924 | description: "Process ID"
|
2925 | required: true
|
2926 | type: "string"
|
2927 | responses:
|
2928 | 200:
|
2929 | description: "Process"
|
2930 | schema:
|
2931 | $ref: "#/definitions/Process"
|
2932 | 404:
|
2933 | description: "Process does not exists"
|
2934 | 403:
|
2935 | description: "Access denied"
|
2936 | delete:
|
2937 | tags:
|
2938 | - "jobs"
|
2939 | summary: "Abort running process"
|
2940 | operationId: "deleteProcess"
|
2941 | produces:
|
2942 | - "application/json"
|
2943 | parameters:
|
2944 | - in: "path"
|
2945 | name: "process"
|
2946 | description: "Process ID"
|
2947 | required: true
|
2948 | type: "string"
|
2949 | responses:
|
2950 | 204:
|
2951 | description: "Server responds with 204 No Content if process abort was successful"
|
2952 | 404:
|
2953 | description: "Process does not exists"
|
2954 | 403:
|
2955 | description: "Access denied"
|
2956 | /jobs/{job}/logs:
|
2957 | get:
|
2958 | tags:
|
2959 | - "jobs"
|
2960 | summary: "Get logs of a job"
|
2961 | operationId: "getJobLogs"
|
2962 | produces:
|
2963 | - "application/json"
|
2964 | parameters:
|
2965 | - in: "path"
|
2966 | name: "job"
|
2967 | description: "Job ID"
|
2968 | required: true
|
2969 | type: "string"
|
2970 | - in: "query"
|
2971 | name: "query"
|
2972 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
2973 | required: false
|
2974 | type: "string"
|
2975 | - in: "query"
|
2976 | name: "attributes"
|
2977 | description: "Filter attributes"
|
2978 | required: false
|
2979 | type: "array"
|
2980 | items:
|
2981 | type: "string"
|
2982 | - in: "query"
|
2983 | name: "offset"
|
2984 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
2985 | required: false
|
2986 | type: "number"
|
2987 | - in: "query"
|
2988 | name: "limit"
|
2989 | description: "Objects limit, per default 20 objects will get returned"
|
2990 | required: false
|
2991 | type: "number"
|
2992 | - in: "query"
|
2993 | name: "sort"
|
2994 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
2995 | required: false
|
2996 | type: "string"
|
2997 | responses:
|
2998 | 200:
|
2999 | description: "Job"
|
3000 | schema:
|
3001 | $ref: "#/definitions/Log"
|
3002 | 404:
|
3003 | description: "Job does not exists"
|
3004 | 403:
|
3005 | description: "Access denied"
|
3006 | /jobs/{job}/logs/{log}:
|
3007 | get:
|
3008 | tags:
|
3009 | - "jobs"
|
3010 | summary: "Get a single job error"
|
3011 | operationId: "getJobLog"
|
3012 | produces:
|
3013 | - "application/json"
|
3014 | parameters:
|
3015 | - in: "path"
|
3016 | name: "job"
|
3017 | description: "Job ID"
|
3018 | required: true
|
3019 | type: "string"
|
3020 | - in: "path"
|
3021 | name: "log"
|
3022 | description: "Log id"
|
3023 | required: true
|
3024 | type: "string"
|
3025 | responses:
|
3026 | 200:
|
3027 | description: "Log"
|
3028 | schema:
|
3029 | $ref: "#/definitions/Log"
|
3030 | 404:
|
3031 | description: "Job does not exists"
|
3032 | 403:
|
3033 | description: "Access denied"
|
3034 | /watch/jobs/{job}/logs:
|
3035 | get:
|
3036 | tags:
|
3037 | - "jobs"
|
3038 | summary: "Watch log stream"
|
3039 | operationId: "watchJobLogs"
|
3040 | produces:
|
3041 | - "application/json+stream"
|
3042 | parameters:
|
3043 | - in: "path"
|
3044 | name: "job"
|
3045 | description: "Job ID"
|
3046 | required: true
|
3047 | type: "string"
|
3048 | - in: "query"
|
3049 | name: "query"
|
3050 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
3051 | required: false
|
3052 | type: "string"
|
3053 | - in: "query"
|
3054 | name: "attributes"
|
3055 | description: "Filter attributes"
|
3056 | required: false
|
3057 | type: "array"
|
3058 | items:
|
3059 | type: "string"
|
3060 | - in: "query"
|
3061 | name: "offset"
|
3062 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
3063 | required: false
|
3064 | type: "number"
|
3065 | - in: "query"
|
3066 | name: "limit"
|
3067 | description: "Objects limit, per default 20 objects will get returned"
|
3068 | required: false
|
3069 | type: "number"
|
3070 | - in: "query"
|
3071 | name: "sort"
|
3072 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
3073 | required: false
|
3074 | type: "string"
|
3075 | responses:
|
3076 | 200:
|
3077 | description: "Logs"
|
3078 | 404:
|
3079 | description: "Job does not exists"
|
3080 | 403:
|
3081 | description: "Access denied"
|
3082 | /processes/{process}/logs:
|
3083 | get:
|
3084 | tags:
|
3085 | - "jobs"
|
3086 | summary: "Get logs of a process"
|
3087 | operationId: "getProcessLogs"
|
3088 | produces:
|
3089 | - "application/json"
|
3090 | parameters:
|
3091 | - in: "path"
|
3092 | name: "process"
|
3093 | description: "Process ID"
|
3094 | required: true
|
3095 | type: "string"
|
3096 | - in: "query"
|
3097 | name: "query"
|
3098 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
3099 | required: false
|
3100 | type: "string"
|
3101 | - in: "query"
|
3102 | name: "attributes"
|
3103 | description: "Filter attributes"
|
3104 | required: false
|
3105 | type: "array"
|
3106 | items:
|
3107 | type: "string"
|
3108 | - in: "query"
|
3109 | name: "offset"
|
3110 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
3111 | required: false
|
3112 | type: "number"
|
3113 | - in: "query"
|
3114 | name: "limit"
|
3115 | description: "Objects limit, per default 20 objects will get returned"
|
3116 | required: false
|
3117 | type: "number"
|
3118 | - in: "query"
|
3119 | name: "sort"
|
3120 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
3121 | required: false
|
3122 | type: "string"
|
3123 | responses:
|
3124 | 200:
|
3125 | description: "Log"
|
3126 | schema:
|
3127 | $ref: "#/definitions/Log"
|
3128 | 404:
|
3129 | description: "Process does not exists"
|
3130 | 403:
|
3131 | description: "Access denied"
|
3132 | /process/{process}/logs/{log}:
|
3133 | get:
|
3134 | tags:
|
3135 | - "jobs"
|
3136 | summary: "Get a single process log"
|
3137 | operationId: "getProcessLog"
|
3138 | produces:
|
3139 | - "application/json"
|
3140 | parameters:
|
3141 | - in: "path"
|
3142 | name: "process"
|
3143 | description: "Process ID"
|
3144 | required: true
|
3145 | type: "string"
|
3146 | - in: "path"
|
3147 | name: "log"
|
3148 | description: "Log id"
|
3149 | required: true
|
3150 | type: "string"
|
3151 | responses:
|
3152 | 200:
|
3153 | description: "Log"
|
3154 | schema:
|
3155 | $ref: "#/definitions/Log"
|
3156 | 404:
|
3157 | description: "Log does not exists"
|
3158 | 403:
|
3159 | description: "Access denied"
|
3160 | /watch/processes/{process}/logs:
|
3161 | get:
|
3162 | tags:
|
3163 | - "jobs"
|
3164 | summary: "Watch log stream"
|
3165 | operationId: "watchProcessLogs"
|
3166 | produces:
|
3167 | - "application/json+stream"
|
3168 | parameters:
|
3169 | - in: "path"
|
3170 | name: "process"
|
3171 | description: "Process ID"
|
3172 | required: true
|
3173 | type: "string"
|
3174 | - in: "query"
|
3175 | name: "query"
|
3176 | description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
|
3177 | required: false
|
3178 | type: "string"
|
3179 | - in: "query"
|
3180 | name: "attributes"
|
3181 | description: "Filter attributes"
|
3182 | required: false
|
3183 | type: "array"
|
3184 | items:
|
3185 | type: "string"
|
3186 | - in: "query"
|
3187 | name: "offset"
|
3188 | description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
|
3189 | required: false
|
3190 | type: "number"
|
3191 | - in: "query"
|
3192 | name: "limit"
|
3193 | description: "Objects limit, per default 20 objects will get returned"
|
3194 | required: false
|
3195 | type: "number"
|
3196 | - in: "query"
|
3197 | name: "sort"
|
3198 | description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
|
3199 | required: false
|
3200 | type: "string"
|
3201 | responses:
|
3202 | 200:
|
3203 | description: "Logs"
|
3204 | 404:
|
3205 | description: "Job does not exists"
|
3206 | 403:
|
3207 | description: "Access denied"
|
3208 | definitions:
|
3209 | JsonPatch:
|
3210 | description: "A JSON Patch according rfc6902."
|
3211 | type: "object"
|
3212 | properties:
|
3213 | op:
|
3214 | type: "string"
|
3215 | path:
|
3216 | type: "string"
|
3217 | value:
|
3218 | type: "string"
|
3219 | Links:
|
3220 | description: "Contains resource links (URL) to other resources."
|
3221 | type: "object"
|
3222 | properties:
|
3223 | self:
|
3224 | $ref: "#/definitions/Link"
|
3225 | ListLinks:
|
3226 | type: "object"
|
3227 | properties:
|
3228 | self:
|
3229 | $ref: "#/definitions/Link"
|
3230 | prev:
|
3231 | $ref: "#/definitions/Link"
|
3232 | next:
|
3233 | $ref: "#/definitions/Link"
|
3234 | Link:
|
3235 | type: "object"
|
3236 | properties:
|
3237 | href:
|
3238 | type: "string"
|
3239 | List:
|
3240 | type: "object"
|
3241 | properties:
|
3242 | _links:
|
3243 | description: "Holds a list of links rfc1738 to other resources."
|
3244 | $ref: "#/definitions/ListLinks"
|
3245 | kind:
|
3246 | description: "The resource type, always List."
|
3247 | type: "string"
|
3248 | default: "List"
|
3249 | count:
|
3250 | description: "Holds the number of items in the current list response."
|
3251 | type: "number"
|
3252 | total:
|
3253 | description: "Holds the number of total available items on the server. Note that a List resource is always paged. You need to traverse with offset and limit to request further resources in the list."
|
3254 | type: "number"
|
3255 | Resource:
|
3256 | type: "object"
|
3257 | properties:
|
3258 | _links:
|
3259 | $ref: "#/definitions/Links"
|
3260 | name:
|
3261 | description: "Resource identifier. Note that the name is immutable once created on the server and must be unique in its own resource context."
|
3262 | type: "string"
|
3263 | id:
|
3264 | description: "Unique 12-byte resource identifier. Note this is a MongoDB ObjectId. The name is the standard resource identifier, the id only useful to verify that a given resource was completely recreated. An ID is immutable and will be created on the server."
|
3265 | type: "string"
|
3266 | version:
|
3267 | description: "The version of the resource. A version gets increased once the resource have been modified."
|
3268 | type: "number"
|
3269 | created:
|
3270 | description: "ISO 8601 timestamp when the resource was created."
|
3271 | type: "string"
|
3272 | changed:
|
3273 | description: "ISO 8601 timestamp when the resource was changed."
|
3274 | type: "string"
|
3275 | secrets:
|
3276 | description: "Injected secrets in this resource."
|
3277 | type: "array"
|
3278 | items:
|
3279 | $ref: "#/definitions/SecretMount"
|
3280 | SecretMount:
|
3281 | type: "object"
|
3282 | properties:
|
3283 | secret:
|
3284 | description: "The name of the secret from which the key's value should be injected."
|
3285 | type: "string"
|
3286 | key:
|
3287 | description: "The name of the key which should be taken from a secret (You may use a recursive path by delimiting keys with '.', for example: password)."
|
3288 | type: "string"
|
3289 | to:
|
3290 | description: "The resource path where the secret value should be injected (You may use a recursive path by delimiting keys with '.', for example: data.resource.password)."
|
3291 | type: "string"
|
3292 | Namespaces:
|
3293 | description: "A list of namespaces."
|
3294 | allOf:
|
3295 | - $ref: '#/definitions/List'
|
3296 | - type: object
|
3297 | required:
|
3298 | - rootCause
|
3299 | properties:
|
3300 | data:
|
3301 | type: "array"
|
3302 | items:
|
3303 | $ref: "#/definitions/Namespace"
|
3304 | Namespace:
|
3305 | description: "A namespace is a namespace to separate resources."
|
3306 | allOf:
|
3307 | - $ref: '#/definitions/Resource'
|
3308 | - type: object
|
3309 | required:
|
3310 | - rootCause
|
3311 | properties:
|
3312 | kind:
|
3313 | description: "The resource type, always Namespace."
|
3314 | type: "string"
|
3315 | default: "Namespace"
|
3316 | Secrets:
|
3317 | description: "A list of secrets."
|
3318 | allOf:
|
3319 | - $ref: '#/definitions/List'
|
3320 | - type: object
|
3321 | required:
|
3322 | - rootCause
|
3323 | properties:
|
3324 | data:
|
3325 | type: "array"
|
3326 | items:
|
3327 | $ref: "#/definitions/Secret"
|
3328 | Secret:
|
3329 | description: "A secret is sensitive information which can be injected into another resource. A secret gets specially encrypted on the server and is always base64 encoded."
|
3330 | allOf:
|
3331 | - $ref: '#/definitions/Resource'
|
3332 | - type: object
|
3333 | required:
|
3334 | - rootCause
|
3335 | properties:
|
3336 | kind:
|
3337 | description: "The resource type, always Secret."
|
3338 | type: "string"
|
3339 | default: "Secret"
|
3340 | data:
|
3341 | description: "The secrets data. You may specify multiple keys. Important: You need to base64 encode the values!"
|
3342 | type: "object"
|
3343 | Users:
|
3344 | description: "A list of users."
|
3345 | allOf:
|
3346 | - $ref: '#/definitions/List'
|
3347 | - type: object
|
3348 | required:
|
3349 | - rootCause
|
3350 | properties:
|
3351 | data:
|
3352 | type: "array"
|
3353 | items:
|
3354 | $ref: "#/definitions/User"
|
3355 | User:
|
3356 | description: "A local tubee user."
|
3357 | allOf:
|
3358 | - $ref: '#/definitions/Resource'
|
3359 | - type: object
|
3360 | required:
|
3361 | - rootCause
|
3362 | properties:
|
3363 | kind:
|
3364 | description: "The resource type, always User."
|
3365 | type: "string"
|
3366 | default: "User"
|
3367 | data:
|
3368 | description: "The user information."
|
3369 | type: "object"
|
3370 | properties:
|
3371 | password:
|
3372 | description: "The users password. Gets hashed on the server and can not be retrieved after."
|
3373 | type: "string"
|
3374 | AccessRules:
|
3375 | description: "A list of access rules."
|
3376 | allOf:
|
3377 | - $ref: '#/definitions/List'
|
3378 | - type: object
|
3379 | required:
|
3380 | - rootCause
|
3381 | properties:
|
3382 | data:
|
3383 | type: "array"
|
3384 | items:
|
3385 | $ref: "#/definitions/AccessRule"
|
3386 | AccessRule:
|
3387 | description: "An access rule allows to specify what access roles can access which resources."
|
3388 | allOf:
|
3389 | - $ref: '#/definitions/Resource'
|
3390 | - type: object
|
3391 | required:
|
3392 | - rootCause
|
3393 | properties:
|
3394 | kind:
|
3395 | description: "The resource type, always AccessRule."
|
3396 | type: "string"
|
3397 | default: "AccessRule"
|
3398 | data:
|
3399 | type: "object"
|
3400 | properties:
|
3401 | roles:
|
3402 | description: "A list of access-role names to match the given rule."
|
3403 | type: "array"
|
3404 | items:
|
3405 | type: "string"
|
3406 | verbs:
|
3407 | description: "List of allowed HTTP rfc7231 verbs, you may also specify a wildcard to match all verbs."
|
3408 | type: "array"
|
3409 | items:
|
3410 | type: "string"
|
3411 | enum:
|
3412 | - "*"
|
3413 | - GET
|
3414 | - POST
|
3415 | - PUT
|
3416 | - PATCH
|
3417 | - DELETE
|
3418 | - HEAD
|
3419 | selectors:
|
3420 | description: "A list of selectors to match resources, for example namespace, collection, endpoint, ..."
|
3421 | type: "array"
|
3422 | items:
|
3423 | type: "string"
|
3424 | resources:
|
3425 | description: "Values according to your selector list required to match a request."
|
3426 | type: "array"
|
3427 | items:
|
3428 | type: "string"
|
3429 | AccessRoles:
|
3430 | description: "A list of access roles."
|
3431 | allOf:
|
3432 | - $ref: '#/definitions/List'
|
3433 | - type: object
|
3434 | required:
|
3435 | - rootCause
|
3436 | properties:
|
3437 | data:
|
3438 | type: "array"
|
3439 | items:
|
3440 | $ref: "#/definitions/AccessRole"
|
3441 | AccessRole:
|
3442 | description: "An access role is defined list which matches authenticated user identifiers."
|
3443 | allOf:
|
3444 | - $ref: '#/definitions/Resource'
|
3445 | - type: object
|
3446 | required:
|
3447 | - rootCause
|
3448 | properties:
|
3449 | kind:
|
3450 | description: "The resource type, always AccessRole."
|
3451 | type: "string"
|
3452 | default: "AccessRole"
|
3453 | data:
|
3454 | type: "object"
|
3455 | properties:
|
3456 | selectors:
|
3457 | description: "A list of user identifiers which the access role should match. It is also possible to specify a wildcard to match all identifiers."
|
3458 | type: "array"
|
3459 | items:
|
3460 | type: "string"
|
3461 | Processes:
|
3462 | description: "A list of processes."
|
3463 | allOf:
|
3464 | - $ref: '#/definitions/List'
|
3465 | - type: object
|
3466 | required:
|
3467 | - rootCause
|
3468 | properties:
|
3469 | data:
|
3470 | type: "array"
|
3471 | items:
|
3472 | $ref: "#/definitions/Process"
|
3473 | Process:
|
3474 | description: "A process is a sub resource of a job. Each process represents one job execution."
|
3475 | allOf:
|
3476 | - $ref: '#/definitions/Job'
|
3477 | - type: object
|
3478 | required:
|
3479 | - rootCause
|
3480 | properties:
|
3481 | kind:
|
3482 | description: "The resource type, always Process."
|
3483 | type: "string"
|
3484 | default: "Process"
|
3485 | status:
|
3486 | description: "Holds the status of this resource. Note that status is immutable."
|
3487 | type: "object"
|
3488 | properties:
|
3489 | code:
|
3490 | description: "The result code of the process."
|
3491 | type: "number"
|
3492 | Jobs:
|
3493 | description: "A list of jobs."
|
3494 | allOf:
|
3495 | - $ref: '#/definitions/List'
|
3496 | - type: object
|
3497 | required:
|
3498 | - rootCause
|
3499 | properties:
|
3500 | data:
|
3501 | type: "array"
|
3502 | items:
|
3503 | $ref: "#/definitions/Job"
|
3504 | Job:
|
3505 | description: "A job is a synchronization job which declares when and what collections should be synchronized."
|
3506 | allOf:
|
3507 | - $ref: '#/definitions/Resource'
|
3508 | - type: object
|
3509 | required:
|
3510 | - rootCause
|
3511 | properties:
|
3512 | kind:
|
3513 | description: "The resource type, always Job."
|
3514 | type: "string"
|
3515 | default: "Job"
|
3516 | data:
|
3517 | type: "object"
|
3518 | properties:
|
3519 | notification:
|
3520 | type: "object"
|
3521 | properties:
|
3522 | enabled:
|
3523 | description: "You may enable mail notification for a given job."
|
3524 | default: false
|
3525 | type: boolean
|
3526 | receiver:
|
3527 | description: "A list of mail adresses which the notification should be sent to. This option has no affect if notification is disabled."
|
3528 | type: array
|
3529 | items:
|
3530 | type: string
|
3531 | namespaces:
|
3532 | description: "A list of namespaces (name) the job should match. You may use a wildcard to specify all namespaces."
|
3533 | type: array
|
3534 | items:
|
3535 | type: string
|
3536 | default: ["*"]
|
3537 | collections:
|
3538 | description: "A list of collections (name) the job should match. You may use a wildcard to specify all collections."
|
3539 | type: array
|
3540 | items:
|
3541 | type: string
|
3542 | default: ["*"]
|
3543 | endpoints:
|
3544 | description: "A list of endoints (name) the job should match. You may use a wildcard to specify all endpoints."
|
3545 | type: array
|
3546 | items:
|
3547 | type: string
|
3548 | default: ["*"]
|
3549 | filter:
|
3550 | description: "Data object filter."
|
3551 | type: object
|
3552 | loadbalance:
|
3553 | description: "If enabled the server tries to splitt the job into multiple parallel processes."
|
3554 | type: boolean
|
3555 | default: true
|
3556 | ignore:
|
3557 | description: "If enabled the server does ignores any sync errors and continue with the process."
|
3558 | type: boolean
|
3559 | default: false
|
3560 | log_level:
|
3561 | description: "You may change the log level which gets applied during a sync job. Note that a log level too verbose has a big impact on the sync performance."
|
3562 | type: string
|
3563 | default: error
|
3564 | enum:
|
3565 | - emerg
|
3566 | - error
|
3567 | - warn
|
3568 | - info
|
3569 | - notice
|
3570 | - debug
|
3571 | options:
|
3572 | description: "Holds options about when a job should start and with what interval."
|
3573 | type: object
|
3574 | properties:
|
3575 | at:
|
3576 | description: "Holds a unix timestamp at what time the job should be executed."
|
3577 | type: "string"
|
3578 | format: "integer"
|
3579 | default: 0
|
3580 | interval:
|
3581 | description: "The number of secconds after the job should be executed again. The default is only run once."
|
3582 | type: "integer"
|
3583 | default: 0
|
3584 | retry:
|
3585 | description: "The number of times a failed job should be restarted. The default is never."
|
3586 | type: "integer"
|
3587 | default: 0
|
3588 | retry_interval:
|
3589 | description: "The number of secconds beween failed job retries. The default is 300 (5min)."
|
3590 | type: "integer"
|
3591 | default: 0
|
3592 | Logs:
|
3593 | description: "A list of logs."
|
3594 | allOf:
|
3595 | - $ref: '#/definitions/List'
|
3596 | - type: object
|
3597 | required:
|
3598 | - rootCause
|
3599 | properties:
|
3600 | data:
|
3601 | type: "array"
|
3602 | items:
|
3603 | $ref: "#/definitions/Log"
|
3604 | Log:
|
3605 | description: "A log messagage from a process."
|
3606 | allOf:
|
3607 | - $ref: '#/definitions/Resource'
|
3608 | - type: object
|
3609 | required:
|
3610 | - rootCause
|
3611 | properties:
|
3612 | kind:
|
3613 | description: "The resource type, always Log."
|
3614 | type: "string"
|
3615 | default: "Log"
|
3616 | data:
|
3617 | type: "object"
|
3618 | properties:
|
3619 | level:
|
3620 | type: "integer"
|
3621 | level_name:
|
3622 | type: "string"
|
3623 | message:
|
3624 | description: "The log message."
|
3625 | type: "string"
|
3626 | category:
|
3627 | description: "The server component which logged the message."
|
3628 | type: "string"
|
3629 | exception:
|
3630 | description: "Holds an exception object if the log message holds an exception reference."
|
3631 | type: "object"
|
3632 | Collections:
|
3633 | description: "A list of collections."
|
3634 | allOf:
|
3635 | - $ref: '#/definitions/List'
|
3636 | - type: object
|
3637 | required:
|
3638 | - rootCause
|
3639 | properties:
|
3640 | data:
|
3641 | type: "array"
|
3642 | items:
|
3643 | $ref: "#/definitions/Collections"
|
3644 | Collection:
|
3645 | description: "A collection is a collection of data objects, meaning a collection of similar objects."
|
3646 | allOf:
|
3647 | - $ref: '#/definitions/Resource'
|
3648 | - type: object
|
3649 | required:
|
3650 | - rootCause
|
3651 | properties:
|
3652 | kind:
|
3653 | description: "The resource type, always Collection."
|
3654 | type: "string"
|
3655 | default: "Collection"
|
3656 | data:
|
3657 | type: "object"
|
3658 | properties:
|
3659 | schema:
|
3660 | type: "object"
|
3661 | default: {}
|
3662 | Endpoints:
|
3663 | description: "A list of endpoints."
|
3664 | allOf:
|
3665 | - $ref: '#/definitions/List'
|
3666 | - type: object
|
3667 | required:
|
3668 | - rootCause
|
3669 | properties:
|
3670 | data:
|
3671 | type: "array"
|
3672 | items:
|
3673 | $ref: "#/definitions/Endpoint"
|
3674 | Endpoint:
|
3675 | description: "An endpoint represents an external resource to browse (proxy), import or export. This may be a database, a file, a http service, ..."
|
3676 | allOf:
|
3677 | - $ref: '#/definitions/Resource'
|
3678 | - type: object
|
3679 | required:
|
3680 | - rootCause
|
3681 | properties:
|
3682 | kind:
|
3683 | description: "The type of endpoint."
|
3684 | type: "string"
|
3685 | enum:
|
3686 | - PdoEndpoint
|
3687 | - MysqlEndpoint
|
3688 | - XmlEndpoint
|
3689 | - CsvEndpoint
|
3690 | - ImageEndpoint
|
3691 | - JsonEndpoint
|
3692 | - MongodbEndpoint
|
3693 | - MoodleEndpoint
|
3694 | - BalloonEndpoint
|
3695 | - OdataRestEndpoint
|
3696 | data:
|
3697 | type: "object"
|
3698 | properties:
|
3699 | type:
|
3700 | description: "Specify the type of the endpoint."
|
3701 | type: "string"
|
3702 | enum:
|
3703 | - browse
|
3704 | - source
|
3705 | - destination
|
3706 | - bidirectional
|
3707 | options:
|
3708 | type: "object"
|
3709 | properties:
|
3710 | identifier:
|
3711 | description: "A list of attributes which gets used to uniquely identify an object on the endpoint."
|
3712 | type: "array"
|
3713 | items:
|
3714 | type: string
|
3715 | import:
|
3716 | description: "A list of attributes which gets used to uniquely identify an object on the endpoint."
|
3717 | type: "array"
|
3718 | items:
|
3719 | type: string
|
3720 | flush:
|
3721 | description: "If true and the endpoint is of type source, the endpoint gets flushed before export. If the type is destination, the endpoints collection gets flushed before import. Pay attention with flush as it may result in data loss!"
|
3722 | type: "boolean"
|
3723 | default: false
|
3724 | filter_one:
|
3725 | description: "Specify an endpoint filter which gets used to filter for a single object."
|
3726 | type: "string"
|
3727 | filter_all:
|
3728 | description: "Specify a filter which always gets applied to the endpoint if objects are retrieved."
|
3729 | type: "string"
|
3730 | PdoEndpoint:
|
3731 | description: "Pdo endpoint"
|
3732 | allOf:
|
3733 | - $ref: '#/definitions/Endpoint'
|
3734 | - type: object
|
3735 | required:
|
3736 | - rootCause
|
3737 | properties:
|
3738 | kind:
|
3739 | description: "The type of endpoint. Always PdoEndpoint."
|
3740 | type: "string"
|
3741 | default: "PdoEndpoint"
|
3742 | data:
|
3743 | properties:
|
3744 | table:
|
3745 | description: "Table or view"
|
3746 | type: "string"
|
3747 | resource:
|
3748 | description: "Holds the relevant options of how to connect to the endpoint."
|
3749 | type: "object"
|
3750 | properties:
|
3751 | dsn:
|
3752 | description: "Data source name (DSN)."
|
3753 | type: string
|
3754 | username:
|
3755 | description: "Username if required."
|
3756 | type: string
|
3757 | passwd:
|
3758 | description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
|
3759 | type: string
|
3760 | has_password:
|
3761 | description: "Is true if a password has been set."
|
3762 | type: boolean
|
3763 | default: false
|
3764 | options:
|
3765 | description: "Driver specific connection options."
|
3766 | type: object
|
3767 | default: {}
|
3768 | MysqlEndpoint:
|
3769 | description: "MySQL/MariaDB (and other MySQL forks) endpoint"
|
3770 | allOf:
|
3771 | - $ref: '#/definitions/Endpoint'
|
3772 | - type: object
|
3773 | required:
|
3774 | - rootCause
|
3775 | properties:
|
3776 | kind:
|
3777 | description: "The type of endpoint. Always MysqlEndpoint."
|
3778 | type: "string"
|
3779 | default: "MysqlEndpoint"
|
3780 | data:
|
3781 | properties:
|
3782 | table:
|
3783 | description: "Table or view"
|
3784 | type: "string"
|
3785 | resource:
|
3786 | description: "Holds the relevant options of how to connect to the endpoint."
|
3787 | type: "object"
|
3788 | properties:
|
3789 | host:
|
3790 | description: "MySQL Server (Or compatible MySQL fork like MariaDB)."
|
3791 | type: string
|
3792 | username:
|
3793 | description: "Username."
|
3794 | type: string
|
3795 | passwd:
|
3796 | description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
|
3797 | type: string
|
3798 | has_password:
|
3799 | description: "Is true if a password has been set."
|
3800 | type: boolean
|
3801 | default: false
|
3802 | port:
|
3803 | description: "Specifies the port number to attempt to connect to the MySQL server."
|
3804 | type: integer
|
3805 | default: 3306
|
3806 | socket:
|
3807 | description: "Specifies the socket or named pipe that should be used."
|
3808 | type: string
|
3809 | LdapEndpoint:
|
3810 | description: "LDAP (OpenLDAP, Microsoft AD and other LDAP compatible Server) endpoint"
|
3811 | allOf:
|
3812 | - $ref: '#/definitions/Endpoint'
|
3813 | - type: object
|
3814 | required:
|
3815 | - rootCause
|
3816 | properties:
|
3817 | kind:
|
3818 | description: "The type of endpoint. Always LdapEndpoint."
|
3819 | type: "string"
|
3820 | default: "LdapEndpoint"
|
3821 | data:
|
3822 | properties:
|
3823 | resource:
|
3824 | description: "Holds the relevant options of how to connect to the endpoint."
|
3825 | type: "object"
|
3826 | properties:
|
3827 | uri:
|
3828 | description: "A full LDAP URI of the form ldap://hostname:port or ldaps://hostname:port for SSL encryption."
|
3829 | type: string
|
3830 | binddn:
|
3831 | description: "Bind DN if required."
|
3832 | type: string
|
3833 | bindpw:
|
3834 | description: "Bind password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
|
3835 | type: string
|
3836 | has_password:
|
3837 | description: "Is true if a password has been set."
|
3838 | type: boolean
|
3839 | default: false
|
3840 | basedn:
|
3841 | description: "Specifies the base dn (Like dc=example,dc=net)."
|
3842 | type: string
|
3843 | tls:
|
3844 | description: "Set to true if TLS shall be used."
|
3845 | type: boolean
|
3846 | default: false
|
3847 | options:
|
3848 | description: "More ldap specific settings (http://php.net/manual/en/function.ldap-set-option.php)."
|
3849 | type: object
|
3850 | OdataRestEndpoint:
|
3851 | description: "OData REST API endpoint (Compatible with Microsoft graph (Office365 and more) and other OData compatible api's)"
|
3852 | allOf:
|
3853 | - $ref: '#/definitions/Endpoint'
|
3854 | - type: object
|
3855 | required:
|
3856 | - rootCause
|
3857 | properties:
|
3858 | kind:
|
3859 | description: "The type of endpoint. Always OdataRestEndpoint."
|
3860 | type: "string"
|
3861 | default: "OdataRestEndpoint"
|
3862 | data:
|
3863 | properties:
|
3864 | resource:
|
3865 | description: "Holds the relevant options of how to connect to the endpoint."
|
3866 | type: "object"
|
3867 | properties:
|
3868 | base_uri:
|
3869 | description: "Base uri to resources (Like https://rest.api/v1/resources)."
|
3870 | type: string
|
3871 | options:
|
3872 | description: "Advanced request options, see http://docs.guzzlephp.org/en/stable/request-options.html"
|
3873 | type: object
|
3874 | auth:
|
3875 | description: "Authentication adapter, either of none, http basic authentication or oauth2 using client_credentials flow."
|
3876 | type: string
|
3877 | enum:
|
3878 | - basic
|
3879 | - oauth2
|
3880 | basic:
|
3881 | description: "HTTP Basic authentication. auth must be set to basic if this adapter should be used."
|
3882 | type: object
|
3883 | properties:
|
3884 | username:
|
3885 | description: "Basic authentication username."
|
3886 | type: string
|
3887 | password:
|
3888 | description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
|
3889 | type: string
|
3890 | has_password:
|
3891 | description: "Is true if a password has been set."
|
3892 | type: boolean
|
3893 | default: false
|
3894 | oauth2:
|
3895 | description: "Oauth2 client credentials flow. auth must be set to oauth2 if this adapter should be used."
|
3896 | type: object
|
3897 | properties:
|
3898 | token_uri:
|
3899 | description: "URI to token endpoint."
|
3900 | type: string
|
3901 | client_id:
|
3902 | description: "OAuth2 client_id."
|
3903 | type: string
|
3904 | client_secret:
|
3905 | description: "OAuth2 client_secret. Note the client_secret gets encrypted on the server an can't be retrieved after it."
|
3906 | type: string
|
3907 | MongodbEndpoint:
|
3908 | description: "MongoDB endpoint"
|
3909 | allOf:
|
3910 | - $ref: '#/definitions/Endpoint'
|
3911 | - type: object
|
3912 | required:
|
3913 | - rootCause
|
3914 | properties:
|
3915 | kind:
|
3916 | description: "The type of endpoint. Always MongodbEndpoint."
|
3917 | type: "string"
|
3918 | default: "MongodbEndpoint"
|
3919 | data:
|
3920 | properties:
|
3921 | collection:
|
3922 | description: "The name of the MongoDB collection where the data is located at."
|
3923 | type: string
|
3924 | resource:
|
3925 | description: "Holds the relevant options of how to connect to the endpoint."
|
3926 | type: "object"
|
3927 | properties:
|
3928 | uri:
|
3929 | description: "MongoDB connection uri"
|
3930 | type: string
|
3931 | default: "mongodb://127.0.0.1"
|
3932 | uri_options:
|
3933 | description: "Advanced URI options"
|
3934 | type: object
|
3935 | default: {}
|
3936 | driver_options:
|
3937 | description: "Advanced Driver options"
|
3938 | type: object
|
3939 | default: {}
|
3940 | BalloonEndpoint:
|
3941 | description: "Balloon cloud server endpoint"
|
3942 | allOf:
|
3943 | - $ref: '#/definitions/Endpoint'
|
3944 | - type: object
|
3945 | required:
|
3946 | - rootCause
|
3947 | properties:
|
3948 | kind:
|
3949 | description: "The type of endpoint. Always BalloonEndpoint."
|
3950 | type: "string"
|
3951 | default: "BalloonEndpoint"
|
3952 | data:
|
3953 | properties:
|
3954 | resource:
|
3955 | description: "Holds the relevant options of how to connect to the endpoint."
|
3956 | type: "object"
|
3957 | properties:
|
3958 | base_uri:
|
3959 | description: "Base uri to resources (Like https://rest.api/v2/users)."
|
3960 | type: string
|
3961 | options:
|
3962 | description: "Advanced request options, see http://docs.guzzlephp.org/en/stable/request-options.html"
|
3963 | type: object
|
3964 | auth:
|
3965 | description: "Authentication adapter, either of none, http basic authentication or oauth2 using client_credentials flow."
|
3966 | type: string
|
3967 | enum:
|
3968 | - basic
|
3969 | - oauth2
|
3970 | basic:
|
3971 | description: "HTTP Basic authentication. auth must be set to basic if this adapter should be used."
|
3972 | type: object
|
3973 | properties:
|
3974 | username:
|
3975 | description: "Basic authentication username."
|
3976 | type: string
|
3977 | password:
|
3978 | description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
|
3979 | type: string
|
3980 | has_password:
|
3981 | description: "Is true if a password has been set."
|
3982 | type: boolean
|
3983 | default: false
|
3984 | oauth2:
|
3985 | description: "Oauth2 client credentials flow. auth must be set to oauth2 if this adapter should be used."
|
3986 | type: object
|
3987 | properties:
|
3988 | token_uri:
|
3989 | description: "URI to token endpoint."
|
3990 | type: string
|
3991 | client_id:
|
3992 | description: "OAuth2 client_id."
|
3993 | type: string
|
3994 | client_secret:
|
3995 | description: "OAuth2 client_secret. Note the client_secret gets encrypted on the server an can't be retrieved after it."
|
3996 | type: string
|
3997 | CsvEndpoint:
|
3998 | description: "CSV data format endpoint"
|
3999 | allOf:
|
4000 | - $ref: '#/definitions/Endpoint'
|
4001 | - type: object
|
4002 | required:
|
4003 | - rootCause
|
4004 | properties:
|
4005 | kind:
|
4006 | description: "The type of endpoint. Always CsvEndpoint."
|
4007 | type: "string"
|
4008 | default: "CsvEndpoint"
|
4009 | data:
|
4010 | properties:
|
4011 | storage:
|
4012 | $ref: '#/definitions/Storage'
|
4013 | file:
|
4014 | description: "File uri or pattern, depends what storage you have choosen."
|
4015 | type: string
|
4016 | resource:
|
4017 | description: "CSV parse options."
|
4018 | type: object
|
4019 | properties:
|
4020 | delimiter:
|
4021 | description: "Field delimiter."
|
4022 | type: string
|
4023 | default: ","
|
4024 | enclosure:
|
4025 | description: "Field enclosure."
|
4026 | type: string
|
4027 | default: '"'
|
4028 | escape:
|
4029 | description: "Escape character."
|
4030 | type: string
|
4031 | default: "\\"
|
4032 | XmlEndpoint:
|
4033 | description: "XML data format endpoint"
|
4034 | allOf:
|
4035 | - $ref: '#/definitions/Endpoint'
|
4036 | - type: object
|
4037 | required:
|
4038 | - rootCause
|
4039 | properties:
|
4040 | kind:
|
4041 | description: "The type of endpoint. Always XmlEndpoint."
|
4042 | type: "string"
|
4043 | default: "XmlEndpoint"
|
4044 | data:
|
4045 | properties:
|
4046 | storage:
|
4047 | $ref: '#/definitions/Storage'
|
4048 | file:
|
4049 | description: "File uri or pattern, depends what storage you have choosen."
|
4050 | type: string
|
4051 | resource:
|
4052 | description: "CSV parse options."
|
4053 | type: object
|
4054 | properties:
|
4055 | root_name:
|
4056 | description: "The name of the root element."
|
4057 | type: string
|
4058 | default: "data"
|
4059 | node_name:
|
4060 | description: "The name of the sub node of the root element. For example: <root><row><a>0</a></row><a>1</a><row></row</root>"
|
4061 | type: string
|
4062 | default: "row"
|
4063 | pretty:
|
4064 | description: "Prettify xml output, note this is only useful if the XmlEndpoint is a destination endpoint."
|
4065 | type: boolean
|
4066 | default: true
|
4067 | preserve_whitespace:
|
4068 | description: "Preserve whitespace, note this is only useful if the XmlEndpoint is a destination endpoint."
|
4069 | type: boolean
|
4070 | default: false
|
4071 | JsonEndpoint:
|
4072 | description: "JSON data format endpoint"
|
4073 | allOf:
|
4074 | - $ref: '#/definitions/Endpoint'
|
4075 | - type: object
|
4076 | required:
|
4077 | - rootCause
|
4078 | properties:
|
4079 | kind:
|
4080 | description: "The type of endpoint. Always JsonEndpoint."
|
4081 | type: "string"
|
4082 | default: "JsonEndpoint"
|
4083 | data:
|
4084 | properties:
|
4085 | storage:
|
4086 | $ref: '#/definitions/Storage'
|
4087 | file:
|
4088 | description: "File uri or pattern, depends what storage you have choosen."
|
4089 | type: string
|
4090 | Storage:
|
4091 | description: "The storage defines where data can be fetched."
|
4092 | type: object
|
4093 | properties:
|
4094 | kind:
|
4095 | description: "The kind of storage where data shall be fetched."
|
4096 | type: string
|
4097 | default: "Stream"
|
4098 | enum:
|
4099 | - Stream
|
4100 | - LocalFilesystem
|
4101 | - Smb
|
4102 | - Balloon
|
4103 | Workflows:
|
4104 | description: "A list of workflows."
|
4105 | allOf:
|
4106 | - $ref: '#/definitions/List'
|
4107 | - type: object
|
4108 | required:
|
4109 | - rootCause
|
4110 | properties:
|
4111 | data:
|
4112 | type: "array"
|
4113 | items:
|
4114 | $ref: "#/definitions/Workflow"
|
4115 | Workflow:
|
4116 | description: "A workflow gets used if an endpoint gets imported or exported. A workflow defines if and what object and also if and what attributes of an object should be written to or from an endpoint."
|
4117 | allOf:
|
4118 | - $ref: '#/definitions/Resource'
|
4119 | - type: object
|
4120 | required:
|
4121 | - rootCause
|
4122 | properties:
|
4123 | kind:
|
4124 | description: "The resource type, always Workflow."
|
4125 | type: "string"
|
4126 | default: "Workflow"
|
4127 | data:
|
4128 | type: "object"
|
4129 | properties:
|
4130 | ensure:
|
4131 | type: string
|
4132 | enum:
|
4133 | - last
|
4134 | - exists
|
4135 | - absent
|
4136 | - merge
|
4137 | default: last
|
4138 | condition:
|
4139 | description: "Holds a scripted condition if a given workflow gets matched and executed."
|
4140 | type: string
|
4141 | map:
|
4142 | description: "Map attributes from the endpoint to the collection schema (if the endpoint is of type source) or map attributes from the collection to the endpoint if the endpoint is of type destination."
|
4143 | type: object
|
4144 | default: {}
|
4145 | AttributeMap:
|
4146 | type: "object"
|
4147 | properties:
|
4148 | map:
|
4149 | type: "object"
|
4150 | description: "Attribute map"
|
4151 | EndpointObjects:
|
4152 | description: "A list of endpoint objects."
|
4153 | allOf:
|
4154 | - $ref: '#/definitions/List'
|
4155 | - type: object
|
4156 | required:
|
4157 | - rootCause
|
4158 | properties:
|
4159 | kind:
|
4160 | description: "The resource type, always EndpointObject."
|
4161 | type: "string"
|
4162 | default: "EndpointObject"
|
4163 | data:
|
4164 | type: "array"
|
4165 | items:
|
4166 | $ref: "#/definitions/EndpointObject"
|
4167 | EndpointObject:
|
4168 | description: "An endpoint object is the actual object on an endpoint itself."
|
4169 | allOf:
|
4170 | - $ref: '#/definitions/Resource'
|
4171 | - type: object
|
4172 | required:
|
4173 | - rootCause
|
4174 | properties:
|
4175 | data:
|
4176 | description: "Attributes"
|
4177 | type: "object"
|
4178 | DataObjects:
|
4179 | description: "List of data objects."
|
4180 | allOf:
|
4181 | - $ref: '#/definitions/List'
|
4182 | - type: object
|
4183 | required:
|
4184 | - rootCause
|
4185 | properties:
|
4186 | data:
|
4187 | type: "array"
|
4188 | items:
|
4189 | $ref: "#/definitions/DataObject"
|
4190 | DataObject:
|
4191 | description: "A data object represents a single object in a collection (data collection)."
|
4192 | allOf:
|
4193 | - $ref: '#/definitions/Resource'
|
4194 | - type: object
|
4195 | required:
|
4196 | - rootCause
|
4197 | properties:
|
4198 | kind:
|
4199 | description: "The resource type, always DataObject."
|
4200 | type: "string"
|
4201 | default: "DataObject"
|
4202 | data:
|
4203 | description: "Attributes"
|
4204 | type: "object"
|
4205 | ObjectRelatives:
|
4206 | description: "A list of related objects."
|
4207 | allOf:
|
4208 | - $ref: '#/definitions/List'
|
4209 | - type: object
|
4210 | required:
|
4211 | - rootCause
|
4212 | properties:
|
4213 | data:
|
4214 | type: "array"
|
4215 | items:
|
4216 | $ref: "#/definitions/ObjectRelative"
|
4217 | ObjectRelative:
|
4218 | description: "An object relation represents a releationship between two data objects. A relationship may apply to objects of different collections and/or namespaces."
|
4219 | allOf:
|
4220 | - $ref: '#/definitions/Resource'
|
4221 | - type: object
|
4222 | required:
|
4223 | - rootCause
|
4224 | properties:
|
4225 | kind:
|
4226 | description: "The resource type, always Namespace."
|
4227 | type: "string"
|
4228 | default: "Namespace"
|
4229 | data:
|
4230 | type: object
|
4231 | properties:
|
4232 | context:
|
4233 | description: "Optional context context data which describes the relationship."
|
4234 | type: "object"
|
4235 | default: {}
|
4236 | object:
|
4237 | $ref: "#/definitions/DataObject"
|