xclarity_client 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d635bea57d869451ba76b10e0d81712fda6e429b
4
- data.tar.gz: 4387236943efa27f6460a7c1b5855e6effc9b188
3
+ metadata.gz: a94d8c6370c78465f0607a7ea7d5dece6ac95d94
4
+ data.tar.gz: ce694e22536e0b68ee82ad13bc8e523a9e497b84
5
5
  SHA512:
6
- metadata.gz: 29bc67ba63626984eb9c43f980526857f3c0ffae04e04bad2e9b20d548f31d7633000fbb95b0cdca0dc5a23c88ece22ef78c2243f807bbccaf9d4e8ad6fbc446
7
- data.tar.gz: 9e752a0fb9c1fe2edbf8160ac57f7522810ddd3a99fbdcf061f394ba3370fb7c7de2866509634ad8e9aeebcd8aef5f3b0a82d6400b64e6b517b14382aff9ed49
6
+ metadata.gz: '09cb4cfa48391846096107de5f4989d20246d8bd0edae3735264f304cf3d4df1b7d884ba0f9ad3f74f456aa971d83f5885e7fb8e503213f4356e1f5c607b503f'
7
+ data.tar.gz: dbb35e325ad671c58f5431bec6d40577f4655a569008afd33b2df25d4a9866d05bd809767c137e962c37ae558699068ebf25d50ef9c4f8a2f027b10fe030152d
@@ -30,7 +30,9 @@ FORMAT: 1A
30
30
  "ipAddresses" : [""]
31
31
  }
32
32
  ]
33
- + Response 200
33
+ + Response 200 (application/json)
34
+ + Headers
35
+ Location: /discoverRequest/jobs/215
34
36
 
35
37
  + Response 400
36
38
  + Response 401
@@ -0,0 +1,359 @@
1
+ FORMAT: 1A
2
+
3
+ # XClarity Users
4
+
5
+ # GET /manageRequest/jobs/4229
6
+
7
+ + Response 200 (application/json)
8
+ {
9
+ "progress": 100.0,
10
+ "results": [{
11
+ "result": "OTHER_FAIL",
12
+ "resultLongDescription": "An internal error occurred during the management process. Attempt the management operation again. If the problem persists, contact Support.",
13
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.rest.messages",
14
+ "messageParameters": "10.240.72.172",
15
+ "resultShortDescription": "Other failure",
16
+ "progress": 100.0,
17
+ "messageID": "0509_LONG",
18
+ "uuid": "46920c143355486f97c19a34abc7d746",
19
+ "taskid": 4228,
20
+ "time_spent": 68026,
21
+ "status": {
22
+ "substatus": [{
23
+ "longDescription": "Starting endpoint management job",
24
+ "userAction": "",
25
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
26
+ "messageID": "1000_SHORT",
27
+ "progress": 100.0,
28
+ "started": true,
29
+ "id": "STARTING",
30
+ "shortDescription": "Starting",
31
+ "completed": true,
32
+ "status": {
33
+ "percentage": 100.0,
34
+ "description": [{
35
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
36
+ "messageID": "1027_LONG"
37
+ }],
38
+ "state": "Complete"
39
+ }
40
+ }, {
41
+ "longDescription": "Choosing best network path to manage the endpoint",
42
+ "userAction": "",
43
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
44
+ "messageID": "1001_SHORT",
45
+ "progress": 100.0,
46
+ "started": true,
47
+ "id": "NETWORK_CHOICE",
48
+ "shortDescription": "Network choice",
49
+ "completed": true,
50
+ "status": {
51
+ "percentage": 100.0,
52
+ "description": [{
53
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
54
+ "messageID": "1027_LONG"
55
+ }],
56
+ "state": "Complete"
57
+ }
58
+ }, {
59
+ "longDescription": "Creating hardware descriptor",
60
+ "userAction": "",
61
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
62
+ "messageID": "1002_SHORT",
63
+ "progress": 100.0,
64
+ "started": true,
65
+ "id": "DESCRIPTOR",
66
+ "shortDescription": "Descriptor",
67
+ "completed": true,
68
+ "status": {
69
+ "percentage": 100.0,
70
+ "description": [{
71
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
72
+ "messageID": "1027_LONG"
73
+ }],
74
+ "state": "Complete"
75
+ }
76
+ }, {
77
+ "longDescription": "Logging in to endpoint",
78
+ "userAction": "",
79
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
80
+ "messageID": "1003_SHORT",
81
+ "progress": 100.0,
82
+ "started": true,
83
+ "id": "LOGIN",
84
+ "shortDescription": "Login",
85
+ "completed": true,
86
+ "status": {
87
+ "percentage": 100.0,
88
+ "description": [{
89
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
90
+ "messageID": "1027_LONG"
91
+ }],
92
+ "state": "Complete"
93
+ }
94
+ }, {
95
+ "longDescription": "Checking for duplicates of endpoint management",
96
+ "userAction": "",
97
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
98
+ "messageID": "1004_SHORT",
99
+ "progress": 100.0,
100
+ "started": true,
101
+ "id": "DUPLICATE_CHECK",
102
+ "shortDescription": "Duplicate check",
103
+ "completed": true,
104
+ "status": {
105
+ "percentage": 100.0,
106
+ "description": [{
107
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
108
+ "messageID": "1027_LONG"
109
+ }],
110
+ "state": "Complete"
111
+ }
112
+ }, {
113
+ "longDescription": "Collecting endpoint inventory",
114
+ "userAction": "",
115
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
116
+ "messageID": "1005_SHORT",
117
+ "progress": 0.0,
118
+ "started": false,
119
+ "id": "INVENTORY",
120
+ "shortDescription": "Inventory",
121
+ "completed": false,
122
+ "status": {
123
+ "substatus": [{
124
+ "longDescription": "Collecting chassis inventory",
125
+ "userAction": "",
126
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
127
+ "messageID": "1006_SHORT",
128
+ "progress": 0.0,
129
+ "started": false,
130
+ "id": "INV_CHASSIS",
131
+ "shortDescription": "Chassis inventory",
132
+ "completed": false,
133
+ "status": {
134
+ "percentage": 0.0,
135
+ "description": [{
136
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
137
+ "messageID": "1027_LONG"
138
+ }],
139
+ "state": "Stopped_With_Error"
140
+ }
141
+ }, {
142
+ "longDescription": "Collecting node inventory",
143
+ "userAction": "",
144
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
145
+ "messageID": "1007_SHORT",
146
+ "progress": 0.0,
147
+ "started": false,
148
+ "id": "INV_NODES",
149
+ "shortDescription": "Node inventory",
150
+ "completed": false,
151
+ "status": {
152
+ "percentage": 0.0,
153
+ "description": [{
154
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
155
+ "messageID": "1027_LONG"
156
+ }],
157
+ "state": "Stopped_With_Error"
158
+ }
159
+ }, {
160
+ "longDescription": "Collection I/O module inventory",
161
+ "userAction": "",
162
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
163
+ "messageID": "1008_SHORT",
164
+ "progress": 0.0,
165
+ "started": false,
166
+ "id": "INV_IOMS",
167
+ "shortDescription": "I/O module inventory",
168
+ "completed": false,
169
+ "status": {
170
+ "percentage": 0.0,
171
+ "description": [{
172
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
173
+ "messageID": "1027_LONG"
174
+ }],
175
+ "state": "Stopped_With_Error"
176
+ }
177
+ }],
178
+ "percentage": 0.0,
179
+ "description": [{
180
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
181
+ "messageID": "1027_LONG"
182
+ }],
183
+ "state": "Stopped_With_Error"
184
+ }
185
+ }, {
186
+ "longDescription": "Verifying endpoint interoperability",
187
+ "userAction": "",
188
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
189
+ "messageID": "1009_SHORT",
190
+ "progress": 0.0,
191
+ "started": false,
192
+ "id": "INTEROP_CHECK",
193
+ "shortDescription": "Interoperability check",
194
+ "completed": false,
195
+ "status": {
196
+ "percentage": 0.0,
197
+ "description": [{
198
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
199
+ "messageID": "1027_LONG"
200
+ }],
201
+ "state": "Stopped_With_Error"
202
+ }
203
+ }, {
204
+ "longDescription": "Configuring endpoint for management",
205
+ "userAction": "",
206
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
207
+ "messageID": "1010_SHORT",
208
+ "progress": 0.0,
209
+ "started": false,
210
+ "id": "CONFIGURATION",
211
+ "shortDescription": "Configuration",
212
+ "completed": false,
213
+ "status": {
214
+ "substatus": [{
215
+ "longDescription": "Configuring NTP",
216
+ "userAction": "",
217
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
218
+ "messageID": "1011_SHORT",
219
+ "progress": 0.0,
220
+ "started": false,
221
+ "id": "CFG_NTP",
222
+ "shortDescription": "NTP",
223
+ "completed": false,
224
+ "status": {
225
+ "percentage": 0.0,
226
+ "description": [{
227
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
228
+ "messageID": "1027_LONG"
229
+ }],
230
+ "state": "Stopped_With_Error"
231
+ }
232
+ }, {
233
+ "longDescription": "Updating DNS servers ip addresses on CMM as part of the manage chassis process.",
234
+ "userAction": "",
235
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
236
+ "messageID": "1067_SHORT",
237
+ "progress": 0.0,
238
+ "started": false,
239
+ "id": "CFG_DNS_UPD",
240
+ "shortDescription": "Updating DNS servers ip addresses on CMM",
241
+ "completed": false,
242
+ "status": {
243
+ "percentage": 0.0,
244
+ "description": [{
245
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
246
+ "messageID": "1027_LONG"
247
+ }],
248
+ "state": "Stopped_With_Error"
249
+ }
250
+ }, {
251
+ "longDescription": "Configuring security",
252
+ "userAction": "",
253
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
254
+ "messageID": "1012_SHORT",
255
+ "progress": 0.0,
256
+ "started": false,
257
+ "id": "CFG_SECURITY",
258
+ "shortDescription": "Security",
259
+ "completed": false,
260
+ "status": {
261
+ "percentage": 0.0,
262
+ "description": [{
263
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
264
+ "messageID": "1027_LONG"
265
+ }],
266
+ "state": "Stopped_With_Error"
267
+ }
268
+ }, {
269
+ "longDescription": "Putting endpoint under managed authentication",
270
+ "userAction": "",
271
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
272
+ "messageID": "1013_SHORT",
273
+ "progress": 0.0,
274
+ "started": false,
275
+ "id": "CFG_CMGMT",
276
+ "shortDescription": "Managed authentication",
277
+ "completed": false,
278
+ "status": {
279
+ "percentage": 0.0,
280
+ "description": [{
281
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
282
+ "messageID": "1027_LONG"
283
+ }],
284
+ "state": "Stopped_With_Error"
285
+ }
286
+ }],
287
+ "percentage": 0.0,
288
+ "description": [{
289
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
290
+ "messageID": "1027_LONG"
291
+ }],
292
+ "state": "Stopped_With_Error"
293
+ }
294
+ }, {
295
+ "longDescription": "Configuring Hardware location",
296
+ "userAction": "",
297
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
298
+ "messageID": "1097_SHORT",
299
+ "progress": 0.0,
300
+ "started": false,
301
+ "id": "CFG_CABINET",
302
+ "shortDescription": "Configuring Hardware location",
303
+ "completed": false,
304
+ "status": {
305
+ "percentage": 0.0,
306
+ "description": [{
307
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
308
+ "messageID": "1027_LONG"
309
+ }],
310
+ "state": "Stopped_With_Error"
311
+ }
312
+ }, {
313
+ "longDescription": "Completing endpoint management job",
314
+ "userAction": "",
315
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
316
+ "messageID": "1114_SHORT",
317
+ "progress": 0.0,
318
+ "started": true,
319
+ "id": "MANAGESTOP",
320
+ "shortDescription": "Completing",
321
+ "completed": false,
322
+ "status": {
323
+ "percentage": 0.0,
324
+ "description": [{
325
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
326
+ "messageID": "1027_LONG"
327
+ }],
328
+ "state": "Running"
329
+ }
330
+ }],
331
+ "percentage": 100.0,
332
+ "description": [{
333
+ "messageBundle": "com.lenovo.lxca.discovery.bundle.tasks.messages",
334
+ "messageID": "1027_LONG"
335
+ }],
336
+ "state": "Stopped_With_Error"
337
+ }
338
+ }],
339
+ "status": "INCOMPLETE"
340
+ }
341
+
342
+ + Response 400
343
+ + Response 401
344
+ + Response 404
345
+ + Response 409
346
+ + Response 500
347
+
348
+ # POST /manageRequest
349
+ + Request (application/json)
350
+
351
+ + Response 200 (application/json)
352
+ + Headers
353
+ Location: /manageRequest/jobs/4229
354
+
355
+ + Response 400
356
+ + Response 401
357
+ + Response 404
358
+ + Response 409
359
+ + Response 500
@@ -0,0 +1,426 @@
1
+ FORMAT: 1A
2
+
3
+ # XClarity UpdateComp
4
+
5
+ # Components [/updatableComponents]
6
+
7
+ ## Retrieve [GET]
8
+ + Response 200
9
+ {
10
+ "DeviceList": [
11
+ {
12
+ "CMMList": [
13
+ {
14
+ "UpdateStatus": {
15
+ "JobID": 1,
16
+ "PercentComplete": 1,
17
+ "Phase": "Applying",
18
+ "StartTime": "2015-04-13 12:50:31.077",
19
+ "State": "InProgress",
20
+ "Status": "Active",
21
+ "TaskID": 1
22
+ },
23
+ "UUID": "6134AFCEA91311E199A5A45AC8953137"
24
+ }
25
+ ]
26
+ },
27
+ {
28
+ "ServerList": [
29
+ {
30
+ "UUID": "8BFBADCC33CB11E499F740F2E9903640",
31
+ "Components": [{
32
+ "Component": "System Prerequisites",
33
+ "UpdateStatus": {
34
+ "JobID": 1,
35
+ "PercentComplete": 0,
36
+ "Phase": "Queued",
37
+ "State": "Blocked",
38
+ "Status": "Queued",
39
+ "TaskID": 4
40
+ },
41
+ "Weight": 1
42
+ },
43
+ {
44
+ "Component": "ITE",
45
+ "UpdateStatus": {
46
+ "CurrentComponent": {
47
+ "Component": "Queued"
48
+ },
49
+ "PercentComplete": 0,
50
+ "State": "NotStarted",
51
+ "Status": "Active",
52
+ "TotalComplete": 0,
53
+ "TotalComponents": 32
54
+ }
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "UUID": "0CDF130FDFC211E392806CAE8B704250",
60
+ "Components": [
61
+ {
62
+ "Component": "System Prerequisites",
63
+ "UpdateStatus": {
64
+ "JobID": 1,
65
+ "PercentComplete": 0,
66
+ "Phase": "Queued",
67
+ "State": "Blocked",
68
+ "Status": "Queued",
69
+ "TaskID": 64
70
+ },
71
+ "Weight": 1
72
+
73
+ },
74
+ {
75
+ "Component": "ITE",
76
+ "UpdateStatus": {
77
+ "CurrentComponent": {
78
+ "Component": "Queued"
79
+ },
80
+ "PercentComplete": 0,
81
+ "State": "NotStarted",
82
+ "Status": "Active",
83
+ "TotalComplete": 0,
84
+ "TotalComponents": 30
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "SwitchList": [
93
+ {
94
+ "ReadinessCheck": {
95
+ "ElapsedTime": "00:00:00:01.509",
96
+ "ElapsedTimeFormatted": "1 second 509 milliseconds",
97
+ "EndTime": "2016-04-07 23:44:10.366",
98
+ "JobID": 1,
99
+ "PercentComplete": 100,
100
+ "Phase": "Complete",
101
+ "StartTime": "2016-04-07 23:44:08.857",
102
+ "State": "Complete",
103
+ "Status": "Failed",
104
+ "TaskID": 1,
105
+ "Message": {
106
+ "result": "informational",
107
+ "messages": [
108
+ {
109
+ "id": "FQXHMUP1000I",
110
+ "text": "The command completed successfully."
111
+ },
112
+ {
113
+ "id": "FQXHMUP4545L",
114
+ "text": "The device is not ready for an update.",
115
+ "explanation": "The device did not pass validation for firmware updates..",
116
+ "recovery": {
117
+ "text": "Correct the issues discovered by validation checks."
118
+ }
119
+ }
120
+ ]
121
+ }
122
+ },
123
+ "UpdateStatus": {
124
+ "EndTime": "2016-04-07 23:44:10.869",
125
+ "JobID": 1,
126
+ "PercentComplete": 100,
127
+ "Phase": "Complete",
128
+ "State": "Complete",
129
+ "Status": "Canceled",
130
+ "TaskID": 3,
131
+ "Message": {
132
+ "result": "warning",
133
+ "messages": [
134
+ {
135
+ "id": "FQXHMUP4086F",
136
+ "text": "The RackSwitch G7052 xHMCUpdates task was canceled.",
137
+ "explanation": "The task was canceled",
138
+ "recovery": {
139
+ "text": "Try to perform the update again.If the problem persists"
140
+ }
141
+ }
142
+ ]
143
+ }
144
+ },
145
+ "UUID": "0b0f5101bb8844b8b2d1c1aaeb24f446"
146
+ }
147
+ ]
148
+ }
149
+ ],
150
+ "UpdateStatusMetrics": {
151
+ "TotaldeviceUpdates": 6,
152
+ "TotaldeviceUpdatesActive": 6,
153
+ "TotaldeviceUpdatesComplete": 0,
154
+ "TotaldeviceUpdatesInProgress": 1,
155
+ "TotalJobs": 1,
156
+ "TotalJobsComplete": 0,
157
+ "TotalJobsInProgress": 1,
158
+ "TotalJobsPercentComplete": 0,
159
+ "TotalSupportTasks": 18,
160
+ "TotalSupportTasksActive": 18,
161
+ "TotalTasks": 93,
162
+ "TotalTasksBlocked": 92,
163
+ "TotalTasksCanceled": 0,
164
+ "TotalTasksComplete": 0,
165
+ "TotalTasksFailed": 0,
166
+ "TotalTasksInProgress": 1,
167
+ "TotalTasksSuccess": 0,
168
+ "TotalUpdateTasks": 75,
169
+ "TotalUpdateTasksActive": 72
170
+ },
171
+ "result": "informational",
172
+ "messages": [
173
+ {
174
+ "id": "FQXHMUP4091I",
175
+ "text": "Update Status was obtained successfully."
176
+ }
177
+ ]
178
+ }
179
+
180
+ + Response 400
181
+ + Response 401
182
+ + Response 404
183
+ + Response 409
184
+ + Response 500
185
+
186
+ # Components [/updatableComponents?action=getComponents]
187
+
188
+ ## Retrieve [GET]
189
+ + Response 200
190
+ {
191
+ "DeviceList": [
192
+ {
193
+ "CMMList": [
194
+ {
195
+ "UpdateStatus": {
196
+ "JobID": 1,
197
+ "PercentComplete": 1,
198
+ "Phase": "Applying",
199
+ "StartTime": "2015-04-13 12:50:31.077",
200
+ "State": "InProgress",
201
+ "Status": "Active",
202
+ "TaskID": 1
203
+ },
204
+ "UUID": "6134AFCEA91311E199A5A45AC8953137"
205
+ }
206
+ ]
207
+ },
208
+ {
209
+ "ServerList": [
210
+ {
211
+ "UUID": "8BFBADCC33CB11E499F740F2E9903640",
212
+ "Components": [
213
+ {
214
+ "Component": "System Prerequisites",
215
+ "UpdateStatus": {
216
+ "JobID": 1,
217
+ "PercentComplete": 0,
218
+ "Phase": "Queued",
219
+ "State": "Blocked",
220
+ "Status": "Queued",
221
+ "TaskID": 4
222
+ },
223
+ "Weight": 1
224
+ },
225
+ {
226
+ "Component": "ITE",
227
+ "UpdateStatus": {
228
+ "CurrentComponent": {
229
+ "Component": "Queued"
230
+ },
231
+ "PercentComplete": 0,
232
+ "State": "NotStarted",
233
+ "Status": "Active",
234
+ "TotalComplete": 0,
235
+ "TotalComponents": 32
236
+ }
237
+ }
238
+ ]
239
+ },
240
+ {
241
+ "UUID": "0CDF130FDFC211E392806CAE8B704250",
242
+ "Components": [
243
+ {
244
+ "Component": "System Prerequisites",
245
+ "UpdateStatus": {
246
+ "JobID": 1,
247
+ "PercentComplete": 0,
248
+ "Phase": "Queued",
249
+ "State": "Blocked",
250
+ "Status": "Queued",
251
+ "TaskID": 64
252
+ },
253
+ "Weight": 1
254
+
255
+ },
256
+ {
257
+ "Component": "ITE",
258
+ "UpdateStatus": {
259
+ "CurrentComponent": {
260
+ "Component": "Queued"
261
+ },
262
+ "PercentComplete": 0,
263
+ "State": "NotStarted",
264
+ "Status": "Active",
265
+ "TotalComplete": 0,
266
+ "TotalComponents": 30
267
+ }
268
+ }
269
+ ]
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "SwitchList": [
275
+ {
276
+ "ReadinessCheck": {
277
+ "ElapsedTime": "00:00:00:01.509",
278
+ "ElapsedTimeFormatted": "1 second 509 milliseconds",
279
+ "EndTime": "2016-04-07 23:44:10.366",
280
+ "JobID": 1,
281
+ "PercentComplete": 100,
282
+ "Phase": "Complete",
283
+ "StartTime": "2016-04-07 23:44:08.857",
284
+ "State": "Complete",
285
+ "Status": "Failed",
286
+ "TaskID": 1,
287
+ "Message": {
288
+ "result": "informational",
289
+ "messages": [
290
+ {
291
+ "id": "FQXHMUP1000I",
292
+ "text": "The command completed successfully."
293
+ },
294
+ {
295
+ "id": "FQXHMUP4545L",
296
+ "text": "The device is not ready for an update.",
297
+ "explanation": "The device did not pass validation for firmware updates..",
298
+ "recovery": {
299
+ "text": "Correct the issues discovered by validation checks."
300
+ }
301
+ }
302
+ ]
303
+ }
304
+ },
305
+ "UpdateStatus": {
306
+ "EndTime": "2016-04-07 23:44:10.869",
307
+ "JobID": 1,
308
+ "PercentComplete": 100,
309
+ "Phase": "Complete",
310
+ "State": "Complete",
311
+ "Status": "Canceled",
312
+ "TaskID": 3,
313
+ "Message": {
314
+ "result": "warning",
315
+ "messages": [
316
+ {
317
+ "id": "FQXHMUP4086F",
318
+ "text": "The RackSwitch G7052 xHMCUpdates task was canceled.",
319
+ "explanation": "The task was canceled",
320
+ "recovery": {
321
+ "text": "Try to perform the update again"
322
+ }
323
+ }
324
+ ]
325
+ }
326
+ },
327
+ "UUID": "0b0f5101bb8844b8b2d1c1aaeb24f446"
328
+ }
329
+ ]
330
+ }
331
+ ],
332
+ "UpdateStatusMetrics": {
333
+ "TotaldeviceUpdates": 6,
334
+ "TotaldeviceUpdatesActive": 6,
335
+ "TotaldeviceUpdatesComplete": 0,
336
+ "TotaldeviceUpdatesInProgress": 1,
337
+ "TotalJobs": 1,
338
+ "TotalJobsComplete": 0,
339
+ "TotalJobsInProgress": 1,
340
+ "TotalJobsPercentComplete": 0,
341
+ "TotalSupportTasks": 18,
342
+ "TotalSupportTasksActive": 18,
343
+ "TotalTasks": 93,
344
+ "TotalTasksBlocked": 92,
345
+ "TotalTasksCanceled": 0,
346
+ "TotalTasksComplete": 0,
347
+ "TotalTasksFailed": 0,
348
+ "TotalTasksInProgress": 1,
349
+ "TotalTasksSuccess": 0,
350
+ "TotalUpdateTasks": 75,
351
+ "TotalUpdateTasksActive": 72
352
+ },
353
+ "result": "informational",
354
+ "messages": [
355
+ {
356
+ "id": "FQXHMUP4091I",
357
+ "text": "Update Status was obtained successfully."
358
+ }
359
+ ]
360
+ }
361
+ + Response 400
362
+ + Response 401
363
+ + Response 404
364
+ + Response 409
365
+ + Response 500
366
+
367
+ # Components [/updatableComponents{?action,activationMode,onErrorMode,forceUpdateMode}]
368
+
369
+ + Parameters
370
+ + action - The action to take. This can be one of the following values - apply, cancelApply, powerState
371
+ + activationMode - Indicates when to activate the update. This can be one of the following values - immediate, delayed
372
+ + forceUpdateMode - Indicates whether to apply the update if firmware is already compliant. This can be one of the following values - true, false
373
+ + onErrorMode - Indicates how to handle errors during the firmware update. This can be one of the following values - stopOnError, stopdeviceOnError, continueOnError
374
+
375
+ ## Apply [PUT]
376
+ + Request (application/json)
377
+ {
378
+ "DeviceList": [
379
+ {
380
+ "ServerList":[{"UUID": "8BFBADCC33CB11E499F740F2E9903640","Components": [{"Fixid": "lnvgy_fw_storage_1.1.1","Component": "Controller a"}]}]
381
+ },
382
+ {
383
+ "SwitchList":[{"UUID": "8BFBADCC33CB11E499F740F2E9903640","Components": [{"Fixid": "lnvgy_fw_scsw_en4093r-8.3.9.0_anyons_noarch","Component": "Main application"}]}]
384
+ },
385
+ {
386
+ "StorageList":[{"UUID": "8BFBADCC33CB11E499F740F2E9903640","Components": [{"Fixid": "lnvgy_fw_storage_1.1.1","Component": "Controller a"}]}]
387
+ },
388
+ {
389
+ "CMMList":[{"UUID": "8BFBADCC33CB11E499F740F2E9903640","Components": [{"Fixid": "lnvgy_fw_storage_1.1.1","Component": "Controller a"}]
390
+ }
391
+ ]
392
+ }
393
+
394
+ + Response 200
395
+
396
+ + Response 400
397
+ + Response 401
398
+ + Response 404
399
+ + Response 409
400
+ + Response 500
401
+
402
+ + Request (application/json)
403
+ {
404
+ "DeviceList": [
405
+ {
406
+ "ServerList":[{"PowerState": "reset","UUID": "8BFBADCC33CB11E499F740F2E9972457"}]
407
+ },
408
+ {
409
+ "SwitchList":[{"PowerState": "powerOn","UUID": "8BFBADCC33CB11E499F740F2E9972458"}]
410
+ },
411
+ {
412
+ "StorageList":[{"PowerState": "powerCycleSoft","UUID": "8BFBADCC33CB11E499F740F2E9972457"}]
413
+ },
414
+ {
415
+ "CMMList":[{"PowerState": "reset","UUID": "8BFBADCC33CB11E499F740F2E213123"}]
416
+ }
417
+ ]
418
+ }
419
+
420
+ + Response 200
421
+
422
+ + Response 400
423
+ + Response 401
424
+ + Response 404
425
+ + Response 409
426
+ + Response 500
@@ -1547,60 +1547,3 @@ FORMAT: 1A
1547
1547
  + Response 404
1548
1548
  + Response 409
1549
1549
  + Response 500
1550
-
1551
- # XClarity Update Repositories [/updatableComponents{?action,with,filetypes}]
1552
-
1553
- + Parameters
1554
- + action - The action to take. This can be one of the following values - read, refresh, acquire, delete, export
1555
- + with - The scope of the action. This can be one of the following values - all, latest, payloads
1556
- + filetypes - When action=delete or action=export is specified, this parameter is used. Value can be set to payloads
1557
-
1558
- ## Update Repo [PUT]
1559
- + Request (application/json)
1560
- {
1561
- "mt": [
1562
- "7167"
1563
- ],
1564
- "os": "",
1565
- "type": "catalog"
1566
- }
1567
- + Response 200
1568
-
1569
- + Response 400
1570
- + Response 401
1571
- + Response 404
1572
- + Response 409
1573
- + Response 500
1574
-
1575
- + Request (application/json)
1576
- {
1577
- "fixids": [
1578
- "brcd_fw_bcsw_nos5.0.1_anyos_noarch",
1579
- "brcd_fw_cna_3.2.4.0_linux_32-64",
1580
- "brcd_fw_cna_3.2.3.0_linux_32-64",
1581
- "lenovo_fw_dsa_dsyte2f-9.61_anyos_32-64"
1582
- ],
1583
- "mt": "0000",
1584
- "type": "latest"
1585
- }
1586
- + Response 200
1587
-
1588
- + Response 400
1589
- + Response 401
1590
- + Response 404
1591
- + Response 409
1592
- + Response 500
1593
-
1594
- + Request (application/json)
1595
- {
1596
- "fixids": [
1597
- "lnvgy_fw_cmm_1aon01k-1.0.0k_anyos_noarch"
1598
- ]
1599
- }
1600
- + Response 200
1601
-
1602
- + Response 400
1603
- + Response 401
1604
- + Response 404
1605
- + Response 409
1606
- + Response 500
@@ -31,7 +31,9 @@ module XClarityClient
31
31
  include XClarityClient::Mixins::StorageMixin
32
32
  include XClarityClient::Mixins::SwitchMixin
33
33
  include XClarityClient::Mixins::UnmanageRequestMixin
34
+ include XClarityClient::Mixins::ManageRequestMixin
34
35
  include XClarityClient::Mixins::UpdateRepoMixin
36
+ include XClarityClient::Mixins::UpdateCompMixin
35
37
  include XClarityClient::Mixins::UserMixin
36
38
 
37
39
  def initialize(config)
@@ -26,7 +26,9 @@ require 'xclarity_client/endpoints/scalable_complex'
26
26
  require 'xclarity_client/endpoints/switch'
27
27
  require 'xclarity_client/endpoints/storage'
28
28
  require 'xclarity_client/endpoints/unmanage_request'
29
+ require 'xclarity_client/endpoints/manage_request'
29
30
  require 'xclarity_client/endpoints/update_repo'
31
+ require 'xclarity_client/endpoints/update_comp'
30
32
  require 'xclarity_client/endpoints/user'
31
33
  require 'xclarity_client/endpoints/remote_access'
32
34
  require 'xclarity_client/endpoints/globalsettings'
@@ -0,0 +1,11 @@
1
+ module XClarityClient
2
+ # ManageRequest class
3
+ class ManageRequest < Endpoints::XclarityEndpoint
4
+ BASE_URI = '/manageRequest'.freeze
5
+ LIST_NAME = 'manageRequestList'.freeze
6
+
7
+ attr_accessor :progress, :results, :messageBundle, :messageID,
8
+ :messageParameters, :result, :resultLongDescription,
9
+ :resultShortDescription, :status, :taskid, :time_spent, :uuid
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ module XClarityClient
2
+ # update component class
3
+ class UpdateComp < Endpoints::XclarityEndpoint
4
+ BASE_URI = '/updatableComponents'.freeze
5
+ LIST_NAME = 'updateCompList'.freeze
6
+
7
+ attr_accessor :DeviceList, :CMMList, :ServerList, :StorageList, :SwitchList,
8
+ :UpdateStatusMetrics, :TotaldeviceUpdates,
9
+ :TotaldeviceUpdatesActive, :TotaldeviceUpdatesComplete,
10
+ :TotaldeviceUpdatesInProgress, :TotalJobs, :TotalJobsComplete,
11
+ :TotalJobsInProgress, :TotalJobsPercentComplete,
12
+ :TotalSupportTasks, :TotalSupportTasksActive, :TotalTasks,
13
+ :TotalTasksBlocked, :TotalTasksCanceled, :TotalTasksComplete,
14
+ :TotalTasksFailed, :TotalTasksInProgress, :TotalTasksSuccess,
15
+ :TotalUpdateTasksActive, :TotalUpdateTasks, :result,
16
+ :messages, :id, :text
17
+ end
18
+ end
@@ -0,0 +1,54 @@
1
+ module XClarityClient
2
+ #
3
+ # Exposes ManageRequestManagement features
4
+ #
5
+ module Mixins::ManageRequestMixin
6
+ def fetch_manage_request(job_id)
7
+ ManageRequestManagement.new(@config).fetch_manage_request(job_id)
8
+ end
9
+
10
+ def get_job_progress(dji, discovery_job_progress)
11
+ discovery_result = DiscoverRequestManagement.new(@config)\
12
+ .monitor_discover_request(dji)
13
+ discovery_result.map do |req|
14
+ req.instance_variables.each do |attr|
15
+ value = req.instance_variable_get(attr)
16
+ discovery_job_progress = value if attr.id2name.eql?('@progress')
17
+ end
18
+ end
19
+ { :discovery_job_progress => discovery_job_progress,
20
+ :discovery_result => discovery_result }
21
+ end
22
+
23
+ def get_discovery_result(discovery_job_id)
24
+ discovery_job_id = discovery_job_id[:location].split('/')[3]
25
+ discovery_job_progress = 0
26
+ return false if discovery_job_id.nil?
27
+ while discovery_job_progress < 100
28
+ sleep 30
29
+ opts = get_job_progress(discovery_job_id, discovery_job_progress)
30
+ discovery_job_progress = opts[:discovery_job_progress]
31
+ end
32
+ opts[:discovery_result]
33
+ end
34
+
35
+ def update_manage_request(manage_request, force, discovery_result)
36
+ ManageRequestManagement.new(@config)\
37
+ .update_manage_request(manage_request,
38
+ force,
39
+ discovery_result)
40
+ end
41
+
42
+ def manage_discovered_devices(manage_request, force)
43
+ discovery_job_id = DiscoverRequestManagement.new(@config)\
44
+ .discover_manageable_devices(
45
+ manage_request[:ip_address]
46
+ )
47
+ d_res = get_discovery_result(discovery_job_id)
48
+ raise 'manageable device Discovery failed' unless d_res
49
+ update_manage_request(manage_request, force, d_res)
50
+ ManageRequestManagement.new(@config)\
51
+ .manage_discovered_devices(manage_request)
52
+ end
53
+ end
54
+ end
@@ -34,5 +34,7 @@ require 'xclarity_client/mixins/scalable_complex_mixin'
34
34
  require 'xclarity_client/mixins/storage_mixin'
35
35
  require 'xclarity_client/mixins/switch_mixin'
36
36
  require 'xclarity_client/mixins/unmanage_request_mixin'
37
+ require 'xclarity_client/mixins/manage_request_mixin'
37
38
  require 'xclarity_client/mixins/update_repo_mixin'
39
+ require 'xclarity_client/mixins/update_comp_mixin'
38
40
  require 'xclarity_client/mixins/user_mixin'
@@ -0,0 +1,37 @@
1
+ module XClarityClient
2
+ #
3
+ # Exposes UpdateCompManagement features
4
+ #
5
+ module Mixins::UpdateCompMixin
6
+ def discover_firmware_update_status
7
+ UpdateCompManagement.new(@config).fetch_all
8
+ end
9
+
10
+ def discover_updatable_device_comp
11
+ UpdateCompManagement.new(@config).updatable_device_comp
12
+ end
13
+
14
+ def apply_firmware_update(opts, activation_mode = nil,
15
+ force_update_mode = nil, onerror_mode = nil)
16
+ UpdateCompManagement.new(@config).apply_firmware_update(opts,
17
+ activation_mode,
18
+ force_update_mode,
19
+ onerror_mode)
20
+ end
21
+
22
+ def cancel_firmware_update(server = nil, switch = nil, storage = nil,
23
+ cmm = nil)
24
+ UpdateCompManagement.new(@config).cancel_firmware_update(server,
25
+ switch,
26
+ storage,
27
+ cmm)
28
+ end
29
+
30
+ def modify_power_state(server = nil, switch = nil, storage = nil, cmm = nil)
31
+ UpdateCompManagement.new(@config).modify_power_state(server,
32
+ switch,
33
+ storage,
34
+ cmm)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,62 @@
1
+ require 'json'
2
+
3
+ module XClarityClient
4
+ # manage request management class
5
+ class ManageRequestManagement < Services::XClarityService
6
+ manages_endpoint ManageRequest
7
+
8
+ def manage_discovered_devices(manage_request)
9
+ @connection.do_post(ManageRequest::BASE_URI,
10
+ JSON.generate([manage_request]))
11
+ end
12
+
13
+ def populate_manage_req_with_security_descriptor(manage_request, val)
14
+ security_descriptor = {}
15
+ val = val['securityDescriptor']
16
+ security_descriptor[:managedAuthEnabled] = val['managedAuthSupported']
17
+ security_descriptor[:managedAuthSupported] = val['managedAuthSupported']
18
+ res = security_descriptor[:managedAuthEnabled]
19
+ security_descriptor[:storedCredentials] = val['storedCredentials'] if res
20
+ manage_request[:securityDescriptor] = security_descriptor
21
+ end
22
+
23
+ def parse_manage_request(manage_request, val)
24
+ return false unless val.kind_of?(Array) && !val.empty?
25
+ manage_request[:managementPorts] = val[0]['managementPorts']
26
+ manage_request[:type] = val[0]['type']
27
+ manage_request[:uuid] = val[0]['uuid']
28
+ discovery_ip_addr = val[0]['ipAddresses'][0]
29
+ manage_request[:ipAddresses] = [discovery_ip_addr]
30
+ manage_request[:os] = val[0]['os'] if val[0]['type'] == 'Rackswitch'
31
+ populate_manage_req_with_security_descriptor(manage_request, val[0])
32
+ end
33
+
34
+ def populate_manage_request_with_discovery_res(discovery_result,
35
+ manage_request)
36
+ discovery_result.map do |req|
37
+ req.instance_variables.each do |attr|
38
+ val = req.instance_variable_get(attr)
39
+ parse_manage_request(manage_request, val)
40
+ end
41
+ end
42
+ end
43
+
44
+ def update_manage_request(manage_request, force, discovery_result)
45
+ populate_manage_request_with_discovery_res(discovery_result,
46
+ manage_request)
47
+ manage_request[:forceManage] = true if force.casecmp('true')
48
+ end
49
+
50
+ def fetch_manage_request(job_id)
51
+ response = @connection.do_get(ManageRequest::BASE_URI + '/jobs/' + job_id)
52
+ return [] unless response.success?
53
+ body = JSON.parse(response.body)
54
+ body = { ManageRequest::LIST_NAME => body } if body.kind_of?(Array)
55
+ mrql = ManageRequest::LIST_NAME
56
+ body = { ManageRequest::LIST_NAME => [body] } unless body.key?(mrql)
57
+ body[ManageRequest::LIST_NAME].map do |resource_params|
58
+ ManageRequest.new(resource_params)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -34,6 +34,8 @@ require 'xclarity_client/services/scalable_complex_management'
34
34
  require 'xclarity_client/services/switch_management'
35
35
  require 'xclarity_client/services/storage_management'
36
36
  require 'xclarity_client/services/unmanage_request_management'
37
+ require 'xclarity_client/services/manage_request_management'
37
38
  require 'xclarity_client/services/update_repo_management'
39
+ require 'xclarity_client/services/update_comp_management'
38
40
  require 'xclarity_client/services/user_management'
39
41
  require 'xclarity_client/services/virtual_appliance_management'
@@ -0,0 +1,111 @@
1
+ require 'json'
2
+
3
+ module XClarityClient
4
+ # update component management class
5
+ class UpdateCompManagement < Services::XClarityService
6
+ manages_endpoint UpdateComp
7
+
8
+ def updatable_device_comp
9
+ response = @connection.do_get(UpdateComp::BASE_URI\
10
+ + '?action=getComponents')
11
+ return [] unless response.success?
12
+ body = JSON.parse(response.body)
13
+ body = { UpdateComp::LIST_NAME => body } if body.kind_of?(Array)
14
+ j = body.key?(UpdateComp::LIST_NAME)
15
+ body = { UpdateComp::LIST_NAME => [body] } unless j
16
+ body[UpdateComp::LIST_NAME].map do |resource_params|
17
+ UpdateComp.new(resource_params)
18
+ end
19
+ end
20
+
21
+ def apply_firmware_update(opts, activation_mode, force_update_mode,
22
+ onerror_mode)
23
+ validate_arguments(activation_mode, force_update_mode, onerror_mode)
24
+
25
+ uri = create_uri(activation_mode, force_update_mode, onerror_mode)
26
+
27
+ apply_req = create_req_json(opts['server'], opts['switch'],
28
+ opts['storage'], opts['cmm'])
29
+ response = @connection.do_put(UpdateComp::BASE_URI + '?action=apply'\
30
+ + uri, apply_req)
31
+ response.body
32
+ end
33
+
34
+ def cancel_firmware_update(server, switch, storage, cmm)
35
+ cancel_req = create_req_json(server, switch, storage, cmm)
36
+ response = @connection.do_put(UpdateComp::BASE_URI\
37
+ + '?action=cancelApply',
38
+ cancel_req)
39
+ response.body
40
+ end
41
+
42
+ def modify_power_state(server, switch, storage, cmm)
43
+ power_state_req = create_req_json(server, switch, storage, cmm)
44
+ response = @connection.do_put(UpdateComp::BASE_URI + '?action=powerState',
45
+ power_state_req)
46
+ response.body
47
+ end
48
+
49
+ def validate_activation_mode(activation_mode)
50
+ if !activation_mode.nil? && !activation_mode.casecmp('immediate').zero? &&
51
+ !activation_mode.casecmp('delayed').zero?
52
+
53
+ raise 'Invalid argument specified. Operation apply_firmware_update'\
54
+ + ' can have activationMode as either immediare or delayed.'
55
+ end
56
+ end
57
+
58
+ def validate_forceupdate_mode(forceupdate_mode)
59
+ if !forceupdate_mode.nil? && !forceupdate_mode.casecmp('true').zero? &&
60
+ !forceupdate_mode.casecmp('false').zero?
61
+
62
+ raise 'Invalid argument specified. Value for forceUpdateMode on'\
63
+ + ' operation apply_firmware_update should have a value'\
64
+ + ' of either true or false'
65
+ end
66
+ end
67
+
68
+ def validate_onerror_mode(onerror_mode)
69
+ if !onerror_mode.nil? && !onerror_mode.eql?('stopOnError') &&
70
+ !onerror_mode.eql?('stopdeviceOnError') &&
71
+ !onerror_mode.eql?('continueOnError')
72
+
73
+ raise 'Invalid argument specified. Operation apply_firmware_update'\
74
+ + " should have onErrorMode as : 'stopOnError' or"\
75
+ + " 'stopdeviceOnError' or 'continueOnError'"
76
+ end
77
+ end
78
+
79
+ def validate_arguments(activation_mode, forceupdate_mode, onerror_mode)
80
+ validate_activation_mode(activation_mode)
81
+ validate_forceupdate_mode(forceupdate_mode)
82
+ validate_onerror_mode(onerror_mode)
83
+ end
84
+
85
+ # splitted create_uri just to fix codeclimate error
86
+ def add_uri(force_update_mode, onerror_mode, uri)
87
+ fmode = force_update_mode.nil?
88
+ uri += '&forceUpdateMode=' + force_update_mode unless fmode
89
+ uri += '&onErrorMode=' + onerror_mode unless onerror_mode.nil?
90
+ uri
91
+ end
92
+
93
+ def create_uri(activation_mode, force_update_mode, onerror_mode)
94
+ uri = ''
95
+ amode = activation_mode.nil?
96
+ uri += '&activationMode=' + activation_mode unless amode
97
+ add_uri(force_update_mode, onerror_mode, uri)
98
+ end
99
+
100
+ def create_req_json(server, switch, storage, cmm)
101
+ server_json = JSON.generate(:ServerList => server)
102
+ switch_json = JSON.generate(:SwitchList => switch)
103
+ storage_json = JSON.generate(:StorageList => storage)
104
+ cmm_json = JSON.generate(:CMMList => cmm)
105
+
106
+ req_json = "{\"DeviceList\": [#{server_json},#{switch_json},"\
107
+ + "#{storage_json},#{cmm_json}]}"
108
+ req_json
109
+ end
110
+ end
111
+ end
@@ -1,3 +1,3 @@
1
1
  module XClarityClient
2
- VERSION = "0.6.4"
2
+ VERSION = "0.6.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xclarity_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manasa Rao
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-09-11 00:00:00.000000000 Z
12
+ date: 2018-10-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -204,6 +204,7 @@ files:
204
204
  - docs/apib/fan_muxes.apib
205
205
  - docs/apib/ffdc.apib
206
206
  - docs/apib/jobs.apib
207
+ - docs/apib/manage_request.apib
207
208
  - docs/apib/node.apib
208
209
  - docs/apib/node_bmc.apib
209
210
  - docs/apib/persisted_result.apib
@@ -213,6 +214,7 @@ files:
213
214
  - docs/apib/storages.apib
214
215
  - docs/apib/switches.apib
215
216
  - docs/apib/unmanage_request.apib
217
+ - docs/apib/update_comp.apib
216
218
  - docs/apib/update_repo.apib
217
219
  - docs/apib/users.apib
218
220
  - example/simple.rb
@@ -242,6 +244,7 @@ files:
242
244
  - lib/xclarity_client/endpoints/globalsettings.rb
243
245
  - lib/xclarity_client/endpoints/hostplatform.rb
244
246
  - lib/xclarity_client/endpoints/job.rb
247
+ - lib/xclarity_client/endpoints/manage_request.rb
245
248
  - lib/xclarity_client/endpoints/node.rb
246
249
  - lib/xclarity_client/endpoints/osimage.rb
247
250
  - lib/xclarity_client/endpoints/persisted_result.rb
@@ -252,6 +255,7 @@ files:
252
255
  - lib/xclarity_client/endpoints/storage.rb
253
256
  - lib/xclarity_client/endpoints/switch.rb
254
257
  - lib/xclarity_client/endpoints/unmanage_request.rb
258
+ - lib/xclarity_client/endpoints/update_comp.rb
255
259
  - lib/xclarity_client/endpoints/update_repo.rb
256
260
  - lib/xclarity_client/endpoints/user.rb
257
261
  - lib/xclarity_client/endpoints/xclarity_endpoint.rb
@@ -279,6 +283,7 @@ files:
279
283
  - lib/xclarity_client/mixins/global_setting_mixin.rb
280
284
  - lib/xclarity_client/mixins/host_platform_mixin.rb
281
285
  - lib/xclarity_client/mixins/job_mixin.rb
286
+ - lib/xclarity_client/mixins/manage_request_mixin.rb
282
287
  - lib/xclarity_client/mixins/mixins.rb
283
288
  - lib/xclarity_client/mixins/node_mixin.rb
284
289
  - lib/xclarity_client/mixins/os_image_mixin.rb
@@ -290,6 +295,7 @@ files:
290
295
  - lib/xclarity_client/mixins/storage_mixin.rb
291
296
  - lib/xclarity_client/mixins/switch_mixin.rb
292
297
  - lib/xclarity_client/mixins/unmanage_request_mixin.rb
298
+ - lib/xclarity_client/mixins/update_comp_mixin.rb
293
299
  - lib/xclarity_client/mixins/update_repo_mixin.rb
294
300
  - lib/xclarity_client/mixins/user_mixin.rb
295
301
  - lib/xclarity_client/schemas.rb
@@ -311,6 +317,7 @@ files:
311
317
  - lib/xclarity_client/services/globalsettings_management.rb
312
318
  - lib/xclarity_client/services/hostplatform_management.rb
313
319
  - lib/xclarity_client/services/job_management.rb
320
+ - lib/xclarity_client/services/manage_request_management.rb
314
321
  - lib/xclarity_client/services/mixins/endpoint_manager_mixin.rb
315
322
  - lib/xclarity_client/services/mixins/list_name_interpreter_mixin.rb
316
323
  - lib/xclarity_client/services/mixins/power_action_sender_mixin.rb
@@ -326,6 +333,7 @@ files:
326
333
  - lib/xclarity_client/services/storage_management.rb
327
334
  - lib/xclarity_client/services/switch_management.rb
328
335
  - lib/xclarity_client/services/unmanage_request_management.rb
336
+ - lib/xclarity_client/services/update_comp_management.rb
329
337
  - lib/xclarity_client/services/update_repo_management.rb
330
338
  - lib/xclarity_client/services/user_management.rb
331
339
  - lib/xclarity_client/services/virtual_appliance_management.rb