xclarity_client 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +41 -0
  3. data/.rubocop_base.yml +211 -0
  4. data/.rubocop_cc.yml +2 -0
  5. data/.travis.yml +1 -1
  6. data/docs/apib/compliance_policies.apib +214 -0
  7. data/docs/apib/squisher.rb +21 -13
  8. data/docs/apib/storages.apib +481 -0
  9. data/docs/apib/switches.apib +4 -0
  10. data/lib/xclarity_client.rb +3 -4
  11. data/lib/xclarity_client/client.rb +37 -343
  12. data/lib/xclarity_client/connection/connection.rb +3 -3
  13. data/lib/xclarity_client/endpoints/compliance_policy.rb +19 -0
  14. data/lib/xclarity_client/endpoints/endpoints.rb +2 -0
  15. data/lib/xclarity_client/endpoints/node.rb +8 -0
  16. data/lib/xclarity_client/endpoints/storage.rb +18 -0
  17. data/lib/xclarity_client/endpoints/switch.rb +3 -0
  18. data/lib/xclarity_client/mixins/aicc_mixin.rb +10 -0
  19. data/lib/xclarity_client/mixins/cabinet_mixin.rb +20 -0
  20. data/lib/xclarity_client/mixins/canister_mixin.rb +20 -0
  21. data/lib/xclarity_client/mixins/chassi_mixin.rb +20 -0
  22. data/lib/xclarity_client/mixins/cmm_mixin.rb +20 -0
  23. data/lib/xclarity_client/mixins/compliance_policy_mixin.rb +38 -0
  24. data/lib/xclarity_client/mixins/config_pattern_mixin.rb +40 -0
  25. data/lib/xclarity_client/mixins/config_profile_mixin.rb +51 -0
  26. data/lib/xclarity_client/mixins/config_target_mixin.rb +16 -0
  27. data/lib/xclarity_client/mixins/discover_request_mixin.rb +18 -0
  28. data/lib/xclarity_client/mixins/discovery_mixin.rb +10 -0
  29. data/lib/xclarity_client/mixins/event_mixin.rb +14 -0
  30. data/lib/xclarity_client/mixins/fan_mixin.rb +20 -0
  31. data/lib/xclarity_client/mixins/fan_mux_mixin.rb +20 -0
  32. data/lib/xclarity_client/mixins/ffdc_mixin.rb +16 -0
  33. data/lib/xclarity_client/mixins/global_setting_mixin.rb +14 -0
  34. data/lib/xclarity_client/mixins/host_platform_mixin.rb +18 -0
  35. data/lib/xclarity_client/mixins/job_mixin.rb +32 -0
  36. data/lib/xclarity_client/mixins/mixins.rb +38 -0
  37. data/lib/xclarity_client/mixins/node_mixin.rb +66 -0
  38. data/lib/xclarity_client/mixins/os_image_mixin.rb +14 -0
  39. data/lib/xclarity_client/mixins/persisted_result_mixin.rb +10 -0
  40. data/lib/xclarity_client/mixins/power_supply_mixin.rb +20 -0
  41. data/lib/xclarity_client/mixins/remote_access_mixin.rb +10 -0
  42. data/lib/xclarity_client/mixins/remote_file_server_mixin.rb +28 -0
  43. data/lib/xclarity_client/mixins/scalable_complex_mixin.rb +20 -0
  44. data/lib/xclarity_client/mixins/storage_mixin.rb +20 -0
  45. data/lib/xclarity_client/mixins/switch_mixin.rb +30 -0
  46. data/lib/xclarity_client/mixins/unmanage_request_mixin.rb +18 -0
  47. data/lib/xclarity_client/mixins/update_repo_mixin.rb +10 -0
  48. data/lib/xclarity_client/mixins/user_mixin.rb +26 -0
  49. data/lib/xclarity_client/schemas.rb +184 -189
  50. data/lib/xclarity_client/services/aicc_management.rb +0 -4
  51. data/lib/xclarity_client/services/cabinet_management.rb +0 -4
  52. data/lib/xclarity_client/services/canister_management.rb +0 -4
  53. data/lib/xclarity_client/services/chassi_management.rb +0 -4
  54. data/lib/xclarity_client/services/cmm_management.rb +0 -4
  55. data/lib/xclarity_client/services/compliance_policy_management.rb +52 -0
  56. data/lib/xclarity_client/services/config_pattern_management.rb +0 -4
  57. data/lib/xclarity_client/services/config_profile_management.rb +0 -4
  58. data/lib/xclarity_client/services/config_target_management.rb +0 -4
  59. data/lib/xclarity_client/services/discover_request_management.rb +0 -4
  60. data/lib/xclarity_client/services/discovery_management.rb +0 -4
  61. data/lib/xclarity_client/services/event_management.rb +0 -4
  62. data/lib/xclarity_client/services/fan_management.rb +0 -4
  63. data/lib/xclarity_client/services/fan_mux_management.rb +0 -4
  64. data/lib/xclarity_client/services/ffdc_management.rb +0 -4
  65. data/lib/xclarity_client/services/job_management.rb +0 -9
  66. data/lib/xclarity_client/services/mixins/power_action_sender_mixin.rb +59 -0
  67. data/lib/xclarity_client/services/node_management.rb +3 -26
  68. data/lib/xclarity_client/services/osimage_management.rb +25 -27
  69. data/lib/xclarity_client/services/persisted_result_management.rb +0 -6
  70. data/lib/xclarity_client/services/power_supply_management.rb +0 -4
  71. data/lib/xclarity_client/services/scalable_complex_management.rb +0 -4
  72. data/lib/xclarity_client/services/services.rb +6 -4
  73. data/lib/xclarity_client/services/storage_management.rb +8 -0
  74. data/lib/xclarity_client/services/switch_management.rb +4 -4
  75. data/lib/xclarity_client/services/unmanage_request_management.rb +0 -4
  76. data/lib/xclarity_client/services/update_repo_management.rb +30 -9
  77. data/lib/xclarity_client/services/user_management.rb +0 -4
  78. data/lib/xclarity_client/services/xclarity_service.rb +6 -5
  79. data/lib/xclarity_client/version.rb +1 -1
  80. data/xclarity_client.gemspec +1 -1
  81. metadata +45 -5
  82. data/lib/xclarity_client/xclarity_power_management_mixin.rb +0 -36
@@ -1,26 +1,34 @@
1
1
  require 'json'
2
2
 
3
3
  input_file = ARGV.first
4
- output = "output.apib"
5
-
6
- def squish(json)
7
- if json.is_a?(Array) and json.size > 0
8
- [squish(json.first)]
9
- elsif json.is_a?(Hash)
10
- json.map { |key, value| [key, squish(value)] }.to_h
11
- else
12
- json
13
- end
4
+ output = 'output.apib'
5
+
6
+ def squish(json)
7
+ return treat_as_array(json) if json.kind_of?(Array)
8
+
9
+ return treat_as_hash(json) if json.kind_of?(Hash)
10
+
11
+ json
12
+ end
13
+
14
+ def treat_as_array(json)
15
+ return [squish(json.first)] unless json.empty?
16
+
17
+ json
18
+ end
19
+
20
+ def treat_as_hash(json)
21
+ json.map { |key, value| [key, squish(value)] }.to_h
14
22
  end
15
23
 
16
24
  File.open(output, 'w') do |file|
17
25
  file.write(
18
26
  File.open(input_file).map do |line|
19
27
  begin
20
- squish(JSON.parse line).to_json
21
- rescue Exception => e
28
+ squish(JSON.parse(line)).to_json
29
+ rescue StandardError
22
30
  line
23
31
  end
24
- end.join("")
32
+ end.join('')
25
33
  )
26
34
  end
@@ -0,0 +1,481 @@
1
+ FORMAT: 1A
2
+
3
+ # Storages
4
+
5
+ # GET /storages
6
+
7
+ + Response 200 (application/json)
8
+ {
9
+ "storageList":[
10
+ {
11
+ "name":"S3200-1",
12
+ "uuid":"1B33D6D13F267A614567A897DC784F00",
13
+ "accessState":"Online",
14
+ "productName":"S3200",
15
+ "type":"Lenovo Storage",
16
+ "machineType":"6411",
17
+ "model":"S3200",
18
+ "serialNumber":"2683AF",
19
+ "productBrand":"Storage",
20
+ "vendorName":"Lenovo",
21
+ "scsiProductId":"S3200",
22
+ "scsiVendorId":"Lenovo",
23
+ "description":"RTP_S3200_1",
24
+ "overallHealthState":"Critical",
25
+ "isConnectionTrusted":"true",
26
+ "wwnn":"1B33D6D13F267A614567A897DC784F00",
27
+ "systemLocation":"LXCA_empty_field,LXCA_empty_field,LXCA_empty_field",
28
+ "contact":"Bay Nguyen",
29
+ "location":{
30
+ "lowestRackUnit":0,
31
+ "location":"",
32
+ "rack":"",
33
+ "room":""
34
+ },
35
+ "otherMcStatus":"Not Communicating",
36
+ "pfu":"Idle",
37
+ "healthReason":"A subcomponent of this component is unhealthy.",
38
+ "driveBays":12,
39
+ "supportedLocales":"English (English), Arabic (العربية), Portuguese (português), Spanish (español), French (français), German (Deutsch), Italian (italiano), Japanese (日本語), Korean (한국어), Dutch (Nederlands), Russian (русский), Chinese-Simplified (简体中文), Chinese-Traditional (繁體中文)",
40
+ "canisterSlots":2,
41
+ "ipv4Addresses":[
42
+ "10.243.5.61",
43
+ "10.243.5.62"
44
+ ],
45
+ "userDefinedName":"S3200-1",
46
+ "diskGroups":0,
47
+ "cmmHealthState":"Critical",
48
+ "userDescription":"RTP_S3200_1",
49
+ "excludedHealthState":"Critical",
50
+ "virtualPools":0,
51
+ "uri":"storage/1B33D6D13F267A614567A897DC784F00",
52
+ "enclosures":[
53
+ {
54
+ "enclosureInfo":{
55
+ "wwn":"500C0FF02683AF3C",
56
+ "model":"S3200",
57
+ "vendorName":"Lenovo",
58
+ "status":"Up",
59
+ "diskCount":0,
60
+ "enclosureId":0,
61
+ "driveBays":12,
62
+ "midplaneSerialNumber":"11S00WC065Y010DH58A0C8",
63
+ "health":"Degraded"
64
+ },
65
+ "location":{
66
+ "lowestRackUnit":0,
67
+ "location":"",
68
+ "rack":"",
69
+ "room":""
70
+ },
71
+ "frus":[
72
+ {
73
+ "fruStatus":"OK",
74
+ "description":"CHASSIS 6G 2U12 V2 LENOVO",
75
+ "serialNumber":"11S00WC065Y010DH58A0C8",
76
+ "shortName":"Midplane/Chassis",
77
+ "fruLocation":"MID-PLANE SLOT",
78
+ "partNumber":"00WC065"
79
+ },
80
+ {
81
+ "fruStatus":"OK",
82
+ "description":"PSU 595W AC 2U NO SW LENOVO",
83
+ "serialNumber":"11S00WC067Y010DH58A0YC",
84
+ "shortName":"AC Power Supply",
85
+ "fruLocation":"RIGHT PSU SLOT",
86
+ "partNumber":"00WC067"
87
+ },
88
+ {
89
+ "fruStatus":"OK",
90
+ "description":"PSU 595W AC 2U NO SW LENOVO",
91
+ "serialNumber":"11S00WC067Y010DH58A0YD",
92
+ "shortName":"AC Power Supply",
93
+ "fruLocation":"LEFT PSU SLOT",
94
+ "partNumber":"00WC067"
95
+ },
96
+ {
97
+ "fruStatus":"OK",
98
+ "description":"SPS Memory Card",
99
+ "serialNumber":"",
100
+ "shortName":"Memory Card",
101
+ "fruLocation":"UPPER IOM MEMORY CARD SLOT",
102
+ "partNumber":"40-00000053"
103
+ },
104
+ {
105
+ "fruStatus":"Fault",
106
+ "description":"48X4 4xCNC RIOM-LX 6GB LENOVO",
107
+ "serialNumber":"11S00WC050Y010DH57V0LX",
108
+ "shortName":"RAID IOM",
109
+ "fruLocation":"LOWER IOM SLOT",
110
+ "partNumber":"00WC050"
111
+ },
112
+ {
113
+ "fruStatus":"OK",
114
+ "description":"48X4 4xCNC RIOM-LX 6GB LENOVO",
115
+ "serialNumber":"11S00WC050Y010DH57V0KH",
116
+ "shortName":"RAID IOM",
117
+ "fruLocation":"UPPER IOM SLOT",
118
+ "partNumber":"00WC050"
119
+ },
120
+ {
121
+ "fruStatus":"Absent",
122
+ "description":"",
123
+ "serialNumber":"",
124
+ "shortName":"",
125
+ "fruLocation":"LOWER IOM MEMORY CARD SLOT",
126
+ "partNumber":""
127
+ }
128
+ ],
129
+ "powerSupplies":[
130
+ {
131
+ "position":"Right",
132
+ "model":"00WC067",
133
+ "vendorName":"",
134
+ "status":"Up",
135
+ "healthReason":"",
136
+ "health":"OK",
137
+ "healthRecommendation":""
138
+ },
139
+ {
140
+ "position":"Left",
141
+ "model":"00WC067",
142
+ "vendorName":"",
143
+ "status":"Up",
144
+ "healthReason":"",
145
+ "health":"OK",
146
+ "healthRecommendation":""
147
+ }
148
+ ],
149
+ "drives":[
150
+
151
+ ],
152
+ "canisters":[
153
+ {
154
+ "position":"Top",
155
+ "systemCacheMemory":6144,
156
+ "diskBusType":"SAS",
157
+ "phyIsolation":"Enabled",
158
+ "controllerRedundancyStatus":"Operational but not redundant",
159
+ "serialNumber":"11S00WC050Y010DH57V0KH",
160
+ "networkPorts":{
161
+ "gateway":"10.243.0.1",
162
+ "networkMask":"255.255.240.0",
163
+ "ipVersion":4,
164
+ "name":"mgmtport_a",
165
+ "macAddress":"00:c0:ff:26:5e:de",
166
+ "healthReason":"",
167
+ "health":"OK",
168
+ "addressingMode":"Manual",
169
+ "healthRecommendation":"",
170
+ "ipAddress":"10.243.5.61"
171
+ },
172
+ "diskChannels":2,
173
+ "revision":"0",
174
+ "cmmDisplayName":"controller_a",
175
+ "healthReason":"",
176
+ "healthRecommendation":"",
177
+ "controllerId":"A",
178
+ "firmware":{
179
+ "storageControllerCpuType":"Gladden 1300MHz",
180
+ "bundleVersion":"No System Bundle",
181
+ "buildDate":"",
182
+ "storageControllerCodeVersion":"GLS221R08-01",
183
+ "storageControllerCodeBaselevel":"GLS221R08-01",
184
+ "storageControllerLoaderCodeVersion":"27.016",
185
+ "capiVersion":"3.19",
186
+ "managementControllerCodeVersion":"GLM221X003",
187
+ "managementControllerLoaderCodeVersion":"6.18.22216",
188
+ "expanderControllerCodeVersion":"3202",
189
+ "cpldCodeVersion":"55",
190
+ "hardwareVersion":"5.2",
191
+ "hostInterfaceModuleVersion":"11",
192
+ "hostInterfaceModuleModel":"6",
193
+ "backplaneType":"7",
194
+ "hostInterfaceHardwareVersion":"2",
195
+ "diskInterfaceHardwareVersion":"3",
196
+ "scBootMemoryReferenceCodeVersion":"1.2.1.10"
197
+ },
198
+ "status":"Operational",
199
+ "failOverReason":"Shutdown",
200
+ "health":"Normal",
201
+ "disks":0,
202
+ "powerState":"On",
203
+ "failedOverToThisController":"Yes",
204
+ "hostPorts":4,
205
+ "controllerRedundancyMode":"Failed Over",
206
+ "hardwareVersion":"5.2",
207
+ "expansionPorts":[
208
+ {
209
+ "status":"Disconnected",
210
+ "name":"Out Port",
211
+ "healthReason":"No drive enclosure is connected to this expansion port. This is normal if this is the last (or only) enclosure in the cabling sequence of the system.",
212
+ "health":"N/A",
213
+ "healthRecommendation":"- No action is required."
214
+ }
215
+ ],
216
+ "energyMetrics":{
217
+ "memoryTemperature":[
218
+
219
+ ],
220
+ "diskControllerTemperature":[
221
+
222
+ ],
223
+ "inletAirTemperature":[
224
+
225
+ ]
226
+ },
227
+ "ports":[
228
+ {
229
+ "port":"A3",
230
+ "reason":"There is no active connection to this host port.",
231
+ "configSpeed":"Auto",
232
+ "status":"Disconnected",
233
+ "action":"- If this host port is intentionally unused, no action is required.\n - Otherwise, use an appropriate interface cable to connect this host port to a switch or host.\n - If a cable is connected, check the cable and the switch or host for problems.",
234
+ "topology":"PTP",
235
+ "targetId":"237000c0ff2683af",
236
+ "actualSpeed":"",
237
+ "health":"N/A",
238
+ "media":"FC(-)"
239
+ },
240
+ {
241
+ "port":"A1",
242
+ "reason":"There is no active connection to this host port.",
243
+ "configSpeed":"Auto",
244
+ "status":"Disconnected",
245
+ "action":"- If this host port is intentionally unused, no action is required.\n - Otherwise, use an appropriate interface cable to connect this host port to a switch or host.\n - If a cable is connected, check the cable and the switch or host for problems.",
246
+ "topology":"PTP",
247
+ "targetId":"217000c0ff2683af",
248
+ "actualSpeed":"",
249
+ "health":"N/A",
250
+ "media":"FC(-)"
251
+ },
252
+ {
253
+ "port":"A0",
254
+ "reason":"There is no active connection to this host port.",
255
+ "configSpeed":"Auto",
256
+ "status":"Disconnected",
257
+ "action":"- If this host port is intentionally unused, no action is required.\n - Otherwise, use an appropriate interface cable to connect this host port to a switch or host.\n - If a cable is connected, check the cable and the switch or host for problems.",
258
+ "topology":"PTP",
259
+ "targetId":"207000c0ff2683af",
260
+ "actualSpeed":"",
261
+ "health":"N/A",
262
+ "media":"FC(-)"
263
+ },
264
+ {
265
+ "port":"A2",
266
+ "reason":"There is no active connection to this host port.",
267
+ "configSpeed":"Auto",
268
+ "status":"Disconnected",
269
+ "action":"- If this host port is intentionally unused, no action is required.\n - Otherwise, use an appropriate interface cable to connect this host port to a switch or host.\n - If a cable is connected, check the cable and the switch or host for problems.",
270
+ "topology":"PTP",
271
+ "targetId":"227000c0ff2683af",
272
+ "actualSpeed":"",
273
+ "health":"N/A",
274
+ "media":"FC(-)"
275
+ }
276
+ ]
277
+ },
278
+ {
279
+ "position":"Bottom",
280
+ "systemCacheMemory":6144,
281
+ "diskBusType":"SAS",
282
+ "phyIsolation":"Enabled",
283
+ "controllerRedundancyStatus":"Operational but not redundant",
284
+ "serialNumber":"11S00WC050Y010DH57V0LX",
285
+ "networkPorts":{
286
+ "gateway":"10.243.0.1",
287
+ "networkMask":"255.255.240.0",
288
+ "ipVersion":4,
289
+ "name":"mgmtport_b",
290
+ "macAddress":"00:c0:ff:26:5e:fb",
291
+ "healthReason":"The network port health is unknown. It may be unhealthy.",
292
+ "health":"Unknown",
293
+ "addressingMode":"Manual",
294
+ "healthRecommendation":"- Check in the event log for events related to this component and follow the recommended actions for those events.",
295
+ "ipAddress":"10.243.5.62"
296
+ },
297
+ "diskChannels":2,
298
+ "revision":"0",
299
+ "cmmDisplayName":"controller_b",
300
+ "healthReason":"The controller is not operational.",
301
+ "healthRecommendation":"- Restart the Storage Controller in this controller module, unless it is performing an operation where it is normal for it to be shut down, such as firmware update.",
302
+ "controllerId":"B",
303
+ "firmware":{
304
+ "storageControllerCpuType":"Not Present",
305
+ "bundleVersion":"Not Present",
306
+ "buildDate":"Not Present",
307
+ "storageControllerCodeVersion":"Not Present",
308
+ "storageControllerCodeBaselevel":"Not Present",
309
+ "storageControllerLoaderCodeVersion":"Not Present",
310
+ "capiVersion":"Not Present",
311
+ "managementControllerCodeVersion":"Not Present",
312
+ "managementControllerLoaderCodeVersion":"Not Present",
313
+ "expanderControllerCodeVersion":"Not Present",
314
+ "cpldCodeVersion":"Not Present",
315
+ "hardwareVersion":"Not Present",
316
+ "hostInterfaceModuleVersion":"Not Present",
317
+ "hostInterfaceModuleModel":"Not Present",
318
+ "backplaneType":"0",
319
+ "hostInterfaceHardwareVersion":"0",
320
+ "diskInterfaceHardwareVersion":"0",
321
+ "scBootMemoryReferenceCodeVersion":"Not Present"
322
+ },
323
+ "status":"Down",
324
+ "failOverReason":"Not applicable",
325
+ "health":"Critical",
326
+ "disks":0,
327
+ "powerState":"Off",
328
+ "failedOverToThisController":"No",
329
+ "hostPorts":4,
330
+ "controllerRedundancyMode":"Failed Over",
331
+ "hardwareVersion":"5.2",
332
+ "expansionPorts":[
333
+ {
334
+ "status":"Not Present",
335
+ "name":"Out Port",
336
+ "healthReason":"The controller that contains this subcomponent is not operational.",
337
+ "health":"Unknown",
338
+ "healthRecommendation":"- See the health information for the controller module that contains this component."
339
+ }
340
+ ],
341
+ "energyMetrics":{
342
+ "memoryTemperature":[
343
+
344
+ ],
345
+ "diskControllerTemperature":[
346
+
347
+ ],
348
+ "inletAirTemperature":[
349
+
350
+ ]
351
+ },
352
+ "ports":[
353
+ {
354
+ "port":"B1",
355
+ "reason":"The controller that contains this subcomponent is not operational.",
356
+ "configSpeed":"Auto",
357
+ "status":"Not Present",
358
+ "action":"- See the health information for the controller module that contains this component.",
359
+ "topology":"PTP",
360
+ "targetId":"257000c0ff2683af",
361
+ "actualSpeed":"",
362
+ "health":"Unknown",
363
+ "media":"FC(-)"
364
+ },
365
+ {
366
+ "port":"B0",
367
+ "reason":"The controller that contains this subcomponent is not operational.",
368
+ "configSpeed":"Auto",
369
+ "status":"Not Present",
370
+ "action":"- See the health information for the controller module that contains this component.",
371
+ "topology":"PTP",
372
+ "targetId":"247000c0ff2683af",
373
+ "actualSpeed":"",
374
+ "health":"Unknown",
375
+ "media":"FC(-)"
376
+ },
377
+ {
378
+ "port":"B2",
379
+ "reason":"The controller that contains this subcomponent is not operational.",
380
+ "configSpeed":"Auto",
381
+ "status":"Not Present",
382
+ "action":"- See the health information for the controller module that contains this component.",
383
+ "topology":"PTP",
384
+ "targetId":"267000c0ff2683af",
385
+ "actualSpeed":"",
386
+ "health":"Unknown",
387
+ "media":"FC(-)"
388
+ },
389
+ {
390
+ "port":"B3",
391
+ "reason":"The controller that contains this subcomponent is not operational.",
392
+ "configSpeed":"Auto",
393
+ "status":"Not Present",
394
+ "action":"- See the health information for the controller module that contains this component.",
395
+ "topology":"PTP",
396
+ "targetId":"277000c0ff2683af",
397
+ "actualSpeed":"",
398
+ "health":"Unknown",
399
+ "media":"FC(-)"
400
+ }
401
+ ]
402
+ }
403
+ ],
404
+ "energyMetrics":{
405
+ "enclosurePower":[
406
+
407
+ ]
408
+ },
409
+ "slots":[
410
+
411
+ ]
412
+ }
413
+ ],
414
+ "parent":{
415
+ "uuid":"",
416
+ "uri":""
417
+ },
418
+ "enclosureCount":1,
419
+ "securityDescriptor":{
420
+ "managedAuthSupported":false,
421
+ "publicAccess":false,
422
+ "uri":"storage/1B33D6D13F267A614567A897DC784F00",
423
+ "roleGroups":[
424
+
425
+ ],
426
+ "managedAuthEnabled":false
427
+ },
428
+ "mgmtProcIPaddress":"10.243.5.61"
429
+ }
430
+ ]
431
+ }
432
+
433
+ + Response 400
434
+ + Response 401
435
+ + Response 404
436
+ + Response 409
437
+ + Response 500
438
+
439
+ # GET /storages/1B33D6D13F267A614567A897DC784F00?includeAttributes=name,type,accessState,driveBays,enclosureCount,canisterSlots,room
440
+
441
+ + Response 200 (application/json)
442
+ {
443
+ "storageList":[
444
+ {
445
+ "name":"S3200-1",
446
+ "type":"Lenovo Storage",
447
+ "accessState":"Online",
448
+ "driveBays":12,
449
+ "enclosureCount":1,
450
+ "canisterSlots":2,
451
+ "room":""
452
+ }
453
+ ]
454
+ }
455
+
456
+ + Response 400
457
+ + Response 401
458
+ + Response 404
459
+ + Response 409
460
+ + Response 500
461
+
462
+ # GET /storages/1B33D6D13F267A614567A897DC784F00?excludeAttributes=type,room
463
+
464
+ + Response 200 (application/json)
465
+ {
466
+ "storageList":[
467
+ {
468
+ "name":"S3200-1",
469
+ "accessState":"Online",
470
+ "driveBays":12,
471
+ "enclosureCount":1,
472
+ "canisterSlots":2
473
+ }
474
+ ]
475
+ }
476
+
477
+ + Response 400
478
+ + Response 401
479
+ + Response 404
480
+ + Response 409
481
+ + Response 500