@openshift-migration-advisor/agent-sdk 0.12.0-d4bdc4301890 → 0.12.0-e6e9d25bdc36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/.openapi-generator/FILES +30 -0
  2. package/README.md +29 -2
  3. package/dist/apis/DefaultApi.d.ts +442 -0
  4. package/dist/apis/DefaultApi.js +484 -0
  5. package/dist/esm/apis/DefaultApi.d.ts +442 -0
  6. package/dist/esm/apis/DefaultApi.js +484 -0
  7. package/dist/esm/models/BenchmarkRun.d.ts +104 -0
  8. package/dist/esm/models/BenchmarkRun.js +85 -0
  9. package/dist/esm/models/DatastoreDetail.d.ts +90 -0
  10. package/dist/esm/models/DatastoreDetail.js +74 -0
  11. package/dist/esm/models/DatastorePair.d.ts +50 -0
  12. package/dist/esm/models/DatastorePair.js +53 -0
  13. package/dist/esm/models/EstimateRange.d.ts +44 -0
  14. package/dist/esm/models/EstimateRange.js +45 -0
  15. package/dist/esm/models/ForecastStats.d.ts +87 -0
  16. package/dist/esm/models/ForecastStats.js +64 -0
  17. package/dist/esm/models/ForecasterDatastoresRequest.d.ts +33 -0
  18. package/dist/esm/models/ForecasterDatastoresRequest.js +42 -0
  19. package/dist/esm/models/ForecasterPairStatus.d.ts +98 -0
  20. package/dist/esm/models/ForecasterPairStatus.js +82 -0
  21. package/dist/esm/models/ForecasterStartRequest.d.ts +58 -0
  22. package/dist/esm/models/ForecasterStartRequest.js +53 -0
  23. package/dist/esm/models/ForecasterStatus.d.ts +47 -0
  24. package/dist/esm/models/ForecasterStatus.js +53 -0
  25. package/dist/esm/models/PairCapability.d.ts +60 -0
  26. package/dist/esm/models/PairCapability.js +64 -0
  27. package/dist/esm/models/PairCapabilityRequest.d.ts +40 -0
  28. package/dist/esm/models/PairCapabilityRequest.js +47 -0
  29. package/dist/esm/models/PutForecasterCredentials403Response.d.ts +38 -0
  30. package/dist/esm/models/PutForecasterCredentials403Response.js +43 -0
  31. package/dist/esm/models/RightsizingClusterListResponse.d.ts +39 -0
  32. package/dist/esm/models/RightsizingClusterListResponse.js +48 -0
  33. package/dist/esm/models/RightsizingClusterUtilization.d.ts +106 -0
  34. package/dist/esm/models/RightsizingClusterUtilization.js +91 -0
  35. package/dist/esm/models/StopForecasterPair202Response.d.ts +45 -0
  36. package/dist/esm/models/StopForecasterPair202Response.js +49 -0
  37. package/dist/esm/models/VmUtilizationDetails.d.ts +18 -0
  38. package/dist/esm/models/VmUtilizationDetails.js +12 -0
  39. package/dist/esm/models/index.d.ts +15 -0
  40. package/dist/esm/models/index.js +15 -0
  41. package/dist/models/BenchmarkRun.d.ts +104 -0
  42. package/dist/models/BenchmarkRun.js +92 -0
  43. package/dist/models/DatastoreDetail.d.ts +90 -0
  44. package/dist/models/DatastoreDetail.js +82 -0
  45. package/dist/models/DatastorePair.d.ts +50 -0
  46. package/dist/models/DatastorePair.js +60 -0
  47. package/dist/models/EstimateRange.d.ts +44 -0
  48. package/dist/models/EstimateRange.js +52 -0
  49. package/dist/models/ForecastStats.d.ts +87 -0
  50. package/dist/models/ForecastStats.js +71 -0
  51. package/dist/models/ForecasterDatastoresRequest.d.ts +33 -0
  52. package/dist/models/ForecasterDatastoresRequest.js +49 -0
  53. package/dist/models/ForecasterPairStatus.d.ts +98 -0
  54. package/dist/models/ForecasterPairStatus.js +90 -0
  55. package/dist/models/ForecasterStartRequest.d.ts +58 -0
  56. package/dist/models/ForecasterStartRequest.js +60 -0
  57. package/dist/models/ForecasterStatus.d.ts +47 -0
  58. package/dist/models/ForecasterStatus.js +61 -0
  59. package/dist/models/PairCapability.d.ts +60 -0
  60. package/dist/models/PairCapability.js +72 -0
  61. package/dist/models/PairCapabilityRequest.d.ts +40 -0
  62. package/dist/models/PairCapabilityRequest.js +54 -0
  63. package/dist/models/PutForecasterCredentials403Response.d.ts +38 -0
  64. package/dist/models/PutForecasterCredentials403Response.js +50 -0
  65. package/dist/models/RightsizingClusterListResponse.d.ts +39 -0
  66. package/dist/models/RightsizingClusterListResponse.js +55 -0
  67. package/dist/models/RightsizingClusterUtilization.d.ts +106 -0
  68. package/dist/models/RightsizingClusterUtilization.js +98 -0
  69. package/dist/models/StopForecasterPair202Response.d.ts +45 -0
  70. package/dist/models/StopForecasterPair202Response.js +57 -0
  71. package/dist/models/VmUtilizationDetails.d.ts +18 -0
  72. package/dist/models/VmUtilizationDetails.js +12 -0
  73. package/dist/models/index.d.ts +15 -0
  74. package/dist/models/index.js +15 -0
  75. package/docs/BenchmarkRun.md +58 -0
  76. package/docs/DatastoreDetail.md +50 -0
  77. package/docs/DatastorePair.md +40 -0
  78. package/docs/DefaultApi.md +875 -66
  79. package/docs/EstimateRange.md +39 -0
  80. package/docs/ForecastStats.md +52 -0
  81. package/docs/ForecasterDatastoresRequest.md +34 -0
  82. package/docs/ForecasterPairStatus.md +52 -0
  83. package/docs/ForecasterStartRequest.md +42 -0
  84. package/docs/ForecasterStatus.md +36 -0
  85. package/docs/PairCapability.md +40 -0
  86. package/docs/PairCapabilityRequest.md +36 -0
  87. package/docs/PutForecasterCredentials403Response.md +36 -0
  88. package/docs/RightsizingClusterListResponse.md +36 -0
  89. package/docs/RightsizingClusterUtilization.md +58 -0
  90. package/docs/StopForecasterPair202Response.md +36 -0
  91. package/docs/VmUtilizationDetails.md +6 -0
  92. package/package.json +1 -1
  93. package/src/apis/DefaultApi.ts +919 -17
  94. package/src/models/BenchmarkRun.ts +171 -0
  95. package/src/models/DatastoreDetail.ts +146 -0
  96. package/src/models/DatastorePair.ts +92 -0
  97. package/src/models/EstimateRange.ts +81 -0
  98. package/src/models/ForecastStats.ts +147 -0
  99. package/src/models/ForecasterDatastoresRequest.ts +73 -0
  100. package/src/models/ForecasterPairStatus.ts +158 -0
  101. package/src/models/ForecasterStartRequest.ts +113 -0
  102. package/src/models/ForecasterStatus.ts +93 -0
  103. package/src/models/PairCapability.ts +106 -0
  104. package/src/models/PairCapabilityRequest.ts +89 -0
  105. package/src/models/PutForecasterCredentials403Response.ts +73 -0
  106. package/src/models/RightsizingClusterListResponse.ts +83 -0
  107. package/src/models/RightsizingClusterUtilization.ts +176 -0
  108. package/src/models/StopForecasterPair202Response.ts +83 -0
  109. package/src/models/VmUtilizationDetails.ts +27 -0
  110. package/src/models/index.ts +15 -0
@@ -23,19 +23,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
23
  import * as runtime from '../runtime.js';
24
24
  import { AgentModeRequestToJSON, } from '../models/AgentModeRequest.js';
25
25
  import { AgentStatusFromJSON, } from '../models/AgentStatus.js';
26
+ import { BenchmarkRunFromJSON, } from '../models/BenchmarkRun.js';
26
27
  import { CollectorStartRequestToJSON, } from '../models/CollectorStartRequest.js';
27
28
  import { CollectorStatusFromJSON, } from '../models/CollectorStatus.js';
28
29
  import { CreateGroupRequestToJSON, } from '../models/CreateGroupRequest.js';
30
+ import { DatastoreDetailFromJSON, } from '../models/DatastoreDetail.js';
31
+ import { ForecastStatsFromJSON, } from '../models/ForecastStats.js';
32
+ import { ForecasterDatastoresRequestToJSON, } from '../models/ForecasterDatastoresRequest.js';
33
+ import { ForecasterStartRequestToJSON, } from '../models/ForecasterStartRequest.js';
34
+ import { ForecasterStatusFromJSON, } from '../models/ForecasterStatus.js';
29
35
  import { GetInventory200ResponseFromJSON, } from '../models/GetInventory200Response.js';
30
36
  import { GroupFromJSON, } from '../models/Group.js';
31
37
  import { GroupListResponseFromJSON, } from '../models/GroupListResponse.js';
32
38
  import { GroupResponseFromJSON, } from '../models/GroupResponse.js';
33
39
  import { InspectorStatusFromJSON, } from '../models/InspectorStatus.js';
40
+ import { PairCapabilityFromJSON, } from '../models/PairCapability.js';
41
+ import { PairCapabilityRequestToJSON, } from '../models/PairCapabilityRequest.js';
42
+ import { RightsizingClusterListResponseFromJSON, } from '../models/RightsizingClusterListResponse.js';
34
43
  import { RightsizingCollectRequestToJSON, } from '../models/RightsizingCollectRequest.js';
35
44
  import { RightsizingReportFromJSON, } from '../models/RightsizingReport.js';
36
45
  import { RightsizingReportListResponseFromJSON, } from '../models/RightsizingReportListResponse.js';
37
46
  import { RightsizingReportSummaryFromJSON, } from '../models/RightsizingReportSummary.js';
38
47
  import { StartInspectionRequestToJSON, } from '../models/StartInspectionRequest.js';
48
+ import { StopForecasterPair202ResponseFromJSON, } from '../models/StopForecasterPair202Response.js';
39
49
  import { UpdateGroupRequestToJSON, } from '../models/UpdateGroupRequest.js';
40
50
  import { VcenterCredentialsToJSON, } from '../models/VcenterCredentials.js';
41
51
  import { VddkPropertiesFromJSON, } from '../models/VddkProperties.js';
@@ -88,6 +98,44 @@ export class DefaultApi extends runtime.BaseAPI {
88
98
  return yield response.value();
89
99
  });
90
100
  }
101
+ /**
102
+ * Creates request options for deleteForecasterRun without sending the request
103
+ */
104
+ deleteForecasterRunRequestOpts(requestParameters) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ if (requestParameters['id'] == null) {
107
+ throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling deleteForecasterRun().');
108
+ }
109
+ const queryParameters = {};
110
+ const headerParameters = {};
111
+ let urlPath = `/forecaster/runs/{id}`;
112
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
113
+ return {
114
+ path: urlPath,
115
+ method: 'DELETE',
116
+ headers: headerParameters,
117
+ query: queryParameters,
118
+ };
119
+ });
120
+ }
121
+ /**
122
+ * Delete a benchmark run
123
+ */
124
+ deleteForecasterRunRaw(requestParameters, initOverrides) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const requestOptions = yield this.deleteForecasterRunRequestOpts(requestParameters);
127
+ const response = yield this.request(requestOptions, initOverrides);
128
+ return new runtime.VoidApiResponse(response);
129
+ });
130
+ }
131
+ /**
132
+ * Delete a benchmark run
133
+ */
134
+ deleteForecasterRun(requestParameters, initOverrides) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ yield this.deleteForecasterRunRaw(requestParameters, initOverrides);
137
+ });
138
+ }
91
139
  /**
92
140
  * Creates request options for deleteGroup without sending the request
93
141
  */
@@ -196,6 +244,165 @@ export class DefaultApi extends runtime.BaseAPI {
196
244
  return yield response.value();
197
245
  });
198
246
  }
247
+ /**
248
+ * Creates request options for getForecasterDatastores without sending the request
249
+ */
250
+ getForecasterDatastoresRequestOpts(requestParameters) {
251
+ return __awaiter(this, void 0, void 0, function* () {
252
+ const queryParameters = {};
253
+ const headerParameters = {};
254
+ headerParameters['Content-Type'] = 'application/json';
255
+ let urlPath = `/forecaster/datastores`;
256
+ return {
257
+ path: urlPath,
258
+ method: 'POST',
259
+ headers: headerParameters,
260
+ query: queryParameters,
261
+ body: ForecasterDatastoresRequestToJSON(requestParameters['forecasterDatastoresRequest']),
262
+ };
263
+ });
264
+ }
265
+ /**
266
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
267
+ * List available datastores
268
+ */
269
+ getForecasterDatastoresRaw(requestParameters, initOverrides) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ const requestOptions = yield this.getForecasterDatastoresRequestOpts(requestParameters);
272
+ const response = yield this.request(requestOptions, initOverrides);
273
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DatastoreDetailFromJSON));
274
+ });
275
+ }
276
+ /**
277
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
278
+ * List available datastores
279
+ */
280
+ getForecasterDatastores() {
281
+ return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
282
+ const response = yield this.getForecasterDatastoresRaw(requestParameters, initOverrides);
283
+ return yield response.value();
284
+ });
285
+ }
286
+ /**
287
+ * Creates request options for getForecasterRuns without sending the request
288
+ */
289
+ getForecasterRunsRequestOpts(requestParameters) {
290
+ return __awaiter(this, void 0, void 0, function* () {
291
+ const queryParameters = {};
292
+ if (requestParameters['pairName'] != null) {
293
+ queryParameters['pairName'] = requestParameters['pairName'];
294
+ }
295
+ const headerParameters = {};
296
+ let urlPath = `/forecaster/runs`;
297
+ return {
298
+ path: urlPath,
299
+ method: 'GET',
300
+ headers: headerParameters,
301
+ query: queryParameters,
302
+ };
303
+ });
304
+ }
305
+ /**
306
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
307
+ * List benchmark runs
308
+ */
309
+ getForecasterRunsRaw(requestParameters, initOverrides) {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ const requestOptions = yield this.getForecasterRunsRequestOpts(requestParameters);
312
+ const response = yield this.request(requestOptions, initOverrides);
313
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BenchmarkRunFromJSON));
314
+ });
315
+ }
316
+ /**
317
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
318
+ * List benchmark runs
319
+ */
320
+ getForecasterRuns() {
321
+ return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
322
+ const response = yield this.getForecasterRunsRaw(requestParameters, initOverrides);
323
+ return yield response.value();
324
+ });
325
+ }
326
+ /**
327
+ * Creates request options for getForecasterStats without sending the request
328
+ */
329
+ getForecasterStatsRequestOpts(requestParameters) {
330
+ return __awaiter(this, void 0, void 0, function* () {
331
+ if (requestParameters['pairName'] == null) {
332
+ throw new runtime.RequiredError('pairName', 'Required parameter "pairName" was null or undefined when calling getForecasterStats().');
333
+ }
334
+ const queryParameters = {};
335
+ if (requestParameters['pairName'] != null) {
336
+ queryParameters['pairName'] = requestParameters['pairName'];
337
+ }
338
+ const headerParameters = {};
339
+ let urlPath = `/forecaster/stats`;
340
+ return {
341
+ path: urlPath,
342
+ method: 'GET',
343
+ headers: headerParameters,
344
+ query: queryParameters,
345
+ };
346
+ });
347
+ }
348
+ /**
349
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
350
+ * Get throughput statistics
351
+ */
352
+ getForecasterStatsRaw(requestParameters, initOverrides) {
353
+ return __awaiter(this, void 0, void 0, function* () {
354
+ const requestOptions = yield this.getForecasterStatsRequestOpts(requestParameters);
355
+ const response = yield this.request(requestOptions, initOverrides);
356
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecastStatsFromJSON(jsonValue));
357
+ });
358
+ }
359
+ /**
360
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
361
+ * Get throughput statistics
362
+ */
363
+ getForecasterStats(requestParameters, initOverrides) {
364
+ return __awaiter(this, void 0, void 0, function* () {
365
+ const response = yield this.getForecasterStatsRaw(requestParameters, initOverrides);
366
+ return yield response.value();
367
+ });
368
+ }
369
+ /**
370
+ * Creates request options for getForecasterStatus without sending the request
371
+ */
372
+ getForecasterStatusRequestOpts() {
373
+ return __awaiter(this, void 0, void 0, function* () {
374
+ const queryParameters = {};
375
+ const headerParameters = {};
376
+ let urlPath = `/forecaster`;
377
+ return {
378
+ path: urlPath,
379
+ method: 'GET',
380
+ headers: headerParameters,
381
+ query: queryParameters,
382
+ };
383
+ });
384
+ }
385
+ /**
386
+ * Returns current service state with per-pair progress details.
387
+ * Poll forecaster status
388
+ */
389
+ getForecasterStatusRaw(initOverrides) {
390
+ return __awaiter(this, void 0, void 0, function* () {
391
+ const requestOptions = yield this.getForecasterStatusRequestOpts();
392
+ const response = yield this.request(requestOptions, initOverrides);
393
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
394
+ });
395
+ }
396
+ /**
397
+ * Returns current service state with per-pair progress details.
398
+ * Poll forecaster status
399
+ */
400
+ getForecasterStatus(initOverrides) {
401
+ return __awaiter(this, void 0, void 0, function* () {
402
+ const response = yield this.getForecasterStatusRaw(initOverrides);
403
+ return yield response.value();
404
+ });
405
+ }
199
406
  /**
200
407
  * Creates request options for getGroup without sending the request
201
408
  */
@@ -361,6 +568,41 @@ export class DefaultApi extends runtime.BaseAPI {
361
568
  return yield response.value();
362
569
  });
363
570
  }
571
+ /**
572
+ * Creates request options for getLatestRightsizingClusters without sending the request
573
+ */
574
+ getLatestRightsizingClustersRequestOpts() {
575
+ return __awaiter(this, void 0, void 0, function* () {
576
+ const queryParameters = {};
577
+ const headerParameters = {};
578
+ let urlPath = `/cluster_rightsizing`;
579
+ return {
580
+ path: urlPath,
581
+ method: 'GET',
582
+ headers: headerParameters,
583
+ query: queryParameters,
584
+ };
585
+ });
586
+ }
587
+ /**
588
+ * Get cluster-level utilization aggregates for the latest completed report
589
+ */
590
+ getLatestRightsizingClustersRaw(initOverrides) {
591
+ return __awaiter(this, void 0, void 0, function* () {
592
+ const requestOptions = yield this.getLatestRightsizingClustersRequestOpts();
593
+ const response = yield this.request(requestOptions, initOverrides);
594
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
595
+ });
596
+ }
597
+ /**
598
+ * Get cluster-level utilization aggregates for the latest completed report
599
+ */
600
+ getLatestRightsizingClusters(initOverrides) {
601
+ return __awaiter(this, void 0, void 0, function* () {
602
+ const response = yield this.getLatestRightsizingClustersRaw(initOverrides);
603
+ return yield response.value();
604
+ });
605
+ }
364
606
  /**
365
607
  * Creates request options for getRightsizingReport without sending the request
366
608
  */
@@ -400,6 +642,45 @@ export class DefaultApi extends runtime.BaseAPI {
400
642
  return yield response.value();
401
643
  });
402
644
  }
645
+ /**
646
+ * Creates request options for getRightsizingReportClusters without sending the request
647
+ */
648
+ getRightsizingReportClustersRequestOpts(requestParameters) {
649
+ return __awaiter(this, void 0, void 0, function* () {
650
+ if (requestParameters['reportId'] == null) {
651
+ throw new runtime.RequiredError('reportId', 'Required parameter "reportId" was null or undefined when calling getRightsizingReportClusters().');
652
+ }
653
+ const queryParameters = {};
654
+ const headerParameters = {};
655
+ let urlPath = `/cluster_rightsizing/{report_id}`;
656
+ urlPath = urlPath.replace('{report_id}', encodeURIComponent(String(requestParameters['reportId'])));
657
+ return {
658
+ path: urlPath,
659
+ method: 'GET',
660
+ headers: headerParameters,
661
+ query: queryParameters,
662
+ };
663
+ });
664
+ }
665
+ /**
666
+ * Get cluster-level utilization aggregates for a specific report
667
+ */
668
+ getRightsizingReportClustersRaw(requestParameters, initOverrides) {
669
+ return __awaiter(this, void 0, void 0, function* () {
670
+ const requestOptions = yield this.getRightsizingReportClustersRequestOpts(requestParameters);
671
+ const response = yield this.request(requestOptions, initOverrides);
672
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
673
+ });
674
+ }
675
+ /**
676
+ * Get cluster-level utilization aggregates for a specific report
677
+ */
678
+ getRightsizingReportClusters(requestParameters, initOverrides) {
679
+ return __awaiter(this, void 0, void 0, function* () {
680
+ const response = yield this.getRightsizingReportClustersRaw(requestParameters, initOverrides);
681
+ return yield response.value();
682
+ });
683
+ }
403
684
  /**
404
685
  * Creates request options for getVM without sending the request
405
686
  */
@@ -639,6 +920,89 @@ export class DefaultApi extends runtime.BaseAPI {
639
920
  return yield response.value();
640
921
  });
641
922
  }
923
+ /**
924
+ * Creates request options for postForecasterPairCapabilities without sending the request
925
+ */
926
+ postForecasterPairCapabilitiesRequestOpts(requestParameters) {
927
+ return __awaiter(this, void 0, void 0, function* () {
928
+ if (requestParameters['pairCapabilityRequest'] == null) {
929
+ throw new runtime.RequiredError('pairCapabilityRequest', 'Required parameter "pairCapabilityRequest" was null or undefined when calling postForecasterPairCapabilities().');
930
+ }
931
+ const queryParameters = {};
932
+ const headerParameters = {};
933
+ headerParameters['Content-Type'] = 'application/json';
934
+ let urlPath = `/forecaster/capabilities`;
935
+ return {
936
+ path: urlPath,
937
+ method: 'POST',
938
+ headers: headerParameters,
939
+ query: queryParameters,
940
+ body: PairCapabilityRequestToJSON(requestParameters['pairCapabilityRequest']),
941
+ };
942
+ });
943
+ }
944
+ /**
945
+ * Computes which offload methods are feasible for specific source-target datastore pairs based on vendor support and storage array topology derived from the forklift-collected inventory. No vSphere credentials are required.
946
+ * Compute pair capabilities
947
+ */
948
+ postForecasterPairCapabilitiesRaw(requestParameters, initOverrides) {
949
+ return __awaiter(this, void 0, void 0, function* () {
950
+ const requestOptions = yield this.postForecasterPairCapabilitiesRequestOpts(requestParameters);
951
+ const response = yield this.request(requestOptions, initOverrides);
952
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PairCapabilityFromJSON));
953
+ });
954
+ }
955
+ /**
956
+ * Computes which offload methods are feasible for specific source-target datastore pairs based on vendor support and storage array topology derived from the forklift-collected inventory. No vSphere credentials are required.
957
+ * Compute pair capabilities
958
+ */
959
+ postForecasterPairCapabilities(requestParameters, initOverrides) {
960
+ return __awaiter(this, void 0, void 0, function* () {
961
+ const response = yield this.postForecasterPairCapabilitiesRaw(requestParameters, initOverrides);
962
+ return yield response.value();
963
+ });
964
+ }
965
+ /**
966
+ * Creates request options for putForecasterCredentials without sending the request
967
+ */
968
+ putForecasterCredentialsRequestOpts(requestParameters) {
969
+ return __awaiter(this, void 0, void 0, function* () {
970
+ if (requestParameters['vcenterCredentials'] == null) {
971
+ throw new runtime.RequiredError('vcenterCredentials', 'Required parameter "vcenterCredentials" was null or undefined when calling putForecasterCredentials().');
972
+ }
973
+ const queryParameters = {};
974
+ const headerParameters = {};
975
+ headerParameters['Content-Type'] = 'application/json';
976
+ let urlPath = `/forecaster/credentials`;
977
+ return {
978
+ path: urlPath,
979
+ method: 'PUT',
980
+ headers: headerParameters,
981
+ query: queryParameters,
982
+ body: VcenterCredentialsToJSON(requestParameters['vcenterCredentials']),
983
+ };
984
+ });
985
+ }
986
+ /**
987
+ * Validates vCenter connectivity and verifies the user has the required vSphere privileges for forecaster operations (datastore file management, VM provisioning, disk cloning). Verification only — credentials are not saved.
988
+ * Verify vCenter credentials and permissions
989
+ */
990
+ putForecasterCredentialsRaw(requestParameters, initOverrides) {
991
+ return __awaiter(this, void 0, void 0, function* () {
992
+ const requestOptions = yield this.putForecasterCredentialsRequestOpts(requestParameters);
993
+ const response = yield this.request(requestOptions, initOverrides);
994
+ return new runtime.VoidApiResponse(response);
995
+ });
996
+ }
997
+ /**
998
+ * Validates vCenter connectivity and verifies the user has the required vSphere privileges for forecaster operations (datastore file management, VM provisioning, disk cloning). Verification only — credentials are not saved.
999
+ * Verify vCenter credentials and permissions
1000
+ */
1001
+ putForecasterCredentials(requestParameters, initOverrides) {
1002
+ return __awaiter(this, void 0, void 0, function* () {
1003
+ yield this.putForecasterCredentialsRaw(requestParameters, initOverrides);
1004
+ });
1005
+ }
642
1006
  /**
643
1007
  * Creates request options for putInspectorCredentials without sending the request
644
1008
  */
@@ -854,6 +1218,48 @@ export class DefaultApi extends runtime.BaseAPI {
854
1218
  return yield response.value();
855
1219
  });
856
1220
  }
1221
+ /**
1222
+ * Creates request options for startForecaster without sending the request
1223
+ */
1224
+ startForecasterRequestOpts(requestParameters) {
1225
+ return __awaiter(this, void 0, void 0, function* () {
1226
+ if (requestParameters['forecasterStartRequest'] == null) {
1227
+ throw new runtime.RequiredError('forecasterStartRequest', 'Required parameter "forecasterStartRequest" was null or undefined when calling startForecaster().');
1228
+ }
1229
+ const queryParameters = {};
1230
+ const headerParameters = {};
1231
+ headerParameters['Content-Type'] = 'application/json';
1232
+ let urlPath = `/forecaster`;
1233
+ return {
1234
+ path: urlPath,
1235
+ method: 'POST',
1236
+ headers: headerParameters,
1237
+ query: queryParameters,
1238
+ body: ForecasterStartRequestToJSON(requestParameters['forecasterStartRequest']),
1239
+ };
1240
+ });
1241
+ }
1242
+ /**
1243
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
1244
+ * Start benchmark
1245
+ */
1246
+ startForecasterRaw(requestParameters, initOverrides) {
1247
+ return __awaiter(this, void 0, void 0, function* () {
1248
+ const requestOptions = yield this.startForecasterRequestOpts(requestParameters);
1249
+ const response = yield this.request(requestOptions, initOverrides);
1250
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
1251
+ });
1252
+ }
1253
+ /**
1254
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
1255
+ * Start benchmark
1256
+ */
1257
+ startForecaster(requestParameters, initOverrides) {
1258
+ return __awaiter(this, void 0, void 0, function* () {
1259
+ const response = yield this.startForecasterRaw(requestParameters, initOverrides);
1260
+ return yield response.value();
1261
+ });
1262
+ }
857
1263
  /**
858
1264
  * Creates request options for startInspection without sending the request
859
1265
  */
@@ -928,6 +1334,84 @@ export class DefaultApi extends runtime.BaseAPI {
928
1334
  yield this.stopCollectorRaw(initOverrides);
929
1335
  });
930
1336
  }
1337
+ /**
1338
+ * Creates request options for stopForecaster without sending the request
1339
+ */
1340
+ stopForecasterRequestOpts() {
1341
+ return __awaiter(this, void 0, void 0, function* () {
1342
+ const queryParameters = {};
1343
+ const headerParameters = {};
1344
+ let urlPath = `/forecaster`;
1345
+ return {
1346
+ path: urlPath,
1347
+ method: 'DELETE',
1348
+ headers: headerParameters,
1349
+ query: queryParameters,
1350
+ };
1351
+ });
1352
+ }
1353
+ /**
1354
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
1355
+ * Cancel benchmark
1356
+ */
1357
+ stopForecasterRaw(initOverrides) {
1358
+ return __awaiter(this, void 0, void 0, function* () {
1359
+ const requestOptions = yield this.stopForecasterRequestOpts();
1360
+ const response = yield this.request(requestOptions, initOverrides);
1361
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
1362
+ });
1363
+ }
1364
+ /**
1365
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
1366
+ * Cancel benchmark
1367
+ */
1368
+ stopForecaster(initOverrides) {
1369
+ return __awaiter(this, void 0, void 0, function* () {
1370
+ const response = yield this.stopForecasterRaw(initOverrides);
1371
+ return yield response.value();
1372
+ });
1373
+ }
1374
+ /**
1375
+ * Creates request options for stopForecasterPair without sending the request
1376
+ */
1377
+ stopForecasterPairRequestOpts(requestParameters) {
1378
+ return __awaiter(this, void 0, void 0, function* () {
1379
+ if (requestParameters['name'] == null) {
1380
+ throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling stopForecasterPair().');
1381
+ }
1382
+ const queryParameters = {};
1383
+ const headerParameters = {};
1384
+ let urlPath = `/forecaster/pairs/{name}`;
1385
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
1386
+ return {
1387
+ path: urlPath,
1388
+ method: 'DELETE',
1389
+ headers: headerParameters,
1390
+ query: queryParameters,
1391
+ };
1392
+ });
1393
+ }
1394
+ /**
1395
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
1396
+ * Cancel a single pair
1397
+ */
1398
+ stopForecasterPairRaw(requestParameters, initOverrides) {
1399
+ return __awaiter(this, void 0, void 0, function* () {
1400
+ const requestOptions = yield this.stopForecasterPairRequestOpts(requestParameters);
1401
+ const response = yield this.request(requestOptions, initOverrides);
1402
+ return new runtime.JSONApiResponse(response, (jsonValue) => StopForecasterPair202ResponseFromJSON(jsonValue));
1403
+ });
1404
+ }
1405
+ /**
1406
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
1407
+ * Cancel a single pair
1408
+ */
1409
+ stopForecasterPair(requestParameters, initOverrides) {
1410
+ return __awaiter(this, void 0, void 0, function* () {
1411
+ const response = yield this.stopForecasterPairRaw(requestParameters, initOverrides);
1412
+ return yield response.value();
1413
+ });
1414
+ }
931
1415
  /**
932
1416
  * Creates request options for stopInspection without sending the request
933
1417
  */
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Assisted Migration Agent API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface BenchmarkRun
16
+ */
17
+ export interface BenchmarkRun {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof BenchmarkRun
22
+ */
23
+ id: number;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof BenchmarkRun
28
+ */
29
+ sessionId: number;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof BenchmarkRun
34
+ */
35
+ pairName: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof BenchmarkRun
40
+ */
41
+ sourceDatastore: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof BenchmarkRun
46
+ */
47
+ targetDatastore: string;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof BenchmarkRun
52
+ */
53
+ iteration: number;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @memberof BenchmarkRun
58
+ */
59
+ diskSizeGb: number;
60
+ /**
61
+ * Time spent on disk creation and random fill (iteration 1 only)
62
+ * @type {number}
63
+ * @memberof BenchmarkRun
64
+ */
65
+ prepDurationSec?: number;
66
+ /**
67
+ *
68
+ * @type {number}
69
+ * @memberof BenchmarkRun
70
+ */
71
+ durationSec: number;
72
+ /**
73
+ *
74
+ * @type {number}
75
+ * @memberof BenchmarkRun
76
+ */
77
+ throughputMbps: number;
78
+ /**
79
+ * Benchmark method used (e.g., vm_native)
80
+ * @type {string}
81
+ * @memberof BenchmarkRun
82
+ */
83
+ method?: string;
84
+ /**
85
+ * Error message if this iteration failed
86
+ * @type {string}
87
+ * @memberof BenchmarkRun
88
+ */
89
+ error?: string;
90
+ /**
91
+ *
92
+ * @type {Date}
93
+ * @memberof BenchmarkRun
94
+ */
95
+ createdAt: Date;
96
+ }
97
+ /**
98
+ * Check if a given object implements the BenchmarkRun interface.
99
+ */
100
+ export declare function instanceOfBenchmarkRun(value: object): value is BenchmarkRun;
101
+ export declare function BenchmarkRunFromJSON(json: any): BenchmarkRun;
102
+ export declare function BenchmarkRunFromJSONTyped(json: any, ignoreDiscriminator: boolean): BenchmarkRun;
103
+ export declare function BenchmarkRunToJSON(json: any): BenchmarkRun;
104
+ export declare function BenchmarkRunToJSONTyped(value?: BenchmarkRun | null, ignoreDiscriminator?: boolean): any;