xclarity_client 0.6.4 → 0.6.5

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.
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