@itentialopensource/adapter-openstack_glance 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +18 -0
  3. package/.jshintrc +3 -0
  4. package/AUTH.md +43 -0
  5. package/BROKER.md +199 -0
  6. package/CALLS.md +392 -0
  7. package/CHANGELOG.md +9 -0
  8. package/CODE_OF_CONDUCT.md +43 -0
  9. package/CONTRIBUTING.md +172 -0
  10. package/ENHANCE.md +69 -0
  11. package/LICENSE +201 -0
  12. package/PROPERTIES.md +641 -0
  13. package/README.md +337 -0
  14. package/SUMMARY.md +9 -0
  15. package/SYSTEMINFO.md +11 -0
  16. package/TROUBLESHOOT.md +47 -0
  17. package/adapter.js +5336 -0
  18. package/adapterBase.js +1788 -0
  19. package/entities/.generic/action.json +214 -0
  20. package/entities/.generic/schema.json +28 -0
  21. package/entities/.system/action.json +50 -0
  22. package/entities/.system/mockdatafiles/getToken-default.json +242 -0
  23. package/entities/.system/mockdatafiles/healthcheck-default.json +3 -0
  24. package/entities/.system/schema.json +19 -0
  25. package/entities/.system/schemaTokenReq.json +53 -0
  26. package/entities/.system/schemaTokenResp.json +49 -0
  27. package/entities/CacheManage/action.json +85 -0
  28. package/entities/CacheManage/schema.json +33 -0
  29. package/entities/ImageData/action.json +45 -0
  30. package/entities/ImageData/schema.json +31 -0
  31. package/entities/ImageSchemas/action.json +88 -0
  32. package/entities/ImageSchemas/schema.json +22 -0
  33. package/entities/ImageServiceInfoDiscovery/action.json +88 -0
  34. package/entities/ImageServiceInfoDiscovery/schema.json +22 -0
  35. package/entities/ImageTags/action.json +44 -0
  36. package/entities/ImageTags/schema.json +31 -0
  37. package/entities/Images/action.json +167 -0
  38. package/entities/Images/schema.json +136 -0
  39. package/entities/InteroperableImageImport/action.json +44 -0
  40. package/entities/InteroperableImageImport/schema.json +31 -0
  41. package/entities/Sharing/action.json +106 -0
  42. package/entities/Sharing/schema.json +45 -0
  43. package/entities/Stores/action.json +24 -0
  44. package/entities/Stores/schema.json +41 -0
  45. package/entities/TaskSchemas/action.json +46 -0
  46. package/entities/TaskSchemas/schema.json +20 -0
  47. package/entities/Tasks/action.json +66 -0
  48. package/entities/Tasks/schema.json +54 -0
  49. package/error.json +190 -0
  50. package/package.json +87 -0
  51. package/pronghorn.json +2201 -0
  52. package/propertiesDecorators.json +14 -0
  53. package/propertiesSchema.json +1284 -0
  54. package/refs?service=git-upload-pack +0 -0
  55. package/report/adapterInfo.json +10 -0
  56. package/report/creationReport.json +547 -0
  57. package/report/glance-openapi.json +1367 -0
  58. package/sampleProperties.json +198 -0
  59. package/test/integration/adapterTestBasicGet.js +85 -0
  60. package/test/integration/adapterTestConnectivity.js +93 -0
  61. package/test/integration/adapterTestIntegration.js +1327 -0
  62. package/test/unit/adapterBaseTestUnit.js +952 -0
  63. package/test/unit/adapterTestUnit.js +2220 -0
  64. package/utils/adapterInfo.js +206 -0
  65. package/utils/addAuth.js +94 -0
  66. package/utils/artifactize.js +146 -0
  67. package/utils/basicGet.js +50 -0
  68. package/utils/checkMigrate.js +63 -0
  69. package/utils/entitiesToDB.js +179 -0
  70. package/utils/findPath.js +74 -0
  71. package/utils/methodDocumentor.js +225 -0
  72. package/utils/modify.js +154 -0
  73. package/utils/packModificationScript.js +35 -0
  74. package/utils/patches2bundledDeps.js +90 -0
  75. package/utils/pre-commit.sh +32 -0
  76. package/utils/removeHooks.js +20 -0
  77. package/utils/setup.js +33 -0
  78. package/utils/tbScript.js +184 -0
  79. package/utils/tbUtils.js +469 -0
  80. package/utils/testRunner.js +298 -0
  81. package/utils/troubleshootingAdapter.js +190 -0
  82. package/workflows/README.md +3 -0
package/pronghorn.json ADDED
@@ -0,0 +1,2201 @@
1
+ {
2
+ "id": "@itentialopensource/adapter-openstack_glance",
3
+ "type": "Adapter",
4
+ "export": "OpenstackGlance",
5
+ "title": "Openstack_glance",
6
+ "src": "adapter.js",
7
+ "roles": [
8
+ "admin"
9
+ ],
10
+ "methods": [
11
+ {
12
+ "name": "iapUpdateAdapterConfiguration",
13
+ "summary": "Updates the adapter configuration",
14
+ "description": "Updates the adapter configuration file with the provided changes",
15
+ "input": [
16
+ {
17
+ "name": "configFile",
18
+ "type": "string",
19
+ "info": "The name of the file to change",
20
+ "required": true,
21
+ "schema": {
22
+ "title": "configFile",
23
+ "type": "string"
24
+ }
25
+ },
26
+ {
27
+ "name": "changes",
28
+ "type": "object",
29
+ "info": "JSON object containing the configuration changes",
30
+ "required": true,
31
+ "schema": {
32
+ "title": "changes",
33
+ "type": "object"
34
+ }
35
+ },
36
+ {
37
+ "name": "entity",
38
+ "type": "string",
39
+ "info": "The entity in which the changes are being made",
40
+ "required": false,
41
+ "schema": {
42
+ "title": "entity",
43
+ "type": "string"
44
+ }
45
+ },
46
+ {
47
+ "name": "type",
48
+ "type": "string",
49
+ "info": "The type of file to change - action, schema, or mock",
50
+ "required": false,
51
+ "schema": {
52
+ "title": "type",
53
+ "type": "string"
54
+ }
55
+ },
56
+ {
57
+ "name": "action",
58
+ "type": "string",
59
+ "info": "The action to be changed",
60
+ "required": false,
61
+ "schema": {
62
+ "title": "action",
63
+ "type": "string"
64
+ }
65
+ }
66
+ ],
67
+ "output": {
68
+ "name": "result",
69
+ "type": "object",
70
+ "description": "A JSON Object containing status, code and the result",
71
+ "schema": {
72
+ "title": "result",
73
+ "type": "object"
74
+ }
75
+ },
76
+ "roles": [
77
+ "admin"
78
+ ],
79
+ "route": {
80
+ "verb": "POST",
81
+ "path": "/iapUpdateAdapterConfiguration"
82
+ },
83
+ "task": true
84
+ },
85
+ {
86
+ "name": "iapFindAdapterPath",
87
+ "summary": "Provides the ability to see if a particular API path is supported by the adapter",
88
+ "description": "Provides the ability to see if a particular API path is supported by the adapter",
89
+ "input": [
90
+ {
91
+ "name": "apiPath",
92
+ "type": "string",
93
+ "info": "The API Path you want to check - make sure to not include base path and version",
94
+ "description": "The API Path you want to check - make sure to not include base path and version",
95
+ "schema": {
96
+ "title": "apiPath",
97
+ "type": "string"
98
+ },
99
+ "required": true
100
+ }
101
+ ],
102
+ "output": {
103
+ "name": "result",
104
+ "type": "object",
105
+ "description": "A JSON Object containing the result",
106
+ "schema": {
107
+ "title": "result",
108
+ "type": "object"
109
+ }
110
+ },
111
+ "roles": [
112
+ "admin"
113
+ ],
114
+ "route": {
115
+ "verb": "POST",
116
+ "path": "/iapFindAdapterPath"
117
+ },
118
+ "task": true
119
+ },
120
+ {
121
+ "name": "iapSuspendAdapter",
122
+ "summary": "Suspends the adapter",
123
+ "description": "Suspends the adapter",
124
+ "input": [
125
+ {
126
+ "name": "mode",
127
+ "type": "enum",
128
+ "enumerals": [
129
+ "pause",
130
+ "error"
131
+ ],
132
+ "info": "How incoming requests are handled. Defaults to 'pause'",
133
+ "description": "How incoming requests are handled. Defaults to 'pause'",
134
+ "schema": {
135
+ "title": "mode",
136
+ "type": "string"
137
+ },
138
+ "required": false
139
+ }
140
+ ],
141
+ "output": {
142
+ "name": "result",
143
+ "type": "object",
144
+ "description": "A JSON Object containing the adapter suspended status",
145
+ "schema": {
146
+ "title": "result",
147
+ "type": "object"
148
+ }
149
+ },
150
+ "roles": [
151
+ "admin"
152
+ ],
153
+ "route": {
154
+ "verb": "POST",
155
+ "path": "/iapSuspendAdapter"
156
+ },
157
+ "task": true
158
+ },
159
+ {
160
+ "name": "iapUnsuspendAdapter",
161
+ "summary": "Unsuspends the adapter",
162
+ "description": "Unsuspends the adapter",
163
+ "input": [],
164
+ "output": {
165
+ "name": "result",
166
+ "type": "object",
167
+ "description": "A JSON Object containing the adapter suspended status",
168
+ "schema": {
169
+ "title": "result",
170
+ "type": "object"
171
+ }
172
+ },
173
+ "roles": [
174
+ "admin"
175
+ ],
176
+ "route": {
177
+ "verb": "POST",
178
+ "path": "/iapUnsuspendAdapter"
179
+ },
180
+ "task": true
181
+ },
182
+ {
183
+ "name": "iapGetAdapterQueue",
184
+ "summary": "Return the requests that are waiting in the queue if throttling is enabled",
185
+ "description": "Return the requests that are waiting in the queue if throttling is enabled",
186
+ "input": [],
187
+ "output": {
188
+ "name": "result",
189
+ "type": "object",
190
+ "description": "A JSON Object containing the adapter queue",
191
+ "schema": {
192
+ "title": "result",
193
+ "type": "object"
194
+ }
195
+ },
196
+ "roles": [
197
+ "admin"
198
+ ],
199
+ "route": {
200
+ "verb": "POST",
201
+ "path": "/iapGetAdapterQueue"
202
+ },
203
+ "task": true
204
+ },
205
+ {
206
+ "name": "iapTroubleshootAdapter",
207
+ "summary": "Runs troubleshoot script for adapter",
208
+ "description": "Runs troubleshoot script for adapter",
209
+ "input": [
210
+ {
211
+ "name": "props",
212
+ "type": "object",
213
+ "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
214
+ "required": true,
215
+ "schema": {
216
+ "title": "props",
217
+ "type": "object"
218
+ }
219
+ },
220
+ {
221
+ "name": "persistFlag",
222
+ "type": "boolean",
223
+ "info": "Whether the input properties should be saved",
224
+ "required": true
225
+ }
226
+ ],
227
+ "output": {
228
+ "name": "result",
229
+ "type": "object",
230
+ "description": "A JSON Object containing the test results",
231
+ "schema": {
232
+ "title": "result",
233
+ "type": "object"
234
+ }
235
+ },
236
+ "roles": [
237
+ "admin"
238
+ ],
239
+ "route": {
240
+ "verb": "POST",
241
+ "path": "/iapTroubleshootAdapter"
242
+ },
243
+ "task": true
244
+ },
245
+ {
246
+ "name": "iapRunAdapterHealthcheck",
247
+ "summary": "Runs healthcheck script for adapter",
248
+ "description": "Runs healthcheck script for adapter",
249
+ "input": [],
250
+ "output": {
251
+ "name": "result",
252
+ "type": "boolean",
253
+ "description": "Whether healthcheck passed or failed"
254
+ },
255
+ "roles": [
256
+ "admin"
257
+ ],
258
+ "route": {
259
+ "verb": "POST",
260
+ "path": "/iapRunAdapterHealthcheck"
261
+ },
262
+ "task": true
263
+ },
264
+ {
265
+ "name": "iapRunAdapterConnectivity",
266
+ "summary": "Runs connectivity check script for adapter",
267
+ "description": "Runs connectivity check script for adapter",
268
+ "input": [],
269
+ "output": {
270
+ "name": "result",
271
+ "type": "object",
272
+ "description": "A JSON Object containing the test results",
273
+ "schema": {
274
+ "title": "result",
275
+ "type": "object"
276
+ }
277
+ },
278
+ "roles": [
279
+ "admin"
280
+ ],
281
+ "route": {
282
+ "verb": "POST",
283
+ "path": "/iapRunAdapterConnectivity"
284
+ },
285
+ "task": true
286
+ },
287
+ {
288
+ "name": "iapRunAdapterBasicGet",
289
+ "summary": "Runs basicGet script for adapter",
290
+ "description": "Runs basicGet script for adapter",
291
+ "input": [],
292
+ "output": {
293
+ "name": "result",
294
+ "type": "object",
295
+ "description": "A JSON Object containing the test results",
296
+ "schema": {
297
+ "title": "result",
298
+ "type": "object"
299
+ }
300
+ },
301
+ "roles": [
302
+ "admin"
303
+ ],
304
+ "route": {
305
+ "verb": "POST",
306
+ "path": "/iapRunAdapterBasicGet"
307
+ },
308
+ "task": true
309
+ },
310
+ {
311
+ "name": "iapMoveAdapterEntitiesToDB",
312
+ "summary": "Moves entities from an adapter into the IAP database",
313
+ "description": "Moves entities from an adapter into the IAP database",
314
+ "input": [],
315
+ "output": {
316
+ "name": "res",
317
+ "type": "object",
318
+ "description": "A JSON Object containing status, code and the response from the mongo transaction",
319
+ "schema": {
320
+ "title": "res",
321
+ "type": "object"
322
+ }
323
+ },
324
+ "roles": [
325
+ "admin"
326
+ ],
327
+ "route": {
328
+ "verb": "POST",
329
+ "path": "/iapMoveAdapterEntitiesToDB"
330
+ },
331
+ "task": true
332
+ },
333
+ {
334
+ "name": "genericAdapterRequest",
335
+ "summary": "Makes the requested generic call",
336
+ "description": "Makes the requested generic call",
337
+ "input": [
338
+ {
339
+ "name": "uriPath",
340
+ "type": "string",
341
+ "info": "the path of the api call - do not include the host, port, base path or version",
342
+ "description": "the path of the api call",
343
+ "schema": {
344
+ "title": "uriPath",
345
+ "type": "string"
346
+ },
347
+ "required": true
348
+ },
349
+ {
350
+ "name": "restMethod",
351
+ "type": "string",
352
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
353
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
354
+ "schema": {
355
+ "title": "restMethod",
356
+ "type": "string"
357
+ },
358
+ "required": true
359
+ },
360
+ {
361
+ "name": "queryData",
362
+ "type": "object",
363
+ "info": "the query parameters to be put on the url (optional)",
364
+ "description": "the query parameters to be put on the url (optional)",
365
+ "schema": {
366
+ "title": "queryData",
367
+ "type": "object"
368
+ },
369
+ "required": false
370
+ },
371
+ {
372
+ "name": "requestBody",
373
+ "type": "object",
374
+ "info": "the payload to be sent with the request (optional)",
375
+ "description": "the payload to be sent with the request (optional)",
376
+ "schema": {
377
+ "title": "requestBody",
378
+ "type": "object"
379
+ },
380
+ "required": false
381
+ },
382
+ {
383
+ "name": "addlHeaders",
384
+ "type": "object",
385
+ "info": "additional headers to be put on the call (optional)",
386
+ "description": "additional headers to be put on the call (optional)",
387
+ "schema": {
388
+ "title": "addlHeaders",
389
+ "type": "object"
390
+ },
391
+ "required": false
392
+ }
393
+ ],
394
+ "output": {
395
+ "name": "result",
396
+ "type": "object",
397
+ "description": "A JSON Object containing status, code and the result",
398
+ "schema": {
399
+ "title": "result",
400
+ "type": "object"
401
+ }
402
+ },
403
+ "roles": [
404
+ "admin"
405
+ ],
406
+ "route": {
407
+ "verb": "POST",
408
+ "path": "/genericAdapterRequest"
409
+ },
410
+ "task": true
411
+ },
412
+ {
413
+ "name": "genericAdapterRequestNoBasePath",
414
+ "summary": "Makes the requested generic call",
415
+ "description": "Makes the requested generic call",
416
+ "input": [
417
+ {
418
+ "name": "uriPath",
419
+ "type": "string",
420
+ "info": "the path of the api call - do not include the host, port, base path or version",
421
+ "description": "the path of the api call",
422
+ "schema": {
423
+ "title": "uriPath",
424
+ "type": "string"
425
+ },
426
+ "required": true
427
+ },
428
+ {
429
+ "name": "restMethod",
430
+ "type": "string",
431
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
432
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
433
+ "schema": {
434
+ "title": "restMethod",
435
+ "type": "string"
436
+ },
437
+ "required": true
438
+ },
439
+ {
440
+ "name": "queryData",
441
+ "type": "object",
442
+ "info": "the query parameters to be put on the url (optional)",
443
+ "description": "the query parameters to be put on the url (optional)",
444
+ "schema": {
445
+ "title": "queryData",
446
+ "type": "object"
447
+ },
448
+ "required": false
449
+ },
450
+ {
451
+ "name": "requestBody",
452
+ "type": "object",
453
+ "info": "the payload to be sent with the request (optional)",
454
+ "description": "the payload to be sent with the request (optional)",
455
+ "schema": {
456
+ "title": "requestBody",
457
+ "type": "object"
458
+ },
459
+ "required": false
460
+ },
461
+ {
462
+ "name": "addlHeaders",
463
+ "type": "object",
464
+ "info": "additional headers to be put on the call (optional)",
465
+ "description": "additional headers to be put on the call (optional)",
466
+ "schema": {
467
+ "title": "addlHeaders",
468
+ "type": "object"
469
+ },
470
+ "required": false
471
+ }
472
+ ],
473
+ "output": {
474
+ "name": "result",
475
+ "type": "object",
476
+ "description": "A JSON Object containing status, code and the result",
477
+ "schema": {
478
+ "title": "result",
479
+ "type": "object"
480
+ }
481
+ },
482
+ "roles": [
483
+ "admin"
484
+ ],
485
+ "route": {
486
+ "verb": "POST",
487
+ "path": "/genericAdapterRequestNoBasePath"
488
+ },
489
+ "task": true
490
+ },
491
+ {
492
+ "name": "getDevice",
493
+ "summary": "Get the Appliance",
494
+ "description": "Get the Appliance",
495
+ "input": [
496
+ {
497
+ "name": "deviceName",
498
+ "type": "string",
499
+ "info": "An Appliance Device Name",
500
+ "required": true,
501
+ "schema": {
502
+ "title": "deviceName",
503
+ "type": "string"
504
+ }
505
+ }
506
+ ],
507
+ "output": {
508
+ "name": "result",
509
+ "type": "object",
510
+ "description": "A JSON Object containing status, code and the result",
511
+ "schema": {
512
+ "title": "result",
513
+ "type": "object"
514
+ }
515
+ },
516
+ "roles": [
517
+ "admin"
518
+ ],
519
+ "route": {
520
+ "verb": "POST",
521
+ "path": "/getDevice"
522
+ },
523
+ "task": true
524
+ },
525
+ {
526
+ "name": "getDevicesFiltered",
527
+ "summary": "Get Appliances that match the filter",
528
+ "description": "Get Appliances that match the filter",
529
+ "input": [
530
+ {
531
+ "name": "options",
532
+ "type": "object",
533
+ "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
534
+ "required": true,
535
+ "schema": {
536
+ "title": "options",
537
+ "type": "object"
538
+ }
539
+ }
540
+ ],
541
+ "output": {
542
+ "name": "result",
543
+ "type": "array",
544
+ "description": "A JSON Object containing status, code and the result",
545
+ "schema": {
546
+ "title": "result",
547
+ "type": "array"
548
+ }
549
+ },
550
+ "roles": [
551
+ "admin"
552
+ ],
553
+ "route": {
554
+ "verb": "POST",
555
+ "path": "/getDevicesFiltered"
556
+ },
557
+ "task": true
558
+ },
559
+ {
560
+ "name": "isAlive",
561
+ "summary": "Checks the status for the provided Appliance",
562
+ "description": "Checks the status for the provided Appliance",
563
+ "input": [
564
+ {
565
+ "name": "deviceName",
566
+ "type": "string",
567
+ "info": "An Appliance Device Name",
568
+ "required": true,
569
+ "schema": {
570
+ "title": "deviceName",
571
+ "type": "string"
572
+ }
573
+ }
574
+ ],
575
+ "output": {
576
+ "name": "result",
577
+ "type": "boolean",
578
+ "description": "A JSON Object containing status, code and the result",
579
+ "schema": {
580
+ "title": "result",
581
+ "type": "boolean"
582
+ }
583
+ },
584
+ "roles": [
585
+ "admin"
586
+ ],
587
+ "route": {
588
+ "verb": "POST",
589
+ "path": "/isAlive"
590
+ },
591
+ "task": true
592
+ },
593
+ {
594
+ "name": "getConfig",
595
+ "summary": "Gets a config for the provided Appliance",
596
+ "description": "Gets a config for the provided Appliance",
597
+ "input": [
598
+ {
599
+ "name": "deviceName",
600
+ "type": "string",
601
+ "info": "An Appliance Device Name",
602
+ "required": true,
603
+ "schema": {
604
+ "title": "deviceName",
605
+ "type": "string"
606
+ }
607
+ },
608
+ {
609
+ "name": "format",
610
+ "type": "string",
611
+ "info": "The format to be returned - this is ignored as we always return json",
612
+ "required": false,
613
+ "schema": {
614
+ "title": "format",
615
+ "type": "string"
616
+ }
617
+ }
618
+ ],
619
+ "output": {
620
+ "name": "result",
621
+ "type": "object",
622
+ "description": "A JSON Object containing status, code and the result",
623
+ "schema": {
624
+ "title": "result",
625
+ "type": "object"
626
+ }
627
+ },
628
+ "roles": [
629
+ "admin"
630
+ ],
631
+ "route": {
632
+ "verb": "POST",
633
+ "path": "/getConfig"
634
+ },
635
+ "task": true
636
+ },
637
+ {
638
+ "name": "iapGetDeviceCount",
639
+ "summary": "Gets a device count from the system",
640
+ "description": "Gets a device count from the system",
641
+ "input": [],
642
+ "output": {
643
+ "name": "result",
644
+ "type": "object",
645
+ "description": "A JSON Object containing status, code and the result",
646
+ "schema": {
647
+ "title": "result",
648
+ "type": "object"
649
+ }
650
+ },
651
+ "roles": [
652
+ "admin"
653
+ ],
654
+ "route": {
655
+ "verb": "POST",
656
+ "path": "/iapGetDeviceCount"
657
+ },
658
+ "task": true
659
+ },
660
+ {
661
+ "name": "createImage",
662
+ "summary": "Create image",
663
+ "description": "Create image",
664
+ "input": [
665
+ {
666
+ "name": "body",
667
+ "type": "object",
668
+ "info": ": {\"container_format\": \"string\", \"disk_format\": \"string\", \"name\": \"string\", \"id\": \"string\"}",
669
+ "required": false,
670
+ "schema": {
671
+ "type": "object",
672
+ "properties": {
673
+ "container_format": {
674
+ "type": "string"
675
+ },
676
+ "disk_format": {
677
+ "type": "string"
678
+ },
679
+ "name": {
680
+ "type": "string"
681
+ },
682
+ "id": {
683
+ "type": "string"
684
+ }
685
+ },
686
+ "definitions": {}
687
+ }
688
+ }
689
+ ],
690
+ "output": {
691
+ "name": "result",
692
+ "type": "object",
693
+ "description": "A JSON Object containing status, code and the result",
694
+ "schema": {
695
+ "title": "result",
696
+ "type": "object"
697
+ }
698
+ },
699
+ "roles": [
700
+ "admin"
701
+ ],
702
+ "route": {
703
+ "verb": "POST",
704
+ "path": "/createImage"
705
+ },
706
+ "task": true
707
+ },
708
+ {
709
+ "name": "listImages",
710
+ "summary": "List images",
711
+ "description": "List images",
712
+ "input": [
713
+ {
714
+ "name": "limit",
715
+ "type": "number",
716
+ "info": "Requests a page size of items. Returns a number of items up to a limit\nvalue. Use the limit parameter to make an initial limited request and\nuse the ID of the last-seen i...(description truncated): 123",
717
+ "required": false,
718
+ "schema": {
719
+ "title": "limit",
720
+ "type": "number"
721
+ }
722
+ },
723
+ {
724
+ "name": "marker",
725
+ "type": "string",
726
+ "info": "The ID of the last-seen item. Use the limit parameter to make an\ninitial limited request and use the ID of the last-seen item from the\nresponse as the marker parameter va...(description truncated): string",
727
+ "required": false,
728
+ "schema": {
729
+ "title": "marker",
730
+ "type": "string"
731
+ }
732
+ },
733
+ {
734
+ "name": "name",
735
+ "type": "string",
736
+ "info": "Filters the response by a name, as a string. A valid value is the name of\nan image.: string",
737
+ "required": false,
738
+ "schema": {
739
+ "title": "name",
740
+ "type": "string"
741
+ }
742
+ },
743
+ {
744
+ "name": "owner",
745
+ "type": "string",
746
+ "info": "Filters the response by a project (also called a “tenant”) ID. Shows only\nimages that are shared with you by the specified owner.: string",
747
+ "required": false,
748
+ "schema": {
749
+ "title": "owner",
750
+ "type": "string"
751
+ }
752
+ },
753
+ {
754
+ "name": "protectedParam",
755
+ "type": "boolean",
756
+ "info": "Filters the response by the ‘protected’ image property. A valid value is\none of ‘true’, ‘false’ (must be all lowercase). Any other value will\nresult in a 400 response.: boolean",
757
+ "required": false,
758
+ "schema": {
759
+ "title": "protectedParam",
760
+ "type": "boolean"
761
+ }
762
+ },
763
+ {
764
+ "name": "status",
765
+ "type": "number",
766
+ "info": "Filters the response by an image status.: 123",
767
+ "required": false,
768
+ "schema": {
769
+ "title": "status",
770
+ "type": "number"
771
+ }
772
+ },
773
+ {
774
+ "name": "tag",
775
+ "type": "string",
776
+ "info": "Filters the response by the specified tag value. May be repeated, but keep\nin mind that you’re making a conjunctive query, so only images containing\nall the tags specifi...(description truncated): string",
777
+ "required": false,
778
+ "schema": {
779
+ "title": "tag",
780
+ "type": "string"
781
+ }
782
+ },
783
+ {
784
+ "name": "visibility",
785
+ "type": "string",
786
+ "info": "Filters the response by an image visibility value. A valid value is\npublic, private, community, shared, or all. (Note\nthat if you filter on shared, the images included ...(description truncated): string",
787
+ "required": false,
788
+ "schema": {
789
+ "title": "visibility",
790
+ "type": "string"
791
+ }
792
+ },
793
+ {
794
+ "name": "osHidden",
795
+ "type": "boolean",
796
+ "info": "When true, filters the response to display only “hidden” images. By\ndefault, “hidden” images are not included in the image-list response.\n(Since Image API v2.7): boolean",
797
+ "required": false,
798
+ "schema": {
799
+ "title": "osHidden",
800
+ "type": "boolean"
801
+ }
802
+ },
803
+ {
804
+ "name": "memberStatus",
805
+ "type": "string",
806
+ "info": "Filters the response by a member status. A valid value is accepted,\npending, rejected, or all. Default is accepted.: string",
807
+ "required": false,
808
+ "schema": {
809
+ "title": "memberStatus",
810
+ "type": "string"
811
+ }
812
+ },
813
+ {
814
+ "name": "sizeMax",
815
+ "type": "string",
816
+ "info": "Filters the response by a maximum image size, in\nbytes.: string",
817
+ "required": false,
818
+ "schema": {
819
+ "title": "sizeMax",
820
+ "type": "string"
821
+ }
822
+ },
823
+ {
824
+ "name": "sizeMin",
825
+ "type": "string",
826
+ "info": "Filters the response by a minimum image size, in\nbytes.: string",
827
+ "required": false,
828
+ "schema": {
829
+ "title": "sizeMin",
830
+ "type": "string"
831
+ }
832
+ },
833
+ {
834
+ "name": "createdAt",
835
+ "type": "string",
836
+ "info": "Specify a comparison filter based on the date and time when the resource\nwas created. (See Time Comparison Filters).: string",
837
+ "required": false,
838
+ "schema": {
839
+ "title": "createdAt",
840
+ "type": "string"
841
+ }
842
+ },
843
+ {
844
+ "name": "updatedAt",
845
+ "type": "string",
846
+ "info": "Specify a comparison filter based on the date and time when the resource\nwas most recently modified. (See Time Comparison Filters).: string",
847
+ "required": false,
848
+ "schema": {
849
+ "title": "updatedAt",
850
+ "type": "string"
851
+ }
852
+ },
853
+ {
854
+ "name": "sortDir",
855
+ "type": "string",
856
+ "info": "Sorts the response by a set of one or more sort\ndirection and attribute (sort_key) combinations. A valid value\nfor the sort direction is asc (ascending) or desc\n(descendi...(description truncated): string",
857
+ "required": false,
858
+ "schema": {
859
+ "title": "sortDir",
860
+ "type": "string"
861
+ }
862
+ },
863
+ {
864
+ "name": "sortKey",
865
+ "type": "string",
866
+ "info": "Sorts the response by an attribute, such as\nname, id, or updated_at. Default is created_at.\nThe API uses the natural sorting direction of the sort_key\nimage attribute.: string",
867
+ "required": false,
868
+ "schema": {
869
+ "title": "sortKey",
870
+ "type": "string"
871
+ }
872
+ },
873
+ {
874
+ "name": "sort",
875
+ "type": "string",
876
+ "info": "Sorts the response by one or more attribute and sort direction\ncombinations. You can also set multiple sort keys and directions.\nDefault direction is desc.: string",
877
+ "required": false,
878
+ "schema": {
879
+ "title": "sort",
880
+ "type": "string"
881
+ }
882
+ }
883
+ ],
884
+ "output": {
885
+ "name": "result",
886
+ "type": "object",
887
+ "description": "A JSON Object containing status, code and the result",
888
+ "schema": {
889
+ "title": "result",
890
+ "type": "object"
891
+ }
892
+ },
893
+ "roles": [
894
+ "admin"
895
+ ],
896
+ "route": {
897
+ "verb": "POST",
898
+ "path": "/listImages"
899
+ },
900
+ "task": true
901
+ },
902
+ {
903
+ "name": "showImage",
904
+ "summary": "Show image",
905
+ "description": "Show image",
906
+ "input": [
907
+ {
908
+ "name": "imageId",
909
+ "type": "string",
910
+ "info": "The UUID of the image.: string",
911
+ "required": true,
912
+ "schema": {
913
+ "title": "imageId",
914
+ "type": "string"
915
+ }
916
+ }
917
+ ],
918
+ "output": {
919
+ "name": "result",
920
+ "type": "object",
921
+ "description": "A JSON Object containing status, code and the result",
922
+ "schema": {
923
+ "title": "result",
924
+ "type": "object"
925
+ }
926
+ },
927
+ "roles": [
928
+ "admin"
929
+ ],
930
+ "route": {
931
+ "verb": "POST",
932
+ "path": "/showImage"
933
+ },
934
+ "task": true
935
+ },
936
+ {
937
+ "name": "updateImage",
938
+ "summary": "Update image",
939
+ "description": "Update image",
940
+ "input": [
941
+ {
942
+ "name": "imageId",
943
+ "type": "string",
944
+ "info": "The UUID of the image.: string",
945
+ "required": true,
946
+ "schema": {
947
+ "title": "imageId",
948
+ "type": "string"
949
+ }
950
+ },
951
+ {
952
+ "name": "body",
953
+ "type": "array",
954
+ "info": ": array",
955
+ "required": false,
956
+ "schema": {
957
+ "type": "array",
958
+ "items": {
959
+ "type": "object",
960
+ "properties": {
961
+ "op": {
962
+ "type": "string",
963
+ "enum": [
964
+ "replace"
965
+ ]
966
+ },
967
+ "path": {
968
+ "type": "string"
969
+ },
970
+ "value": {
971
+ "type": "array",
972
+ "items": {
973
+ "type": "string"
974
+ }
975
+ }
976
+ }
977
+ },
978
+ "definitions": {}
979
+ }
980
+ }
981
+ ],
982
+ "output": {
983
+ "name": "result",
984
+ "type": "object",
985
+ "description": "A JSON Object containing status, code and the result",
986
+ "schema": {
987
+ "title": "result",
988
+ "type": "object"
989
+ }
990
+ },
991
+ "roles": [
992
+ "admin"
993
+ ],
994
+ "route": {
995
+ "verb": "POST",
996
+ "path": "/updateImage"
997
+ },
998
+ "task": true
999
+ },
1000
+ {
1001
+ "name": "deleteImage",
1002
+ "summary": "Delete image",
1003
+ "description": "Delete image",
1004
+ "input": [
1005
+ {
1006
+ "name": "imageId",
1007
+ "type": "string",
1008
+ "info": "The UUID of the image.: string",
1009
+ "required": true,
1010
+ "schema": {
1011
+ "title": "imageId",
1012
+ "type": "string"
1013
+ }
1014
+ }
1015
+ ],
1016
+ "output": {
1017
+ "name": "result",
1018
+ "type": "object",
1019
+ "description": "A JSON Object containing status, code and the result",
1020
+ "schema": {
1021
+ "title": "result",
1022
+ "type": "object"
1023
+ }
1024
+ },
1025
+ "roles": [
1026
+ "admin"
1027
+ ],
1028
+ "route": {
1029
+ "verb": "POST",
1030
+ "path": "/deleteImage"
1031
+ },
1032
+ "task": true
1033
+ },
1034
+ {
1035
+ "name": "showTasksAssociatedWithImage",
1036
+ "summary": "Show tasks associated with image",
1037
+ "description": "Show tasks associated with image",
1038
+ "input": [
1039
+ {
1040
+ "name": "imageId",
1041
+ "type": "string",
1042
+ "info": "The UUID of the image.: string",
1043
+ "required": true,
1044
+ "schema": {
1045
+ "title": "imageId",
1046
+ "type": "string"
1047
+ }
1048
+ }
1049
+ ],
1050
+ "output": {
1051
+ "name": "result",
1052
+ "type": "object",
1053
+ "description": "A JSON Object containing status, code and the result",
1054
+ "schema": {
1055
+ "title": "result",
1056
+ "type": "object"
1057
+ }
1058
+ },
1059
+ "roles": [
1060
+ "admin"
1061
+ ],
1062
+ "route": {
1063
+ "verb": "POST",
1064
+ "path": "/showTasksAssociatedWithImage"
1065
+ },
1066
+ "task": true
1067
+ },
1068
+ {
1069
+ "name": "deactivateImage",
1070
+ "summary": "Deactivate image",
1071
+ "description": "Deactivate image",
1072
+ "input": [
1073
+ {
1074
+ "name": "imageId",
1075
+ "type": "string",
1076
+ "info": "The UUID of the image.: string",
1077
+ "required": true,
1078
+ "schema": {
1079
+ "title": "imageId",
1080
+ "type": "string"
1081
+ }
1082
+ }
1083
+ ],
1084
+ "output": {
1085
+ "name": "result",
1086
+ "type": "object",
1087
+ "description": "A JSON Object containing status, code and the result",
1088
+ "schema": {
1089
+ "title": "result",
1090
+ "type": "object"
1091
+ }
1092
+ },
1093
+ "roles": [
1094
+ "admin"
1095
+ ],
1096
+ "route": {
1097
+ "verb": "POST",
1098
+ "path": "/deactivateImage"
1099
+ },
1100
+ "task": true
1101
+ },
1102
+ {
1103
+ "name": "reactivateImage",
1104
+ "summary": "Reactivate image",
1105
+ "description": "Reactivate image",
1106
+ "input": [
1107
+ {
1108
+ "name": "imageId",
1109
+ "type": "string",
1110
+ "info": "The UUID of the image.: string",
1111
+ "required": true,
1112
+ "schema": {
1113
+ "title": "imageId",
1114
+ "type": "string"
1115
+ }
1116
+ }
1117
+ ],
1118
+ "output": {
1119
+ "name": "result",
1120
+ "type": "object",
1121
+ "description": "A JSON Object containing status, code and the result",
1122
+ "schema": {
1123
+ "title": "result",
1124
+ "type": "object"
1125
+ }
1126
+ },
1127
+ "roles": [
1128
+ "admin"
1129
+ ],
1130
+ "route": {
1131
+ "verb": "POST",
1132
+ "path": "/reactivateImage"
1133
+ },
1134
+ "task": true
1135
+ },
1136
+ {
1137
+ "name": "createImageMember",
1138
+ "summary": "Create image member",
1139
+ "description": "Create image member",
1140
+ "input": [
1141
+ {
1142
+ "name": "imageId",
1143
+ "type": "string",
1144
+ "info": "The UUID of the image.: string",
1145
+ "required": true,
1146
+ "schema": {
1147
+ "title": "imageId",
1148
+ "type": "string"
1149
+ }
1150
+ },
1151
+ {
1152
+ "name": "body",
1153
+ "type": "object",
1154
+ "info": ": {\"member\": \"string\"}",
1155
+ "required": false,
1156
+ "schema": {
1157
+ "type": "object",
1158
+ "properties": {
1159
+ "member": {
1160
+ "type": "string"
1161
+ }
1162
+ },
1163
+ "definitions": {}
1164
+ }
1165
+ }
1166
+ ],
1167
+ "output": {
1168
+ "name": "result",
1169
+ "type": "object",
1170
+ "description": "A JSON Object containing status, code and the result",
1171
+ "schema": {
1172
+ "title": "result",
1173
+ "type": "object"
1174
+ }
1175
+ },
1176
+ "roles": [
1177
+ "admin"
1178
+ ],
1179
+ "route": {
1180
+ "verb": "POST",
1181
+ "path": "/createImageMember"
1182
+ },
1183
+ "task": true
1184
+ },
1185
+ {
1186
+ "name": "listImageMembers",
1187
+ "summary": "List image members",
1188
+ "description": "List image members",
1189
+ "input": [
1190
+ {
1191
+ "name": "imageId",
1192
+ "type": "string",
1193
+ "info": "The UUID of the image.: string",
1194
+ "required": true,
1195
+ "schema": {
1196
+ "title": "imageId",
1197
+ "type": "string"
1198
+ }
1199
+ }
1200
+ ],
1201
+ "output": {
1202
+ "name": "result",
1203
+ "type": "object",
1204
+ "description": "A JSON Object containing status, code and the result",
1205
+ "schema": {
1206
+ "title": "result",
1207
+ "type": "object"
1208
+ }
1209
+ },
1210
+ "roles": [
1211
+ "admin"
1212
+ ],
1213
+ "route": {
1214
+ "verb": "POST",
1215
+ "path": "/listImageMembers"
1216
+ },
1217
+ "task": true
1218
+ },
1219
+ {
1220
+ "name": "showImageMemberDetails",
1221
+ "summary": "Show image member details",
1222
+ "description": "Show image member details",
1223
+ "input": [
1224
+ {
1225
+ "name": "imageId",
1226
+ "type": "string",
1227
+ "info": "The UUID of the image.: string",
1228
+ "required": true,
1229
+ "schema": {
1230
+ "title": "imageId",
1231
+ "type": "string"
1232
+ }
1233
+ },
1234
+ {
1235
+ "name": "memberId",
1236
+ "type": "string",
1237
+ "info": "The ID of the image member. An image member is usually the project (also\ncalled the “tenant”) with whom the image is shared.: string",
1238
+ "required": true,
1239
+ "schema": {
1240
+ "title": "memberId",
1241
+ "type": "string"
1242
+ }
1243
+ }
1244
+ ],
1245
+ "output": {
1246
+ "name": "result",
1247
+ "type": "object",
1248
+ "description": "A JSON Object containing status, code and the result",
1249
+ "schema": {
1250
+ "title": "result",
1251
+ "type": "object"
1252
+ }
1253
+ },
1254
+ "roles": [
1255
+ "admin"
1256
+ ],
1257
+ "route": {
1258
+ "verb": "POST",
1259
+ "path": "/showImageMemberDetails"
1260
+ },
1261
+ "task": true
1262
+ },
1263
+ {
1264
+ "name": "updateImageMember",
1265
+ "summary": "Update image member",
1266
+ "description": "Update image member",
1267
+ "input": [
1268
+ {
1269
+ "name": "imageId",
1270
+ "type": "string",
1271
+ "info": "The UUID of the image.: string",
1272
+ "required": true,
1273
+ "schema": {
1274
+ "title": "imageId",
1275
+ "type": "string"
1276
+ }
1277
+ },
1278
+ {
1279
+ "name": "memberId",
1280
+ "type": "string",
1281
+ "info": "The ID of the image member. An image member is usually the project (also\ncalled the “tenant”) with whom the image is shared.: string",
1282
+ "required": true,
1283
+ "schema": {
1284
+ "title": "memberId",
1285
+ "type": "string"
1286
+ }
1287
+ },
1288
+ {
1289
+ "name": "body",
1290
+ "type": "object",
1291
+ "info": ": {\"status\": \"string\"}",
1292
+ "required": false,
1293
+ "schema": {
1294
+ "type": "object",
1295
+ "properties": {
1296
+ "status": {
1297
+ "type": "string"
1298
+ }
1299
+ },
1300
+ "definitions": {}
1301
+ }
1302
+ }
1303
+ ],
1304
+ "output": {
1305
+ "name": "result",
1306
+ "type": "object",
1307
+ "description": "A JSON Object containing status, code and the result",
1308
+ "schema": {
1309
+ "title": "result",
1310
+ "type": "object"
1311
+ }
1312
+ },
1313
+ "roles": [
1314
+ "admin"
1315
+ ],
1316
+ "route": {
1317
+ "verb": "POST",
1318
+ "path": "/updateImageMember"
1319
+ },
1320
+ "task": true
1321
+ },
1322
+ {
1323
+ "name": "deleteImageMember",
1324
+ "summary": "Delete image member",
1325
+ "description": "Delete image member",
1326
+ "input": [
1327
+ {
1328
+ "name": "imageId",
1329
+ "type": "string",
1330
+ "info": "The UUID of the image.: string",
1331
+ "required": true,
1332
+ "schema": {
1333
+ "title": "imageId",
1334
+ "type": "string"
1335
+ }
1336
+ },
1337
+ {
1338
+ "name": "memberId",
1339
+ "type": "string",
1340
+ "info": "The ID of the image member. An image member is usually the project (also\ncalled the “tenant”) with whom the image is shared.: string",
1341
+ "required": true,
1342
+ "schema": {
1343
+ "title": "memberId",
1344
+ "type": "string"
1345
+ }
1346
+ }
1347
+ ],
1348
+ "output": {
1349
+ "name": "result",
1350
+ "type": "object",
1351
+ "description": "A JSON Object containing status, code and the result",
1352
+ "schema": {
1353
+ "title": "result",
1354
+ "type": "object"
1355
+ }
1356
+ },
1357
+ "roles": [
1358
+ "admin"
1359
+ ],
1360
+ "route": {
1361
+ "verb": "POST",
1362
+ "path": "/deleteImageMember"
1363
+ },
1364
+ "task": true
1365
+ },
1366
+ {
1367
+ "name": "addImageTag",
1368
+ "summary": "Add image tag",
1369
+ "description": "Add image tag",
1370
+ "input": [
1371
+ {
1372
+ "name": "imageId",
1373
+ "type": "string",
1374
+ "info": "The UUID of the image.: string",
1375
+ "required": true,
1376
+ "schema": {
1377
+ "title": "imageId",
1378
+ "type": "string"
1379
+ }
1380
+ },
1381
+ {
1382
+ "name": "tag",
1383
+ "type": "string",
1384
+ "info": "The image tag. A tag is limited to 255 chars in length. You may wish\nto use characters that can easily be written in a URL.: string",
1385
+ "required": true,
1386
+ "schema": {
1387
+ "title": "tag",
1388
+ "type": "string"
1389
+ }
1390
+ }
1391
+ ],
1392
+ "output": {
1393
+ "name": "result",
1394
+ "type": "object",
1395
+ "description": "A JSON Object containing status, code and the result",
1396
+ "schema": {
1397
+ "title": "result",
1398
+ "type": "object"
1399
+ }
1400
+ },
1401
+ "roles": [
1402
+ "admin"
1403
+ ],
1404
+ "route": {
1405
+ "verb": "POST",
1406
+ "path": "/addImageTag"
1407
+ },
1408
+ "task": true
1409
+ },
1410
+ {
1411
+ "name": "deleteImageTag",
1412
+ "summary": "Delete image tag",
1413
+ "description": "Delete image tag",
1414
+ "input": [
1415
+ {
1416
+ "name": "imageId",
1417
+ "type": "string",
1418
+ "info": "The UUID of the image.: string",
1419
+ "required": true,
1420
+ "schema": {
1421
+ "title": "imageId",
1422
+ "type": "string"
1423
+ }
1424
+ },
1425
+ {
1426
+ "name": "tag",
1427
+ "type": "string",
1428
+ "info": "The image tag. A tag is limited to 255 chars in length. You may wish\nto use characters that can easily be written in a URL.: string",
1429
+ "required": true,
1430
+ "schema": {
1431
+ "title": "tag",
1432
+ "type": "string"
1433
+ }
1434
+ }
1435
+ ],
1436
+ "output": {
1437
+ "name": "result",
1438
+ "type": "object",
1439
+ "description": "A JSON Object containing status, code and the result",
1440
+ "schema": {
1441
+ "title": "result",
1442
+ "type": "object"
1443
+ }
1444
+ },
1445
+ "roles": [
1446
+ "admin"
1447
+ ],
1448
+ "route": {
1449
+ "verb": "POST",
1450
+ "path": "/deleteImageTag"
1451
+ },
1452
+ "task": true
1453
+ },
1454
+ {
1455
+ "name": "showImagesSchema",
1456
+ "summary": "Show images schema",
1457
+ "description": "Show images schema",
1458
+ "input": [],
1459
+ "output": {
1460
+ "name": "result",
1461
+ "type": "object",
1462
+ "description": "A JSON Object containing status, code and the result",
1463
+ "schema": {
1464
+ "title": "result",
1465
+ "type": "object"
1466
+ }
1467
+ },
1468
+ "roles": [
1469
+ "admin"
1470
+ ],
1471
+ "route": {
1472
+ "verb": "GET",
1473
+ "path": "/showImagesSchema"
1474
+ },
1475
+ "task": true
1476
+ },
1477
+ {
1478
+ "name": "showImageSchema",
1479
+ "summary": "Show image schema",
1480
+ "description": "Show image schema",
1481
+ "input": [],
1482
+ "output": {
1483
+ "name": "result",
1484
+ "type": "object",
1485
+ "description": "A JSON Object containing status, code and the result",
1486
+ "schema": {
1487
+ "title": "result",
1488
+ "type": "object"
1489
+ }
1490
+ },
1491
+ "roles": [
1492
+ "admin"
1493
+ ],
1494
+ "route": {
1495
+ "verb": "GET",
1496
+ "path": "/showImageSchema"
1497
+ },
1498
+ "task": true
1499
+ },
1500
+ {
1501
+ "name": "showImageMembersSchema",
1502
+ "summary": "Show image members schema",
1503
+ "description": "Show image members schema",
1504
+ "input": [],
1505
+ "output": {
1506
+ "name": "result",
1507
+ "type": "object",
1508
+ "description": "A JSON Object containing status, code and the result",
1509
+ "schema": {
1510
+ "title": "result",
1511
+ "type": "object"
1512
+ }
1513
+ },
1514
+ "roles": [
1515
+ "admin"
1516
+ ],
1517
+ "route": {
1518
+ "verb": "GET",
1519
+ "path": "/showImageMembersSchema"
1520
+ },
1521
+ "task": true
1522
+ },
1523
+ {
1524
+ "name": "showImageMemberSchema",
1525
+ "summary": "Show image member schema",
1526
+ "description": "Show image member schema",
1527
+ "input": [],
1528
+ "output": {
1529
+ "name": "result",
1530
+ "type": "object",
1531
+ "description": "A JSON Object containing status, code and the result",
1532
+ "schema": {
1533
+ "title": "result",
1534
+ "type": "object"
1535
+ }
1536
+ },
1537
+ "roles": [
1538
+ "admin"
1539
+ ],
1540
+ "route": {
1541
+ "verb": "GET",
1542
+ "path": "/showImageMemberSchema"
1543
+ },
1544
+ "task": true
1545
+ },
1546
+ {
1547
+ "name": "uploadBinaryImageData",
1548
+ "summary": "Upload binary image data",
1549
+ "description": "Upload binary image data",
1550
+ "input": [
1551
+ {
1552
+ "name": "imageId",
1553
+ "type": "string",
1554
+ "info": "The UUID of the image.: string",
1555
+ "required": true,
1556
+ "schema": {
1557
+ "title": "imageId",
1558
+ "type": "string"
1559
+ }
1560
+ },
1561
+ {
1562
+ "name": "body",
1563
+ "type": "string",
1564
+ "info": ": string",
1565
+ "required": false,
1566
+ "schema": {
1567
+ "type": "string",
1568
+ "definitions": {}
1569
+ }
1570
+ }
1571
+ ],
1572
+ "output": {
1573
+ "name": "result",
1574
+ "type": "object",
1575
+ "description": "A JSON Object containing status, code and the result",
1576
+ "schema": {
1577
+ "title": "result",
1578
+ "type": "object"
1579
+ }
1580
+ },
1581
+ "roles": [
1582
+ "admin"
1583
+ ],
1584
+ "route": {
1585
+ "verb": "POST",
1586
+ "path": "/uploadBinaryImageData"
1587
+ },
1588
+ "task": true
1589
+ },
1590
+ {
1591
+ "name": "downloadBinaryImageData",
1592
+ "summary": "Download binary image data",
1593
+ "description": "Download binary image data",
1594
+ "input": [
1595
+ {
1596
+ "name": "imageId",
1597
+ "type": "string",
1598
+ "info": "The UUID of the image.: string",
1599
+ "required": true,
1600
+ "schema": {
1601
+ "title": "imageId",
1602
+ "type": "string"
1603
+ }
1604
+ }
1605
+ ],
1606
+ "output": {
1607
+ "name": "result",
1608
+ "type": "object",
1609
+ "description": "A JSON Object containing status, code and the result",
1610
+ "schema": {
1611
+ "title": "result",
1612
+ "type": "object"
1613
+ }
1614
+ },
1615
+ "roles": [
1616
+ "admin"
1617
+ ],
1618
+ "route": {
1619
+ "verb": "POST",
1620
+ "path": "/downloadBinaryImageData"
1621
+ },
1622
+ "task": true
1623
+ },
1624
+ {
1625
+ "name": "stageBinaryImageData",
1626
+ "summary": "Stage binary image data",
1627
+ "description": "Stage binary image data",
1628
+ "input": [
1629
+ {
1630
+ "name": "imageId",
1631
+ "type": "string",
1632
+ "info": "The UUID of the image.: string",
1633
+ "required": true,
1634
+ "schema": {
1635
+ "title": "imageId",
1636
+ "type": "string"
1637
+ }
1638
+ }
1639
+ ],
1640
+ "output": {
1641
+ "name": "result",
1642
+ "type": "object",
1643
+ "description": "A JSON Object containing status, code and the result",
1644
+ "schema": {
1645
+ "title": "result",
1646
+ "type": "object"
1647
+ }
1648
+ },
1649
+ "roles": [
1650
+ "admin"
1651
+ ],
1652
+ "route": {
1653
+ "verb": "POST",
1654
+ "path": "/stageBinaryImageData"
1655
+ },
1656
+ "task": true
1657
+ },
1658
+ {
1659
+ "name": "importAnImage",
1660
+ "summary": "Import an image",
1661
+ "description": "Import an image",
1662
+ "input": [
1663
+ {
1664
+ "name": "imageId",
1665
+ "type": "string",
1666
+ "info": "The UUID of the image.: string",
1667
+ "required": true,
1668
+ "schema": {
1669
+ "title": "imageId",
1670
+ "type": "string"
1671
+ }
1672
+ },
1673
+ {
1674
+ "name": "body",
1675
+ "type": "object",
1676
+ "info": ": {\"method\": {\"name\": \"string\"}, \"stores\": \"array\", \"all_stores_must_succeed\": \"boolean\", \"all_stores\": \"boolean\"}",
1677
+ "required": false,
1678
+ "schema": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "method": {
1682
+ "type": "object",
1683
+ "properties": {
1684
+ "name": {
1685
+ "type": "string"
1686
+ }
1687
+ }
1688
+ },
1689
+ "stores": {
1690
+ "type": "array",
1691
+ "items": {
1692
+ "type": "string"
1693
+ }
1694
+ },
1695
+ "all_stores_must_succeed": {
1696
+ "type": "boolean"
1697
+ },
1698
+ "all_stores": {
1699
+ "type": "boolean"
1700
+ }
1701
+ },
1702
+ "definitions": {}
1703
+ }
1704
+ }
1705
+ ],
1706
+ "output": {
1707
+ "name": "result",
1708
+ "type": "object",
1709
+ "description": "A JSON Object containing status, code and the result",
1710
+ "schema": {
1711
+ "title": "result",
1712
+ "type": "object"
1713
+ }
1714
+ },
1715
+ "roles": [
1716
+ "admin"
1717
+ ],
1718
+ "route": {
1719
+ "verb": "POST",
1720
+ "path": "/importAnImage"
1721
+ },
1722
+ "task": true
1723
+ },
1724
+ {
1725
+ "name": "deleteImageFromStore",
1726
+ "summary": "Delete image from store",
1727
+ "description": "Delete image from store",
1728
+ "input": [
1729
+ {
1730
+ "name": "storeId",
1731
+ "type": "string",
1732
+ "info": "The ID of the store from which image is to be deleted.: string",
1733
+ "required": true,
1734
+ "schema": {
1735
+ "title": "storeId",
1736
+ "type": "string"
1737
+ }
1738
+ },
1739
+ {
1740
+ "name": "imageId",
1741
+ "type": "string",
1742
+ "info": "The UUID of the image.: string",
1743
+ "required": true,
1744
+ "schema": {
1745
+ "title": "imageId",
1746
+ "type": "string"
1747
+ }
1748
+ }
1749
+ ],
1750
+ "output": {
1751
+ "name": "result",
1752
+ "type": "object",
1753
+ "description": "A JSON Object containing status, code and the result",
1754
+ "schema": {
1755
+ "title": "result",
1756
+ "type": "object"
1757
+ }
1758
+ },
1759
+ "roles": [
1760
+ "admin"
1761
+ ],
1762
+ "route": {
1763
+ "verb": "POST",
1764
+ "path": "/deleteImageFromStore"
1765
+ },
1766
+ "task": true
1767
+ },
1768
+ {
1769
+ "name": "importMethodsAndValuesDiscovery",
1770
+ "summary": "Import methods and values discovery",
1771
+ "description": "Import methods and values discovery",
1772
+ "input": [],
1773
+ "output": {
1774
+ "name": "result",
1775
+ "type": "object",
1776
+ "description": "A JSON Object containing status, code and the result",
1777
+ "schema": {
1778
+ "title": "result",
1779
+ "type": "object"
1780
+ }
1781
+ },
1782
+ "roles": [
1783
+ "admin"
1784
+ ],
1785
+ "route": {
1786
+ "verb": "GET",
1787
+ "path": "/importMethodsAndValuesDiscovery"
1788
+ },
1789
+ "task": true
1790
+ },
1791
+ {
1792
+ "name": "listStores",
1793
+ "summary": "List stores",
1794
+ "description": "List stores",
1795
+ "input": [],
1796
+ "output": {
1797
+ "name": "result",
1798
+ "type": "object",
1799
+ "description": "A JSON Object containing status, code and the result",
1800
+ "schema": {
1801
+ "title": "result",
1802
+ "type": "object"
1803
+ }
1804
+ },
1805
+ "roles": [
1806
+ "admin"
1807
+ ],
1808
+ "route": {
1809
+ "verb": "GET",
1810
+ "path": "/listStores"
1811
+ },
1812
+ "task": true
1813
+ },
1814
+ {
1815
+ "name": "quotaUsage",
1816
+ "summary": "Quota usage",
1817
+ "description": "Quota usage",
1818
+ "input": [],
1819
+ "output": {
1820
+ "name": "result",
1821
+ "type": "object",
1822
+ "description": "A JSON Object containing status, code and the result",
1823
+ "schema": {
1824
+ "title": "result",
1825
+ "type": "object"
1826
+ }
1827
+ },
1828
+ "roles": [
1829
+ "admin"
1830
+ ],
1831
+ "route": {
1832
+ "verb": "GET",
1833
+ "path": "/quotaUsage"
1834
+ },
1835
+ "task": true
1836
+ },
1837
+ {
1838
+ "name": "listStoresDetail",
1839
+ "summary": "List stores detail",
1840
+ "description": "List stores detail",
1841
+ "input": [],
1842
+ "output": {
1843
+ "name": "result",
1844
+ "type": "object",
1845
+ "description": "A JSON Object containing status, code and the result",
1846
+ "schema": {
1847
+ "title": "result",
1848
+ "type": "object"
1849
+ }
1850
+ },
1851
+ "roles": [
1852
+ "admin"
1853
+ ],
1854
+ "route": {
1855
+ "verb": "GET",
1856
+ "path": "/listStoresDetail"
1857
+ },
1858
+ "task": true
1859
+ },
1860
+ {
1861
+ "name": "createTask",
1862
+ "summary": "Create task",
1863
+ "description": "Create task",
1864
+ "input": [
1865
+ {
1866
+ "name": "body",
1867
+ "type": "object",
1868
+ "info": ": {\"type\": \"string\", \"input\": {\"import_from\": \"string\", \"import_from_format\": \"string\", \"image_properties\": {\"disk_format\": \"string\", \"container_format\": \"string\"}}}",
1869
+ "required": false,
1870
+ "schema": {
1871
+ "type": "object",
1872
+ "properties": {
1873
+ "type": {
1874
+ "type": "string"
1875
+ },
1876
+ "input": {
1877
+ "type": "object",
1878
+ "properties": {
1879
+ "import_from": {
1880
+ "type": "string"
1881
+ },
1882
+ "import_from_format": {
1883
+ "type": "string"
1884
+ },
1885
+ "image_properties": {
1886
+ "type": "object",
1887
+ "properties": {
1888
+ "disk_format": {
1889
+ "type": "string"
1890
+ },
1891
+ "container_format": {
1892
+ "type": "string"
1893
+ }
1894
+ }
1895
+ }
1896
+ }
1897
+ }
1898
+ },
1899
+ "definitions": {}
1900
+ }
1901
+ }
1902
+ ],
1903
+ "output": {
1904
+ "name": "result",
1905
+ "type": "object",
1906
+ "description": "A JSON Object containing status, code and the result",
1907
+ "schema": {
1908
+ "title": "result",
1909
+ "type": "object"
1910
+ }
1911
+ },
1912
+ "roles": [
1913
+ "admin"
1914
+ ],
1915
+ "route": {
1916
+ "verb": "POST",
1917
+ "path": "/createTask"
1918
+ },
1919
+ "task": true
1920
+ },
1921
+ {
1922
+ "name": "listTasks",
1923
+ "summary": "List tasks",
1924
+ "description": "List tasks",
1925
+ "input": [
1926
+ {
1927
+ "name": "limit",
1928
+ "type": "number",
1929
+ "info": "Requests a page size of items. Returns a number of items up to a limit\nvalue. Use the limit parameter to make an initial limited request and\nuse the ID of the last-seen i...(description truncated): 123",
1930
+ "required": false,
1931
+ "schema": {
1932
+ "title": "limit",
1933
+ "type": "number"
1934
+ }
1935
+ },
1936
+ {
1937
+ "name": "marker",
1938
+ "type": "string",
1939
+ "info": "The ID of the last-seen item. Use the limit parameter to make an\ninitial limited request and use the ID of the last-seen item from the\nresponse as the marker parameter va...(description truncated): string",
1940
+ "required": false,
1941
+ "schema": {
1942
+ "title": "marker",
1943
+ "type": "string"
1944
+ }
1945
+ },
1946
+ {
1947
+ "name": "sortDir",
1948
+ "type": "string",
1949
+ "info": "Sorts the response by a set of one or more sort direction and attribute\n(sort_key) combinations. A valid value for the sort direction is\nasc (ascending) or desc (descendi...(description truncated): string",
1950
+ "required": false,
1951
+ "schema": {
1952
+ "title": "sortDir",
1953
+ "type": "string"
1954
+ }
1955
+ },
1956
+ {
1957
+ "name": "sortKey",
1958
+ "type": "string",
1959
+ "info": "Sorts the response by one of the following attributes: created_at,\nexpires_at, status, type, updated_at. Default is\ncreated_at.: string",
1960
+ "required": false,
1961
+ "schema": {
1962
+ "title": "sortKey",
1963
+ "type": "string"
1964
+ }
1965
+ },
1966
+ {
1967
+ "name": "status",
1968
+ "type": "string",
1969
+ "info": "Filters the response by a task status. A valid value is pending,\nprocessing, success, or failure.: string",
1970
+ "required": false,
1971
+ "schema": {
1972
+ "title": "status",
1973
+ "type": "string"
1974
+ }
1975
+ },
1976
+ {
1977
+ "name": "type",
1978
+ "type": "string",
1979
+ "info": "Filters the response by a task type. A valid value is import.: string",
1980
+ "required": false,
1981
+ "schema": {
1982
+ "title": "type",
1983
+ "type": "string"
1984
+ }
1985
+ }
1986
+ ],
1987
+ "output": {
1988
+ "name": "result",
1989
+ "type": "object",
1990
+ "description": "A JSON Object containing status, code and the result",
1991
+ "schema": {
1992
+ "title": "result",
1993
+ "type": "object"
1994
+ }
1995
+ },
1996
+ "roles": [
1997
+ "admin"
1998
+ ],
1999
+ "route": {
2000
+ "verb": "POST",
2001
+ "path": "/listTasks"
2002
+ },
2003
+ "task": true
2004
+ },
2005
+ {
2006
+ "name": "showTaskDetails",
2007
+ "summary": "Show task details",
2008
+ "description": "Show task details",
2009
+ "input": [
2010
+ {
2011
+ "name": "taskId",
2012
+ "type": "string",
2013
+ "info": "The identifier for the task, a UUID.: string",
2014
+ "required": true,
2015
+ "schema": {
2016
+ "title": "taskId",
2017
+ "type": "string"
2018
+ }
2019
+ }
2020
+ ],
2021
+ "output": {
2022
+ "name": "result",
2023
+ "type": "object",
2024
+ "description": "A JSON Object containing status, code and the result",
2025
+ "schema": {
2026
+ "title": "result",
2027
+ "type": "object"
2028
+ }
2029
+ },
2030
+ "roles": [
2031
+ "admin"
2032
+ ],
2033
+ "route": {
2034
+ "verb": "POST",
2035
+ "path": "/showTaskDetails"
2036
+ },
2037
+ "task": true
2038
+ },
2039
+ {
2040
+ "name": "showTasksSchema",
2041
+ "summary": "Show tasks schema",
2042
+ "description": "Show tasks schema",
2043
+ "input": [],
2044
+ "output": {
2045
+ "name": "result",
2046
+ "type": "object",
2047
+ "description": "A JSON Object containing status, code and the result",
2048
+ "schema": {
2049
+ "title": "result",
2050
+ "type": "object"
2051
+ }
2052
+ },
2053
+ "roles": [
2054
+ "admin"
2055
+ ],
2056
+ "route": {
2057
+ "verb": "GET",
2058
+ "path": "/showTasksSchema"
2059
+ },
2060
+ "task": true
2061
+ },
2062
+ {
2063
+ "name": "showTaskSchema",
2064
+ "summary": "Show task schema",
2065
+ "description": "Show task schema",
2066
+ "input": [],
2067
+ "output": {
2068
+ "name": "result",
2069
+ "type": "object",
2070
+ "description": "A JSON Object containing status, code and the result",
2071
+ "schema": {
2072
+ "title": "result",
2073
+ "type": "object"
2074
+ }
2075
+ },
2076
+ "roles": [
2077
+ "admin"
2078
+ ],
2079
+ "route": {
2080
+ "verb": "GET",
2081
+ "path": "/showTaskSchema"
2082
+ },
2083
+ "task": true
2084
+ },
2085
+ {
2086
+ "name": "queryCacheStatus",
2087
+ "summary": "Query cache status",
2088
+ "description": "Query cache status",
2089
+ "input": [],
2090
+ "output": {
2091
+ "name": "result",
2092
+ "type": "object",
2093
+ "description": "A JSON Object containing status, code and the result",
2094
+ "schema": {
2095
+ "title": "result",
2096
+ "type": "object"
2097
+ }
2098
+ },
2099
+ "roles": [
2100
+ "admin"
2101
+ ],
2102
+ "route": {
2103
+ "verb": "GET",
2104
+ "path": "/queryCacheStatus"
2105
+ },
2106
+ "task": true
2107
+ },
2108
+ {
2109
+ "name": "clearImagesFromCache",
2110
+ "summary": "Clear images from cache",
2111
+ "description": "Clear images from cache",
2112
+ "input": [],
2113
+ "output": {
2114
+ "name": "result",
2115
+ "type": "object",
2116
+ "description": "A JSON Object containing status, code and the result",
2117
+ "schema": {
2118
+ "title": "result",
2119
+ "type": "object"
2120
+ }
2121
+ },
2122
+ "roles": [
2123
+ "admin"
2124
+ ],
2125
+ "route": {
2126
+ "verb": "GET",
2127
+ "path": "/clearImagesFromCache"
2128
+ },
2129
+ "task": true
2130
+ },
2131
+ {
2132
+ "name": "queueImage",
2133
+ "summary": "Queue image",
2134
+ "description": "Queue image",
2135
+ "input": [
2136
+ {
2137
+ "name": "imageId",
2138
+ "type": "string",
2139
+ "info": "The UUID of the image.: string",
2140
+ "required": true,
2141
+ "schema": {
2142
+ "title": "imageId",
2143
+ "type": "string"
2144
+ }
2145
+ }
2146
+ ],
2147
+ "output": {
2148
+ "name": "result",
2149
+ "type": "object",
2150
+ "description": "A JSON Object containing status, code and the result",
2151
+ "schema": {
2152
+ "title": "result",
2153
+ "type": "object"
2154
+ }
2155
+ },
2156
+ "roles": [
2157
+ "admin"
2158
+ ],
2159
+ "route": {
2160
+ "verb": "POST",
2161
+ "path": "/queueImage"
2162
+ },
2163
+ "task": true
2164
+ },
2165
+ {
2166
+ "name": "deleteImageFromCache",
2167
+ "summary": "Delete image from cache",
2168
+ "description": "Delete image from cache",
2169
+ "input": [
2170
+ {
2171
+ "name": "imageId",
2172
+ "type": "string",
2173
+ "info": "The UUID of the image.: string",
2174
+ "required": true,
2175
+ "schema": {
2176
+ "title": "imageId",
2177
+ "type": "string"
2178
+ }
2179
+ }
2180
+ ],
2181
+ "output": {
2182
+ "name": "result",
2183
+ "type": "object",
2184
+ "description": "A JSON Object containing status, code and the result",
2185
+ "schema": {
2186
+ "title": "result",
2187
+ "type": "object"
2188
+ }
2189
+ },
2190
+ "roles": [
2191
+ "admin"
2192
+ ],
2193
+ "route": {
2194
+ "verb": "POST",
2195
+ "path": "/deleteImageFromCache"
2196
+ },
2197
+ "task": true
2198
+ }
2199
+ ],
2200
+ "views": []
2201
+ }