@openshift-migration-advisor/agent-sdk 0.8.0 → 0.12.0-914fe80385ee

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 (202) hide show
  1. package/.openapi-generator/FILES +50 -2
  2. package/.openapi-generator/VERSION +1 -1
  3. package/README.md +56 -17
  4. package/dist/apis/DefaultApi.d.ts +706 -126
  5. package/dist/apis/DefaultApi.js +916 -285
  6. package/dist/esm/apis/DefaultApi.d.ts +706 -126
  7. package/dist/esm/apis/DefaultApi.js +898 -267
  8. package/dist/esm/models/BenchmarkRun.d.ts +104 -0
  9. package/dist/esm/models/BenchmarkRun.js +85 -0
  10. package/dist/esm/models/DatastoreDetail.d.ts +90 -0
  11. package/dist/esm/models/DatastoreDetail.js +74 -0
  12. package/dist/esm/models/DatastorePair.d.ts +50 -0
  13. package/dist/esm/models/DatastorePair.js +53 -0
  14. package/dist/esm/models/EstimateRange.d.ts +44 -0
  15. package/dist/esm/models/EstimateRange.js +45 -0
  16. package/dist/esm/models/ForecastStats.d.ts +87 -0
  17. package/dist/esm/models/ForecastStats.js +64 -0
  18. package/dist/esm/models/ForecasterDatastoresRequest.d.ts +33 -0
  19. package/dist/esm/models/ForecasterDatastoresRequest.js +42 -0
  20. package/dist/esm/models/ForecasterPairStatus.d.ts +98 -0
  21. package/dist/esm/models/ForecasterPairStatus.js +82 -0
  22. package/dist/esm/models/ForecasterStartRequest.d.ts +58 -0
  23. package/dist/esm/models/ForecasterStartRequest.js +53 -0
  24. package/dist/esm/models/ForecasterStatus.d.ts +47 -0
  25. package/dist/esm/models/ForecasterStatus.js +53 -0
  26. package/dist/esm/models/InspectorStatus.d.ts +20 -7
  27. package/dist/esm/models/InspectorStatus.js +12 -7
  28. package/dist/esm/models/PairCapability.d.ts +60 -0
  29. package/dist/esm/models/PairCapability.js +64 -0
  30. package/dist/esm/models/PairCapabilityRequest.d.ts +40 -0
  31. package/dist/esm/models/PairCapabilityRequest.js +47 -0
  32. package/dist/esm/models/PutForecasterCredentials403Response.d.ts +38 -0
  33. package/dist/esm/models/PutForecasterCredentials403Response.js +43 -0
  34. package/dist/esm/models/RightsizingClusterListResponse.d.ts +39 -0
  35. package/dist/esm/models/RightsizingClusterListResponse.js +48 -0
  36. package/dist/esm/models/RightsizingClusterUtilization.d.ts +112 -0
  37. package/dist/esm/models/RightsizingClusterUtilization.js +95 -0
  38. package/dist/esm/models/RightsizingCollectRequest.d.ts +70 -0
  39. package/dist/esm/models/RightsizingCollectRequest.js +56 -0
  40. package/dist/esm/models/RightsizingMetricStats.d.ts +62 -0
  41. package/dist/esm/models/RightsizingMetricStats.js +63 -0
  42. package/dist/esm/models/RightsizingReport.d.ts +81 -0
  43. package/dist/esm/models/RightsizingReport.js +76 -0
  44. package/dist/esm/models/RightsizingReportListResponse.d.ts +39 -0
  45. package/dist/esm/models/RightsizingReportListResponse.js +48 -0
  46. package/dist/esm/models/RightsizingReportSummary.d.ts +74 -0
  47. package/dist/esm/models/RightsizingReportSummary.js +71 -0
  48. package/dist/esm/models/RightsizingVMReport.d.ts +53 -0
  49. package/dist/esm/models/RightsizingVMReport.js +57 -0
  50. package/dist/esm/models/StartInspectionRequest.d.ts +32 -0
  51. package/dist/esm/models/StartInspectionRequest.js +43 -0
  52. package/dist/esm/models/StopForecasterPair202Response.d.ts +45 -0
  53. package/dist/esm/models/StopForecasterPair202Response.js +49 -0
  54. package/dist/esm/models/VMs.d.ts +18 -0
  55. package/dist/esm/models/VMs.js +4 -0
  56. package/dist/esm/models/VirtualMachine.d.ts +31 -1
  57. package/dist/esm/models/VirtualMachine.js +12 -4
  58. package/dist/esm/models/VirtualMachineDetail.d.ts +3 -3
  59. package/dist/esm/models/VirtualMachineDetail.js +3 -3
  60. package/dist/esm/models/VmInspectionConcern.d.ts +44 -0
  61. package/dist/esm/models/VmInspectionConcern.js +51 -0
  62. package/dist/esm/models/VmInspectionResults.d.ts +33 -0
  63. package/dist/esm/models/VmInspectionResults.js +42 -0
  64. package/dist/esm/models/VmInspectionStatus.d.ts +0 -1
  65. package/dist/esm/models/VmInspectionStatus.js +1 -2
  66. package/dist/esm/models/VmUtilizationDetails.d.ts +116 -0
  67. package/dist/esm/models/VmUtilizationDetails.js +99 -0
  68. package/dist/esm/models/index.d.ts +25 -1
  69. package/dist/esm/models/index.js +25 -1
  70. package/dist/esm/runtime.js +1 -1
  71. package/dist/models/BenchmarkRun.d.ts +104 -0
  72. package/dist/models/BenchmarkRun.js +92 -0
  73. package/dist/models/DatastoreDetail.d.ts +90 -0
  74. package/dist/models/DatastoreDetail.js +82 -0
  75. package/dist/models/DatastorePair.d.ts +50 -0
  76. package/dist/models/DatastorePair.js +60 -0
  77. package/dist/models/EstimateRange.d.ts +44 -0
  78. package/dist/models/EstimateRange.js +52 -0
  79. package/dist/models/ForecastStats.d.ts +87 -0
  80. package/dist/models/ForecastStats.js +71 -0
  81. package/dist/models/ForecasterDatastoresRequest.d.ts +33 -0
  82. package/dist/models/ForecasterDatastoresRequest.js +49 -0
  83. package/dist/models/ForecasterPairStatus.d.ts +98 -0
  84. package/dist/models/ForecasterPairStatus.js +90 -0
  85. package/dist/models/ForecasterStartRequest.d.ts +58 -0
  86. package/dist/models/ForecasterStartRequest.js +60 -0
  87. package/dist/models/ForecasterStatus.d.ts +47 -0
  88. package/dist/models/ForecasterStatus.js +61 -0
  89. package/dist/models/InspectorStatus.d.ts +20 -7
  90. package/dist/models/InspectorStatus.js +12 -7
  91. package/dist/models/PairCapability.d.ts +60 -0
  92. package/dist/models/PairCapability.js +72 -0
  93. package/dist/models/PairCapabilityRequest.d.ts +40 -0
  94. package/dist/models/PairCapabilityRequest.js +54 -0
  95. package/dist/models/PutForecasterCredentials403Response.d.ts +38 -0
  96. package/dist/models/PutForecasterCredentials403Response.js +50 -0
  97. package/dist/models/RightsizingClusterListResponse.d.ts +39 -0
  98. package/dist/models/RightsizingClusterListResponse.js +55 -0
  99. package/dist/models/RightsizingClusterUtilization.d.ts +112 -0
  100. package/dist/models/RightsizingClusterUtilization.js +102 -0
  101. package/dist/models/RightsizingCollectRequest.d.ts +70 -0
  102. package/dist/models/RightsizingCollectRequest.js +63 -0
  103. package/dist/models/RightsizingMetricStats.d.ts +62 -0
  104. package/dist/models/RightsizingMetricStats.js +70 -0
  105. package/dist/models/RightsizingReport.d.ts +81 -0
  106. package/dist/models/RightsizingReport.js +83 -0
  107. package/dist/models/RightsizingReportListResponse.d.ts +39 -0
  108. package/dist/models/RightsizingReportListResponse.js +55 -0
  109. package/dist/models/RightsizingReportSummary.d.ts +74 -0
  110. package/dist/models/RightsizingReportSummary.js +78 -0
  111. package/dist/models/RightsizingVMReport.d.ts +53 -0
  112. package/dist/models/RightsizingVMReport.js +64 -0
  113. package/dist/models/StartInspectionRequest.d.ts +32 -0
  114. package/dist/models/StartInspectionRequest.js +50 -0
  115. package/dist/models/StopForecasterPair202Response.d.ts +45 -0
  116. package/dist/models/StopForecasterPair202Response.js +57 -0
  117. package/dist/models/VMs.d.ts +18 -0
  118. package/dist/models/VMs.js +4 -0
  119. package/dist/models/VirtualMachine.d.ts +31 -1
  120. package/dist/models/VirtualMachine.js +12 -4
  121. package/dist/models/VirtualMachineDetail.d.ts +3 -3
  122. package/dist/models/VirtualMachineDetail.js +3 -3
  123. package/dist/models/VmInspectionConcern.d.ts +44 -0
  124. package/dist/models/VmInspectionConcern.js +58 -0
  125. package/dist/models/VmInspectionResults.d.ts +33 -0
  126. package/dist/models/VmInspectionResults.js +49 -0
  127. package/dist/models/VmInspectionStatus.d.ts +0 -1
  128. package/dist/models/VmInspectionStatus.js +1 -2
  129. package/dist/models/VmUtilizationDetails.d.ts +116 -0
  130. package/dist/models/VmUtilizationDetails.js +106 -0
  131. package/dist/models/index.d.ts +25 -1
  132. package/dist/models/index.js +25 -1
  133. package/dist/runtime.js +1 -1
  134. package/docs/BenchmarkRun.md +58 -0
  135. package/docs/DatastoreDetail.md +50 -0
  136. package/docs/DatastorePair.md +40 -0
  137. package/docs/DefaultApi.md +1265 -240
  138. package/docs/EstimateRange.md +39 -0
  139. package/docs/ForecastStats.md +52 -0
  140. package/docs/ForecasterDatastoresRequest.md +34 -0
  141. package/docs/ForecasterPairStatus.md +52 -0
  142. package/docs/ForecasterStartRequest.md +42 -0
  143. package/docs/ForecasterStatus.md +36 -0
  144. package/docs/InspectorStatus.md +4 -0
  145. package/docs/PairCapability.md +40 -0
  146. package/docs/PairCapabilityRequest.md +36 -0
  147. package/docs/PutForecasterCredentials403Response.md +36 -0
  148. package/docs/RightsizingClusterListResponse.md +36 -0
  149. package/docs/RightsizingClusterUtilization.md +60 -0
  150. package/docs/RightsizingCollectRequest.md +46 -0
  151. package/docs/RightsizingMetricStats.md +44 -0
  152. package/docs/RightsizingReport.md +50 -0
  153. package/docs/RightsizingReportListResponse.md +36 -0
  154. package/docs/RightsizingReportSummary.md +49 -0
  155. package/docs/RightsizingVMReport.md +40 -0
  156. package/docs/{InspectorStartRequest.md → StartInspectionRequest.md} +5 -6
  157. package/docs/StopForecasterPair202Response.md +36 -0
  158. package/docs/VMs.md +4 -0
  159. package/docs/VirtualMachine.md +12 -2
  160. package/docs/VirtualMachineDetail.md +1 -1
  161. package/docs/VmInspectionConcern.md +39 -0
  162. package/docs/VmInspectionResults.md +35 -0
  163. package/docs/VmUtilizationDetails.md +62 -0
  164. package/package.json +1 -1
  165. package/src/apis/DefaultApi.ts +1548 -350
  166. package/src/models/BenchmarkRun.ts +171 -0
  167. package/src/models/DatastoreDetail.ts +146 -0
  168. package/src/models/DatastorePair.ts +92 -0
  169. package/src/models/EstimateRange.ts +81 -0
  170. package/src/models/ForecastStats.ts +147 -0
  171. package/src/models/ForecasterDatastoresRequest.ts +73 -0
  172. package/src/models/ForecasterPairStatus.ts +158 -0
  173. package/src/models/ForecasterStartRequest.ts +113 -0
  174. package/src/models/ForecasterStatus.ts +93 -0
  175. package/src/models/InspectorStatus.ts +37 -7
  176. package/src/models/PairCapability.ts +106 -0
  177. package/src/models/PairCapabilityRequest.ts +89 -0
  178. package/src/models/PutForecasterCredentials403Response.ts +73 -0
  179. package/src/models/RightsizingClusterListResponse.ts +83 -0
  180. package/src/models/RightsizingClusterUtilization.ts +185 -0
  181. package/src/models/RightsizingCollectRequest.ts +123 -0
  182. package/src/models/RightsizingMetricStats.ts +111 -0
  183. package/src/models/RightsizingReport.ts +146 -0
  184. package/src/models/RightsizingReportListResponse.ts +83 -0
  185. package/src/models/RightsizingReportSummary.ts +129 -0
  186. package/src/models/RightsizingVMReport.ts +101 -0
  187. package/src/models/StartInspectionRequest.ts +66 -0
  188. package/src/models/StopForecasterPair202Response.ts +83 -0
  189. package/src/models/VMs.ts +18 -0
  190. package/src/models/VirtualMachine.ts +43 -4
  191. package/src/models/VirtualMachineDetail.ts +11 -11
  192. package/src/models/VmInspectionConcern.ts +84 -0
  193. package/src/models/VmInspectionResults.ts +73 -0
  194. package/src/models/VmInspectionStatus.ts +1 -2
  195. package/src/models/VmUtilizationDetails.ts +192 -0
  196. package/src/models/index.ts +25 -1
  197. package/src/runtime.ts +1 -2
  198. package/dist/esm/models/InspectorStartRequest.d.ts +0 -39
  199. package/dist/esm/models/InspectorStartRequest.js +0 -48
  200. package/dist/models/InspectorStartRequest.d.ts +0 -39
  201. package/dist/models/InspectorStartRequest.js +0 -55
  202. package/src/models/InspectorStartRequest.ts +0 -83
@@ -12,76 +12,202 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
 
15
-
16
15
  import * as runtime from '../runtime.js';
17
- import type {
18
- AgentModeRequest,
19
- AgentStatus,
20
- CollectorStartRequest,
21
- CollectorStatus,
22
- CreateGroupRequest,
23
- GetInventory200Response,
24
- Group,
25
- GroupListResponse,
26
- GroupResponse,
27
- InspectorStartRequest,
28
- InspectorStatus,
29
- UpdateGroupRequest,
30
- VddkProperties,
31
- VersionInfo,
32
- VirtualMachineDetail,
33
- VirtualMachineListResponse,
34
- VmInspectionStatus,
35
- } from '../models/index.js';
36
16
  import {
17
+ type AgentModeRequest,
37
18
  AgentModeRequestFromJSON,
38
19
  AgentModeRequestToJSON,
20
+ } from '../models/AgentModeRequest.js';
21
+ import {
22
+ type AgentStatus,
39
23
  AgentStatusFromJSON,
40
24
  AgentStatusToJSON,
25
+ } from '../models/AgentStatus.js';
26
+ import {
27
+ type BenchmarkRun,
28
+ BenchmarkRunFromJSON,
29
+ BenchmarkRunToJSON,
30
+ } from '../models/BenchmarkRun.js';
31
+ import {
32
+ type CollectorStartRequest,
41
33
  CollectorStartRequestFromJSON,
42
34
  CollectorStartRequestToJSON,
35
+ } from '../models/CollectorStartRequest.js';
36
+ import {
37
+ type CollectorStatus,
43
38
  CollectorStatusFromJSON,
44
39
  CollectorStatusToJSON,
40
+ } from '../models/CollectorStatus.js';
41
+ import {
42
+ type CreateGroupRequest,
45
43
  CreateGroupRequestFromJSON,
46
44
  CreateGroupRequestToJSON,
45
+ } from '../models/CreateGroupRequest.js';
46
+ import {
47
+ type DatastoreDetail,
48
+ DatastoreDetailFromJSON,
49
+ DatastoreDetailToJSON,
50
+ } from '../models/DatastoreDetail.js';
51
+ import {
52
+ type ForecastStats,
53
+ ForecastStatsFromJSON,
54
+ ForecastStatsToJSON,
55
+ } from '../models/ForecastStats.js';
56
+ import {
57
+ type ForecasterDatastoresRequest,
58
+ ForecasterDatastoresRequestFromJSON,
59
+ ForecasterDatastoresRequestToJSON,
60
+ } from '../models/ForecasterDatastoresRequest.js';
61
+ import {
62
+ type ForecasterStartRequest,
63
+ ForecasterStartRequestFromJSON,
64
+ ForecasterStartRequestToJSON,
65
+ } from '../models/ForecasterStartRequest.js';
66
+ import {
67
+ type ForecasterStatus,
68
+ ForecasterStatusFromJSON,
69
+ ForecasterStatusToJSON,
70
+ } from '../models/ForecasterStatus.js';
71
+ import {
72
+ type GetInventory200Response,
47
73
  GetInventory200ResponseFromJSON,
48
74
  GetInventory200ResponseToJSON,
75
+ } from '../models/GetInventory200Response.js';
76
+ import {
77
+ type Group,
49
78
  GroupFromJSON,
50
79
  GroupToJSON,
80
+ } from '../models/Group.js';
81
+ import {
82
+ type GroupListResponse,
51
83
  GroupListResponseFromJSON,
52
84
  GroupListResponseToJSON,
85
+ } from '../models/GroupListResponse.js';
86
+ import {
87
+ type GroupResponse,
53
88
  GroupResponseFromJSON,
54
89
  GroupResponseToJSON,
55
- InspectorStartRequestFromJSON,
56
- InspectorStartRequestToJSON,
90
+ } from '../models/GroupResponse.js';
91
+ import {
92
+ type InspectorStatus,
57
93
  InspectorStatusFromJSON,
58
94
  InspectorStatusToJSON,
95
+ } from '../models/InspectorStatus.js';
96
+ import {
97
+ type PairCapability,
98
+ PairCapabilityFromJSON,
99
+ PairCapabilityToJSON,
100
+ } from '../models/PairCapability.js';
101
+ import {
102
+ type PairCapabilityRequest,
103
+ PairCapabilityRequestFromJSON,
104
+ PairCapabilityRequestToJSON,
105
+ } from '../models/PairCapabilityRequest.js';
106
+ import {
107
+ type PutForecasterCredentials403Response,
108
+ PutForecasterCredentials403ResponseFromJSON,
109
+ PutForecasterCredentials403ResponseToJSON,
110
+ } from '../models/PutForecasterCredentials403Response.js';
111
+ import {
112
+ type RightsizingClusterListResponse,
113
+ RightsizingClusterListResponseFromJSON,
114
+ RightsizingClusterListResponseToJSON,
115
+ } from '../models/RightsizingClusterListResponse.js';
116
+ import {
117
+ type RightsizingCollectRequest,
118
+ RightsizingCollectRequestFromJSON,
119
+ RightsizingCollectRequestToJSON,
120
+ } from '../models/RightsizingCollectRequest.js';
121
+ import {
122
+ type RightsizingReport,
123
+ RightsizingReportFromJSON,
124
+ RightsizingReportToJSON,
125
+ } from '../models/RightsizingReport.js';
126
+ import {
127
+ type RightsizingReportListResponse,
128
+ RightsizingReportListResponseFromJSON,
129
+ RightsizingReportListResponseToJSON,
130
+ } from '../models/RightsizingReportListResponse.js';
131
+ import {
132
+ type RightsizingReportSummary,
133
+ RightsizingReportSummaryFromJSON,
134
+ RightsizingReportSummaryToJSON,
135
+ } from '../models/RightsizingReportSummary.js';
136
+ import {
137
+ type StartInspectionRequest,
138
+ StartInspectionRequestFromJSON,
139
+ StartInspectionRequestToJSON,
140
+ } from '../models/StartInspectionRequest.js';
141
+ import {
142
+ type StopForecasterPair202Response,
143
+ StopForecasterPair202ResponseFromJSON,
144
+ StopForecasterPair202ResponseToJSON,
145
+ } from '../models/StopForecasterPair202Response.js';
146
+ import {
147
+ type UpdateGroupRequest,
59
148
  UpdateGroupRequestFromJSON,
60
149
  UpdateGroupRequestToJSON,
150
+ } from '../models/UpdateGroupRequest.js';
151
+ import {
152
+ type VcenterCredentials,
153
+ VcenterCredentialsFromJSON,
154
+ VcenterCredentialsToJSON,
155
+ } from '../models/VcenterCredentials.js';
156
+ import {
157
+ type VddkProperties,
61
158
  VddkPropertiesFromJSON,
62
159
  VddkPropertiesToJSON,
160
+ } from '../models/VddkProperties.js';
161
+ import {
162
+ type VersionInfo,
63
163
  VersionInfoFromJSON,
64
164
  VersionInfoToJSON,
165
+ } from '../models/VersionInfo.js';
166
+ import {
167
+ type VirtualMachineDetail,
65
168
  VirtualMachineDetailFromJSON,
66
169
  VirtualMachineDetailToJSON,
170
+ } from '../models/VirtualMachineDetail.js';
171
+ import {
172
+ type VirtualMachineListResponse,
67
173
  VirtualMachineListResponseFromJSON,
68
174
  VirtualMachineListResponseToJSON,
175
+ } from '../models/VirtualMachineListResponse.js';
176
+ import {
177
+ type VmInspectionStatus,
69
178
  VmInspectionStatusFromJSON,
70
179
  VmInspectionStatusToJSON,
71
- } from '../models/index.js';
72
-
73
- export interface AddVMsToInspectionRequest {
74
- requestBody: Array<string>;
75
- }
180
+ } from '../models/VmInspectionStatus.js';
181
+ import {
182
+ type VmUtilizationDetails,
183
+ VmUtilizationDetailsFromJSON,
184
+ VmUtilizationDetailsToJSON,
185
+ } from '../models/VmUtilizationDetails.js';
76
186
 
77
187
  export interface CreateGroupOperationRequest {
78
188
  createGroupRequest: CreateGroupRequest;
79
189
  }
80
190
 
191
+ export interface DeleteForecasterRunRequest {
192
+ id: number;
193
+ }
194
+
81
195
  export interface DeleteGroupRequest {
82
196
  id: string;
83
197
  }
84
198
 
199
+ export interface GetForecasterDatastoresRequest {
200
+ forecasterDatastoresRequest?: ForecasterDatastoresRequest;
201
+ }
202
+
203
+ export interface GetForecasterRunsRequest {
204
+ pairName?: string;
205
+ }
206
+
207
+ export interface GetForecasterStatsRequest {
208
+ pairName: string;
209
+ }
210
+
85
211
  export interface GetGroupRequest {
86
212
  id: string;
87
213
  sort?: Array<string>;
@@ -89,16 +215,34 @@ export interface GetGroupRequest {
89
215
  pageSize?: number;
90
216
  }
91
217
 
218
+ export interface GetInspectorStatusRequest {
219
+ includeVddk?: boolean;
220
+ includeCredentials?: boolean;
221
+ }
222
+
92
223
  export interface GetInventoryRequest {
93
224
  withAgentId?: boolean;
94
225
  groupId?: string;
95
226
  }
96
227
 
228
+ export interface GetLatestRightsizingClustersRequest {
229
+ byExpression?: string;
230
+ }
231
+
232
+ export interface GetRightsizingReportRequest {
233
+ id: string;
234
+ }
235
+
236
+ export interface GetRightsizingReportClustersRequest {
237
+ reportId: string;
238
+ byExpression?: string;
239
+ }
240
+
97
241
  export interface GetVMRequest {
98
242
  id: string;
99
243
  }
100
244
 
101
- export interface GetVMInspectionStatusRequest {
245
+ export interface GetVMUtilizationRequest {
102
246
  id: string;
103
247
  }
104
248
 
@@ -115,6 +259,22 @@ export interface ListGroupsRequest {
115
259
  pageSize?: number;
116
260
  }
117
261
 
262
+ export interface PostForecasterPairCapabilitiesRequest {
263
+ pairCapabilityRequest: PairCapabilityRequest;
264
+ }
265
+
266
+ export interface PutForecasterCredentialsRequest {
267
+ vcenterCredentials: VcenterCredentials;
268
+ }
269
+
270
+ export interface PutInspectorCredentialsRequest {
271
+ vcenterCredentials: VcenterCredentials;
272
+ }
273
+
274
+ export interface PutInspectorVddkRequest {
275
+ file: Blob;
276
+ }
277
+
118
278
  export interface RemoveVMFromInspectionRequest {
119
279
  id: string;
120
280
  }
@@ -127,8 +287,20 @@ export interface StartCollectorRequest {
127
287
  collectorStartRequest: CollectorStartRequest;
128
288
  }
129
289
 
130
- export interface StartInspectionRequest {
131
- inspectorStartRequest: InspectorStartRequest;
290
+ export interface StartForecasterRequest {
291
+ forecasterStartRequest: ForecasterStartRequest;
292
+ }
293
+
294
+ export interface StartInspectionOperationRequest {
295
+ startInspectionRequest: StartInspectionRequest;
296
+ }
297
+
298
+ export interface StopForecasterPairRequest {
299
+ name: string;
300
+ }
301
+
302
+ export interface TriggerRightsizingCollectionRequest {
303
+ rightsizingCollectRequest: RightsizingCollectRequest;
132
304
  }
133
305
 
134
306
  export interface UpdateGroupOperationRequest {
@@ -136,10 +308,6 @@ export interface UpdateGroupOperationRequest {
136
308
  updateGroupRequest: UpdateGroupRequest;
137
309
  }
138
310
 
139
- export interface VddkPostRequest {
140
- file: Blob;
141
- }
142
-
143
311
  /**
144
312
  * DefaultApi - interface
145
313
  *
@@ -148,50 +316,50 @@ export interface VddkPostRequest {
148
316
  */
149
317
  export interface DefaultApiInterface {
150
318
  /**
151
- * Creates request options for addVMsToInspection without sending the request
152
- * @param {Array<string>} requestBody
319
+ * Creates request options for createGroup without sending the request
320
+ * @param {CreateGroupRequest} createGroupRequest
153
321
  * @throws {RequiredError}
154
322
  * @memberof DefaultApiInterface
155
323
  */
156
- addVMsToInspectionRequestOpts(requestParameters: AddVMsToInspectionRequest): Promise<runtime.RequestOpts>;
324
+ createGroupRequestOpts(requestParameters: CreateGroupOperationRequest): Promise<runtime.RequestOpts>;
157
325
 
158
326
  /**
159
327
  *
160
- * @summary Add more VMs to inspection queue
161
- * @param {Array<string>} requestBody
328
+ * @summary Create a new group
329
+ * @param {CreateGroupRequest} createGroupRequest
162
330
  * @param {*} [options] Override http request option.
163
331
  * @throws {RequiredError}
164
332
  * @memberof DefaultApiInterface
165
333
  */
166
- addVMsToInspectionRaw(requestParameters: AddVMsToInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>>;
334
+ createGroupRaw(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>>;
167
335
 
168
336
  /**
169
- * Add more VMs to inspection queue
337
+ * Create a new group
170
338
  */
171
- addVMsToInspection(requestParameters: AddVMsToInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
339
+ createGroup(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group>;
172
340
 
173
341
  /**
174
- * Creates request options for createGroup without sending the request
175
- * @param {CreateGroupRequest} createGroupRequest
342
+ * Creates request options for deleteForecasterRun without sending the request
343
+ * @param {number} id Run ID
176
344
  * @throws {RequiredError}
177
345
  * @memberof DefaultApiInterface
178
346
  */
179
- createGroupRequestOpts(requestParameters: CreateGroupOperationRequest): Promise<runtime.RequestOpts>;
347
+ deleteForecasterRunRequestOpts(requestParameters: DeleteForecasterRunRequest): Promise<runtime.RequestOpts>;
180
348
 
181
349
  /**
182
350
  *
183
- * @summary Create a new group
184
- * @param {CreateGroupRequest} createGroupRequest
351
+ * @summary Delete a benchmark run
352
+ * @param {number} id Run ID
185
353
  * @param {*} [options] Override http request option.
186
354
  * @throws {RequiredError}
187
355
  * @memberof DefaultApiInterface
188
356
  */
189
- createGroupRaw(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>>;
357
+ deleteForecasterRunRaw(requestParameters: DeleteForecasterRunRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
190
358
 
191
359
  /**
192
- * Create a new group
360
+ * Delete a benchmark run
193
361
  */
194
- createGroup(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group>;
362
+ deleteForecasterRun(requestParameters: DeleteForecasterRunRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
195
363
 
196
364
  /**
197
365
  * Creates request options for deleteGroup without sending the request
@@ -258,6 +426,100 @@ export interface DefaultApiInterface {
258
426
  */
259
427
  getCollectorStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectorStatus>;
260
428
 
429
+ /**
430
+ * Creates request options for getForecasterDatastores without sending the request
431
+ * @param {ForecasterDatastoresRequest} [forecasterDatastoresRequest]
432
+ * @throws {RequiredError}
433
+ * @memberof DefaultApiInterface
434
+ */
435
+ getForecasterDatastoresRequestOpts(requestParameters: GetForecasterDatastoresRequest): Promise<runtime.RequestOpts>;
436
+
437
+ /**
438
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
439
+ * @summary List available datastores
440
+ * @param {ForecasterDatastoresRequest} [forecasterDatastoresRequest]
441
+ * @param {*} [options] Override http request option.
442
+ * @throws {RequiredError}
443
+ * @memberof DefaultApiInterface
444
+ */
445
+ getForecasterDatastoresRaw(requestParameters: GetForecasterDatastoresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DatastoreDetail>>>;
446
+
447
+ /**
448
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
449
+ * List available datastores
450
+ */
451
+ getForecasterDatastores(requestParameters: GetForecasterDatastoresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DatastoreDetail>>;
452
+
453
+ /**
454
+ * Creates request options for getForecasterRuns without sending the request
455
+ * @param {string} [pairName] Filter runs by pair name
456
+ * @throws {RequiredError}
457
+ * @memberof DefaultApiInterface
458
+ */
459
+ getForecasterRunsRequestOpts(requestParameters: GetForecasterRunsRequest): Promise<runtime.RequestOpts>;
460
+
461
+ /**
462
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
463
+ * @summary List benchmark runs
464
+ * @param {string} [pairName] Filter runs by pair name
465
+ * @param {*} [options] Override http request option.
466
+ * @throws {RequiredError}
467
+ * @memberof DefaultApiInterface
468
+ */
469
+ getForecasterRunsRaw(requestParameters: GetForecasterRunsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<BenchmarkRun>>>;
470
+
471
+ /**
472
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
473
+ * List benchmark runs
474
+ */
475
+ getForecasterRuns(requestParameters: GetForecasterRunsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<BenchmarkRun>>;
476
+
477
+ /**
478
+ * Creates request options for getForecasterStats without sending the request
479
+ * @param {string} pairName Pair name to get statistics for
480
+ * @throws {RequiredError}
481
+ * @memberof DefaultApiInterface
482
+ */
483
+ getForecasterStatsRequestOpts(requestParameters: GetForecasterStatsRequest): Promise<runtime.RequestOpts>;
484
+
485
+ /**
486
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
487
+ * @summary Get throughput statistics
488
+ * @param {string} pairName Pair name to get statistics for
489
+ * @param {*} [options] Override http request option.
490
+ * @throws {RequiredError}
491
+ * @memberof DefaultApiInterface
492
+ */
493
+ getForecasterStatsRaw(requestParameters: GetForecasterStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecastStats>>;
494
+
495
+ /**
496
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
497
+ * Get throughput statistics
498
+ */
499
+ getForecasterStats(requestParameters: GetForecasterStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecastStats>;
500
+
501
+ /**
502
+ * Creates request options for getForecasterStatus without sending the request
503
+ * @throws {RequiredError}
504
+ * @memberof DefaultApiInterface
505
+ */
506
+ getForecasterStatusRequestOpts(): Promise<runtime.RequestOpts>;
507
+
508
+ /**
509
+ * Returns current service state with per-pair progress details.
510
+ * @summary Poll forecaster status
511
+ * @param {*} [options] Override http request option.
512
+ * @throws {RequiredError}
513
+ * @memberof DefaultApiInterface
514
+ */
515
+ getForecasterStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>>;
516
+
517
+ /**
518
+ * Returns current service state with per-pair progress details.
519
+ * Poll forecaster status
520
+ */
521
+ getForecasterStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus>;
522
+
261
523
  /**
262
524
  * Creates request options for getGroup without sending the request
263
525
  * @param {string} id Group ID
@@ -289,24 +551,49 @@ export interface DefaultApiInterface {
289
551
 
290
552
  /**
291
553
  * Creates request options for getInspectorStatus without sending the request
554
+ * @param {boolean} [includeVddk] If true, include uploaded VDDK metadata (&#x60;version&#x60;, &#x60;md5&#x60;) when present. omitted if VDDK was never uploaded.
555
+ * @param {boolean} [includeCredentials] If true, include configured vCenter URL and username (password is never returned). omitted if was never set.
292
556
  * @throws {RequiredError}
293
557
  * @memberof DefaultApiInterface
294
558
  */
295
- getInspectorStatusRequestOpts(): Promise<runtime.RequestOpts>;
559
+ getInspectorStatusRequestOpts(requestParameters: GetInspectorStatusRequest): Promise<runtime.RequestOpts>;
296
560
 
297
561
  /**
298
562
  *
299
563
  * @summary Get inspector status
564
+ * @param {boolean} [includeVddk] If true, include uploaded VDDK metadata (&#x60;version&#x60;, &#x60;md5&#x60;) when present. omitted if VDDK was never uploaded.
565
+ * @param {boolean} [includeCredentials] If true, include configured vCenter URL and username (password is never returned). omitted if was never set.
300
566
  * @param {*} [options] Override http request option.
301
567
  * @throws {RequiredError}
302
568
  * @memberof DefaultApiInterface
303
569
  */
304
- getInspectorStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>>;
570
+ getInspectorStatusRaw(requestParameters: GetInspectorStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>>;
305
571
 
306
572
  /**
307
573
  * Get inspector status
308
574
  */
309
- getInspectorStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
575
+ getInspectorStatus(requestParameters: GetInspectorStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
576
+
577
+ /**
578
+ * Creates request options for getInspectorVddkStatus without sending the request
579
+ * @throws {RequiredError}
580
+ * @memberof DefaultApiInterface
581
+ */
582
+ getInspectorVddkStatusRequestOpts(): Promise<runtime.RequestOpts>;
583
+
584
+ /**
585
+ *
586
+ * @summary Get VDDK status
587
+ * @param {*} [options] Override http request option.
588
+ * @throws {RequiredError}
589
+ * @memberof DefaultApiInterface
590
+ */
591
+ getInspectorVddkStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>>;
592
+
593
+ /**
594
+ * Get VDDK status
595
+ */
596
+ getInspectorVddkStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties>;
310
597
 
311
598
  /**
312
599
  * Creates request options for getInventory without sending the request
@@ -333,6 +620,77 @@ export interface DefaultApiInterface {
333
620
  */
334
621
  getInventory(requestParameters: GetInventoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetInventory200Response>;
335
622
 
623
+ /**
624
+ * Creates request options for getLatestRightsizingClusters without sending the request
625
+ * @param {string} [byExpression] Filter DSL expression (e.g. \&quot;cluster_id &#x3D; \&#39;domain-c123\&#39;\&quot;). Omit to return all clusters.
626
+ * @throws {RequiredError}
627
+ * @memberof DefaultApiInterface
628
+ */
629
+ getLatestRightsizingClustersRequestOpts(requestParameters: GetLatestRightsizingClustersRequest): Promise<runtime.RequestOpts>;
630
+
631
+ /**
632
+ *
633
+ * @summary Get cluster-level utilization aggregates for the latest completed report
634
+ * @param {string} [byExpression] Filter DSL expression (e.g. \&quot;cluster_id &#x3D; \&#39;domain-c123\&#39;\&quot;). Omit to return all clusters.
635
+ * @param {*} [options] Override http request option.
636
+ * @throws {RequiredError}
637
+ * @memberof DefaultApiInterface
638
+ */
639
+ getLatestRightsizingClustersRaw(requestParameters: GetLatestRightsizingClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>>;
640
+
641
+ /**
642
+ * Get cluster-level utilization aggregates for the latest completed report
643
+ */
644
+ getLatestRightsizingClusters(requestParameters: GetLatestRightsizingClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse>;
645
+
646
+ /**
647
+ * Creates request options for getRightsizingReport without sending the request
648
+ * @param {string} id Report UUID
649
+ * @throws {RequiredError}
650
+ * @memberof DefaultApiInterface
651
+ */
652
+ getRightsizingReportRequestOpts(requestParameters: GetRightsizingReportRequest): Promise<runtime.RequestOpts>;
653
+
654
+ /**
655
+ *
656
+ * @summary Get a specific rightsizing report with full VM metrics
657
+ * @param {string} id Report UUID
658
+ * @param {*} [options] Override http request option.
659
+ * @throws {RequiredError}
660
+ * @memberof DefaultApiInterface
661
+ */
662
+ getRightsizingReportRaw(requestParameters: GetRightsizingReportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReport>>;
663
+
664
+ /**
665
+ * Get a specific rightsizing report with full VM metrics
666
+ */
667
+ getRightsizingReport(requestParameters: GetRightsizingReportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReport>;
668
+
669
+ /**
670
+ * Creates request options for getRightsizingReportClusters without sending the request
671
+ * @param {string} reportId Rightsizing report UUID
672
+ * @param {string} [byExpression] Filter DSL expression (e.g. \&quot;cluster_id &#x3D; \&#39;domain-c123\&#39;\&quot;). Omit to return all clusters.
673
+ * @throws {RequiredError}
674
+ * @memberof DefaultApiInterface
675
+ */
676
+ getRightsizingReportClustersRequestOpts(requestParameters: GetRightsizingReportClustersRequest): Promise<runtime.RequestOpts>;
677
+
678
+ /**
679
+ *
680
+ * @summary Get cluster-level utilization aggregates for a specific report
681
+ * @param {string} reportId Rightsizing report UUID
682
+ * @param {string} [byExpression] Filter DSL expression (e.g. \&quot;cluster_id &#x3D; \&#39;domain-c123\&#39;\&quot;). Omit to return all clusters.
683
+ * @param {*} [options] Override http request option.
684
+ * @throws {RequiredError}
685
+ * @memberof DefaultApiInterface
686
+ */
687
+ getRightsizingReportClustersRaw(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>>;
688
+
689
+ /**
690
+ * Get cluster-level utilization aggregates for a specific report
691
+ */
692
+ getRightsizingReportClusters(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse>;
693
+
336
694
  /**
337
695
  * Creates request options for getVM without sending the request
338
696
  * @param {string} id VirtualMachine id
@@ -357,27 +715,27 @@ export interface DefaultApiInterface {
357
715
  getVM(requestParameters: GetVMRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineDetail>;
358
716
 
359
717
  /**
360
- * Creates request options for getVMInspectionStatus without sending the request
361
- * @param {string} id VirtualMachine ID
718
+ * Creates request options for getVMUtilization without sending the request
719
+ * @param {string} id VirtualMachine MoRef ID
362
720
  * @throws {RequiredError}
363
721
  * @memberof DefaultApiInterface
364
722
  */
365
- getVMInspectionStatusRequestOpts(requestParameters: GetVMInspectionStatusRequest): Promise<runtime.RequestOpts>;
723
+ getVMUtilizationRequestOpts(requestParameters: GetVMUtilizationRequest): Promise<runtime.RequestOpts>;
366
724
 
367
725
  /**
368
726
  *
369
- * @summary Get inspection status for a specific VirtualMachine
370
- * @param {string} id VirtualMachine ID
727
+ * @summary Get utilization breakdown for a specific VM
728
+ * @param {string} id VirtualMachine MoRef ID
371
729
  * @param {*} [options] Override http request option.
372
730
  * @throws {RequiredError}
373
731
  * @memberof DefaultApiInterface
374
732
  */
375
- getVMInspectionStatusRaw(requestParameters: GetVMInspectionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmInspectionStatus>>;
733
+ getVMUtilizationRaw(requestParameters: GetVMUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmUtilizationDetails>>;
376
734
 
377
735
  /**
378
- * Get inspection status for a specific VirtualMachine
736
+ * Get utilization breakdown for a specific VM
379
737
  */
380
- getVMInspectionStatus(requestParameters: GetVMInspectionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmInspectionStatus>;
738
+ getVMUtilization(requestParameters: GetVMUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmUtilizationDetails>;
381
739
 
382
740
  /**
383
741
  * Creates request options for getVMs without sending the request
@@ -408,27 +766,6 @@ export interface DefaultApiInterface {
408
766
  */
409
767
  getVMs(requestParameters: GetVMsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineListResponse>;
410
768
 
411
- /**
412
- * Creates request options for getVddkStatus without sending the request
413
- * @throws {RequiredError}
414
- * @memberof DefaultApiInterface
415
- */
416
- getVddkStatusRequestOpts(): Promise<runtime.RequestOpts>;
417
-
418
- /**
419
- *
420
- * @summary Get VDDK status
421
- * @param {*} [options] Override http request option.
422
- * @throws {RequiredError}
423
- * @memberof DefaultApiInterface
424
- */
425
- getVddkStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>>;
426
-
427
- /**
428
- * Get VDDK status
429
- */
430
- getVddkStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties>;
431
-
432
769
  /**
433
770
  * Creates request options for getVersion without sending the request
434
771
  * @throws {RequiredError}
@@ -478,103 +815,242 @@ export interface DefaultApiInterface {
478
815
  listGroups(requestParameters: ListGroupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupListResponse>;
479
816
 
480
817
  /**
481
- * Creates request options for removeVMFromInspection without sending the request
482
- * @param {string} id
818
+ * Creates request options for listRightsizingReports without sending the request
483
819
  * @throws {RequiredError}
484
820
  * @memberof DefaultApiInterface
485
821
  */
486
- removeVMFromInspectionRequestOpts(requestParameters: RemoveVMFromInspectionRequest): Promise<runtime.RequestOpts>;
822
+ listRightsizingReportsRequestOpts(): Promise<runtime.RequestOpts>;
487
823
 
488
824
  /**
489
825
  *
490
- * @summary Remove VirtualMachine from inspection queue
491
- * @param {string} id
826
+ * @summary List all rightsizing reports
492
827
  * @param {*} [options] Override http request option.
493
828
  * @throws {RequiredError}
494
829
  * @memberof DefaultApiInterface
495
830
  */
496
- removeVMFromInspectionRaw(requestParameters: RemoveVMFromInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmInspectionStatus>>;
831
+ listRightsizingReportsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReportListResponse>>;
497
832
 
498
833
  /**
499
- * Remove VirtualMachine from inspection queue
834
+ * List all rightsizing reports
500
835
  */
501
- removeVMFromInspection(requestParameters: RemoveVMFromInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmInspectionStatus>;
836
+ listRightsizingReports(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReportListResponse>;
502
837
 
503
838
  /**
504
- * Creates request options for setAgentMode without sending the request
505
- * @param {AgentModeRequest} agentModeRequest
839
+ * Creates request options for postForecasterPairCapabilities without sending the request
840
+ * @param {PairCapabilityRequest} pairCapabilityRequest
506
841
  * @throws {RequiredError}
507
842
  * @memberof DefaultApiInterface
508
843
  */
509
- setAgentModeRequestOpts(requestParameters: SetAgentModeRequest): Promise<runtime.RequestOpts>;
844
+ postForecasterPairCapabilitiesRequestOpts(requestParameters: PostForecasterPairCapabilitiesRequest): Promise<runtime.RequestOpts>;
510
845
 
511
846
  /**
512
- *
513
- * @summary Change agent mode
514
- * @param {AgentModeRequest} agentModeRequest
847
+ * 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.
848
+ * @summary Compute pair capabilities
849
+ * @param {PairCapabilityRequest} pairCapabilityRequest
515
850
  * @param {*} [options] Override http request option.
516
851
  * @throws {RequiredError}
517
852
  * @memberof DefaultApiInterface
518
853
  */
519
- setAgentModeRaw(requestParameters: SetAgentModeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AgentStatus>>;
854
+ postForecasterPairCapabilitiesRaw(requestParameters: PostForecasterPairCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<PairCapability>>>;
520
855
 
521
856
  /**
522
- * Change agent mode
857
+ * 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.
858
+ * Compute pair capabilities
523
859
  */
524
- setAgentMode(requestParameters: SetAgentModeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AgentStatus>;
860
+ postForecasterPairCapabilities(requestParameters: PostForecasterPairCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<PairCapability>>;
525
861
 
526
862
  /**
527
- * Creates request options for startCollector without sending the request
528
- * @param {CollectorStartRequest} collectorStartRequest
863
+ * Creates request options for putForecasterCredentials without sending the request
864
+ * @param {VcenterCredentials} vcenterCredentials
529
865
  * @throws {RequiredError}
530
866
  * @memberof DefaultApiInterface
531
867
  */
532
- startCollectorRequestOpts(requestParameters: StartCollectorRequest): Promise<runtime.RequestOpts>;
868
+ putForecasterCredentialsRequestOpts(requestParameters: PutForecasterCredentialsRequest): Promise<runtime.RequestOpts>;
533
869
 
534
870
  /**
535
- *
536
- * @summary Start inventory collection
537
- * @param {CollectorStartRequest} collectorStartRequest
871
+ * 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.
872
+ * @summary Verify vCenter credentials and permissions
873
+ * @param {VcenterCredentials} vcenterCredentials
538
874
  * @param {*} [options] Override http request option.
539
875
  * @throws {RequiredError}
540
876
  * @memberof DefaultApiInterface
541
877
  */
542
- startCollectorRaw(requestParameters: StartCollectorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectorStatus>>;
878
+ putForecasterCredentialsRaw(requestParameters: PutForecasterCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
543
879
 
544
880
  /**
545
- * Start inventory collection
881
+ * 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.
882
+ * Verify vCenter credentials and permissions
546
883
  */
547
- startCollector(requestParameters: StartCollectorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectorStatus>;
884
+ putForecasterCredentials(requestParameters: PutForecasterCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
548
885
 
549
886
  /**
550
- * Creates request options for startInspection without sending the request
551
- * @param {InspectorStartRequest} inspectorStartRequest
887
+ * Creates request options for putInspectorCredentials without sending the request
888
+ * @param {VcenterCredentials} vcenterCredentials
552
889
  * @throws {RequiredError}
553
890
  * @memberof DefaultApiInterface
554
891
  */
555
- startInspectionRequestOpts(requestParameters: StartInspectionRequest): Promise<runtime.RequestOpts>;
892
+ putInspectorCredentialsRequestOpts(requestParameters: PutInspectorCredentialsRequest): Promise<runtime.RequestOpts>;
556
893
 
557
894
  /**
558
895
  *
559
- * @summary Start inspection for VMs
560
- * @param {InspectorStartRequest} inspectorStartRequest
896
+ * @summary Set or replace inspector credentials
897
+ * @param {VcenterCredentials} vcenterCredentials
561
898
  * @param {*} [options] Override http request option.
562
899
  * @throws {RequiredError}
563
900
  * @memberof DefaultApiInterface
564
901
  */
565
- startInspectionRaw(requestParameters: StartInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>>;
902
+ putInspectorCredentialsRaw(requestParameters: PutInspectorCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
566
903
 
567
904
  /**
568
- * Start inspection for VMs
905
+ * Set or replace inspector credentials
569
906
  */
570
- startInspection(requestParameters: StartInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
907
+ putInspectorCredentials(requestParameters: PutInspectorCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
571
908
 
572
909
  /**
573
- * Creates request options for stopCollector without sending the request
910
+ * Creates request options for putInspectorVddk without sending the request
911
+ * @param {Blob} file VDDK tarball
574
912
  * @throws {RequiredError}
575
913
  * @memberof DefaultApiInterface
576
914
  */
577
- stopCollectorRequestOpts(): Promise<runtime.RequestOpts>;
915
+ putInspectorVddkRequestOpts(requestParameters: PutInspectorVddkRequest): Promise<runtime.RequestOpts>;
916
+
917
+ /**
918
+ *
919
+ * @summary Upload VDDK tarball
920
+ * @param {Blob} file VDDK tarball
921
+ * @param {*} [options] Override http request option.
922
+ * @throws {RequiredError}
923
+ * @memberof DefaultApiInterface
924
+ */
925
+ putInspectorVddkRaw(requestParameters: PutInspectorVddkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>>;
926
+
927
+ /**
928
+ * Upload VDDK tarball
929
+ */
930
+ putInspectorVddk(requestParameters: PutInspectorVddkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties>;
931
+
932
+ /**
933
+ * Creates request options for removeVMFromInspection without sending the request
934
+ * @param {string} id
935
+ * @throws {RequiredError}
936
+ * @memberof DefaultApiInterface
937
+ */
938
+ removeVMFromInspectionRequestOpts(requestParameters: RemoveVMFromInspectionRequest): Promise<runtime.RequestOpts>;
939
+
940
+ /**
941
+ *
942
+ * @summary Remove VirtualMachine from inspection queue
943
+ * @param {string} id
944
+ * @param {*} [options] Override http request option.
945
+ * @throws {RequiredError}
946
+ * @memberof DefaultApiInterface
947
+ */
948
+ removeVMFromInspectionRaw(requestParameters: RemoveVMFromInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmInspectionStatus>>;
949
+
950
+ /**
951
+ * Remove VirtualMachine from inspection queue
952
+ */
953
+ removeVMFromInspection(requestParameters: RemoveVMFromInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmInspectionStatus>;
954
+
955
+ /**
956
+ * Creates request options for setAgentMode without sending the request
957
+ * @param {AgentModeRequest} agentModeRequest
958
+ * @throws {RequiredError}
959
+ * @memberof DefaultApiInterface
960
+ */
961
+ setAgentModeRequestOpts(requestParameters: SetAgentModeRequest): Promise<runtime.RequestOpts>;
962
+
963
+ /**
964
+ *
965
+ * @summary Change agent mode
966
+ * @param {AgentModeRequest} agentModeRequest
967
+ * @param {*} [options] Override http request option.
968
+ * @throws {RequiredError}
969
+ * @memberof DefaultApiInterface
970
+ */
971
+ setAgentModeRaw(requestParameters: SetAgentModeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AgentStatus>>;
972
+
973
+ /**
974
+ * Change agent mode
975
+ */
976
+ setAgentMode(requestParameters: SetAgentModeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AgentStatus>;
977
+
978
+ /**
979
+ * Creates request options for startCollector without sending the request
980
+ * @param {CollectorStartRequest} collectorStartRequest
981
+ * @throws {RequiredError}
982
+ * @memberof DefaultApiInterface
983
+ */
984
+ startCollectorRequestOpts(requestParameters: StartCollectorRequest): Promise<runtime.RequestOpts>;
985
+
986
+ /**
987
+ *
988
+ * @summary Start inventory collection
989
+ * @param {CollectorStartRequest} collectorStartRequest
990
+ * @param {*} [options] Override http request option.
991
+ * @throws {RequiredError}
992
+ * @memberof DefaultApiInterface
993
+ */
994
+ startCollectorRaw(requestParameters: StartCollectorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectorStatus>>;
995
+
996
+ /**
997
+ * Start inventory collection
998
+ */
999
+ startCollector(requestParameters: StartCollectorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectorStatus>;
1000
+
1001
+ /**
1002
+ * Creates request options for startForecaster without sending the request
1003
+ * @param {ForecasterStartRequest} forecasterStartRequest
1004
+ * @throws {RequiredError}
1005
+ * @memberof DefaultApiInterface
1006
+ */
1007
+ startForecasterRequestOpts(requestParameters: StartForecasterRequest): Promise<runtime.RequestOpts>;
1008
+
1009
+ /**
1010
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
1011
+ * @summary Start benchmark
1012
+ * @param {ForecasterStartRequest} forecasterStartRequest
1013
+ * @param {*} [options] Override http request option.
1014
+ * @throws {RequiredError}
1015
+ * @memberof DefaultApiInterface
1016
+ */
1017
+ startForecasterRaw(requestParameters: StartForecasterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>>;
1018
+
1019
+ /**
1020
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
1021
+ * Start benchmark
1022
+ */
1023
+ startForecaster(requestParameters: StartForecasterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus>;
1024
+
1025
+ /**
1026
+ * Creates request options for startInspection without sending the request
1027
+ * @param {StartInspectionRequest} startInspectionRequest
1028
+ * @throws {RequiredError}
1029
+ * @memberof DefaultApiInterface
1030
+ */
1031
+ startInspectionRequestOpts(requestParameters: StartInspectionOperationRequest): Promise<runtime.RequestOpts>;
1032
+
1033
+ /**
1034
+ *
1035
+ * @summary Start inspection for VMs
1036
+ * @param {StartInspectionRequest} startInspectionRequest
1037
+ * @param {*} [options] Override http request option.
1038
+ * @throws {RequiredError}
1039
+ * @memberof DefaultApiInterface
1040
+ */
1041
+ startInspectionRaw(requestParameters: StartInspectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>>;
1042
+
1043
+ /**
1044
+ * Start inspection for VMs
1045
+ */
1046
+ startInspection(requestParameters: StartInspectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
1047
+
1048
+ /**
1049
+ * Creates request options for stopCollector without sending the request
1050
+ * @throws {RequiredError}
1051
+ * @memberof DefaultApiInterface
1052
+ */
1053
+ stopCollectorRequestOpts(): Promise<runtime.RequestOpts>;
578
1054
 
579
1055
  /**
580
1056
  *
@@ -590,6 +1066,52 @@ export interface DefaultApiInterface {
590
1066
  */
591
1067
  stopCollector(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
592
1068
 
1069
+ /**
1070
+ * Creates request options for stopForecaster without sending the request
1071
+ * @throws {RequiredError}
1072
+ * @memberof DefaultApiInterface
1073
+ */
1074
+ stopForecasterRequestOpts(): Promise<runtime.RequestOpts>;
1075
+
1076
+ /**
1077
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
1078
+ * @summary Cancel benchmark
1079
+ * @param {*} [options] Override http request option.
1080
+ * @throws {RequiredError}
1081
+ * @memberof DefaultApiInterface
1082
+ */
1083
+ stopForecasterRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>>;
1084
+
1085
+ /**
1086
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
1087
+ * Cancel benchmark
1088
+ */
1089
+ stopForecaster(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus>;
1090
+
1091
+ /**
1092
+ * Creates request options for stopForecasterPair without sending the request
1093
+ * @param {string} name Pair name as specified in the start request
1094
+ * @throws {RequiredError}
1095
+ * @memberof DefaultApiInterface
1096
+ */
1097
+ stopForecasterPairRequestOpts(requestParameters: StopForecasterPairRequest): Promise<runtime.RequestOpts>;
1098
+
1099
+ /**
1100
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
1101
+ * @summary Cancel a single pair
1102
+ * @param {string} name Pair name as specified in the start request
1103
+ * @param {*} [options] Override http request option.
1104
+ * @throws {RequiredError}
1105
+ * @memberof DefaultApiInterface
1106
+ */
1107
+ stopForecasterPairRaw(requestParameters: StopForecasterPairRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StopForecasterPair202Response>>;
1108
+
1109
+ /**
1110
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
1111
+ * Cancel a single pair
1112
+ */
1113
+ stopForecasterPair(requestParameters: StopForecasterPairRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StopForecasterPair202Response>;
1114
+
593
1115
  /**
594
1116
  * Creates request options for stopInspection without sending the request
595
1117
  * @throws {RequiredError}
@@ -612,52 +1134,52 @@ export interface DefaultApiInterface {
612
1134
  stopInspection(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus>;
613
1135
 
614
1136
  /**
615
- * Creates request options for updateGroup without sending the request
616
- * @param {string} id Group ID
617
- * @param {UpdateGroupRequest} updateGroupRequest
1137
+ * Creates request options for triggerRightsizingCollection without sending the request
1138
+ * @param {RightsizingCollectRequest} rightsizingCollectRequest
618
1139
  * @throws {RequiredError}
619
1140
  * @memberof DefaultApiInterface
620
1141
  */
621
- updateGroupRequestOpts(requestParameters: UpdateGroupOperationRequest): Promise<runtime.RequestOpts>;
1142
+ triggerRightsizingCollectionRequestOpts(requestParameters: TriggerRightsizingCollectionRequest): Promise<runtime.RequestOpts>;
622
1143
 
623
1144
  /**
624
1145
  *
625
- * @summary Update group
626
- * @param {string} id Group ID
627
- * @param {UpdateGroupRequest} updateGroupRequest
1146
+ * @summary Trigger rightsizing metrics collection
1147
+ * @param {RightsizingCollectRequest} rightsizingCollectRequest
628
1148
  * @param {*} [options] Override http request option.
629
1149
  * @throws {RequiredError}
630
1150
  * @memberof DefaultApiInterface
631
1151
  */
632
- updateGroupRaw(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>>;
1152
+ triggerRightsizingCollectionRaw(requestParameters: TriggerRightsizingCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReportSummary>>;
633
1153
 
634
1154
  /**
635
- * Update group
1155
+ * Trigger rightsizing metrics collection
636
1156
  */
637
- updateGroup(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group>;
1157
+ triggerRightsizingCollection(requestParameters: TriggerRightsizingCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReportSummary>;
638
1158
 
639
1159
  /**
640
- * Creates request options for vddkPost without sending the request
641
- * @param {Blob} file VDDK tarball
1160
+ * Creates request options for updateGroup without sending the request
1161
+ * @param {string} id Group ID
1162
+ * @param {UpdateGroupRequest} updateGroupRequest
642
1163
  * @throws {RequiredError}
643
1164
  * @memberof DefaultApiInterface
644
1165
  */
645
- vddkPostRequestOpts(requestParameters: VddkPostRequest): Promise<runtime.RequestOpts>;
1166
+ updateGroupRequestOpts(requestParameters: UpdateGroupOperationRequest): Promise<runtime.RequestOpts>;
646
1167
 
647
1168
  /**
648
1169
  *
649
- * @summary Upload VDDK tarball
650
- * @param {Blob} file VDDK tarball
1170
+ * @summary Update group
1171
+ * @param {string} id Group ID
1172
+ * @param {UpdateGroupRequest} updateGroupRequest
651
1173
  * @param {*} [options] Override http request option.
652
1174
  * @throws {RequiredError}
653
1175
  * @memberof DefaultApiInterface
654
1176
  */
655
- vddkPostRaw(requestParameters: VddkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>>;
1177
+ updateGroupRaw(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>>;
656
1178
 
657
1179
  /**
658
- * Upload VDDK tarball
1180
+ * Update group
659
1181
  */
660
- vddkPost(requestParameters: VddkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties>;
1182
+ updateGroup(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group>;
661
1183
 
662
1184
  }
663
1185
 
@@ -667,13 +1189,13 @@ export interface DefaultApiInterface {
667
1189
  export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
668
1190
 
669
1191
  /**
670
- * Creates request options for addVMsToInspection without sending the request
1192
+ * Creates request options for createGroup without sending the request
671
1193
  */
672
- async addVMsToInspectionRequestOpts(requestParameters: AddVMsToInspectionRequest): Promise<runtime.RequestOpts> {
673
- if (requestParameters['requestBody'] == null) {
1194
+ async createGroupRequestOpts(requestParameters: CreateGroupOperationRequest): Promise<runtime.RequestOpts> {
1195
+ if (requestParameters['createGroupRequest'] == null) {
674
1196
  throw new runtime.RequiredError(
675
- 'requestBody',
676
- 'Required parameter "requestBody" was null or undefined when calling addVMsToInspection().'
1197
+ 'createGroupRequest',
1198
+ 'Required parameter "createGroupRequest" was null or undefined when calling createGroup().'
677
1199
  );
678
1200
  }
679
1201
 
@@ -684,43 +1206,43 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
684
1206
  headerParameters['Content-Type'] = 'application/json';
685
1207
 
686
1208
 
687
- let urlPath = `/vms/inspector`;
1209
+ let urlPath = `/groups`;
688
1210
 
689
1211
  return {
690
1212
  path: urlPath,
691
- method: 'PATCH',
1213
+ method: 'POST',
692
1214
  headers: headerParameters,
693
1215
  query: queryParameters,
694
- body: requestParameters['requestBody'],
1216
+ body: CreateGroupRequestToJSON(requestParameters['createGroupRequest']),
695
1217
  };
696
1218
  }
697
1219
 
698
1220
  /**
699
- * Add more VMs to inspection queue
1221
+ * Create a new group
700
1222
  */
701
- async addVMsToInspectionRaw(requestParameters: AddVMsToInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>> {
702
- const requestOptions = await this.addVMsToInspectionRequestOpts(requestParameters);
1223
+ async createGroupRaw(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {
1224
+ const requestOptions = await this.createGroupRequestOpts(requestParameters);
703
1225
  const response = await this.request(requestOptions, initOverrides);
704
1226
 
705
- return new runtime.JSONApiResponse(response, (jsonValue) => InspectorStatusFromJSON(jsonValue));
1227
+ return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));
706
1228
  }
707
1229
 
708
1230
  /**
709
- * Add more VMs to inspection queue
1231
+ * Create a new group
710
1232
  */
711
- async addVMsToInspection(requestParameters: AddVMsToInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus> {
712
- const response = await this.addVMsToInspectionRaw(requestParameters, initOverrides);
1233
+ async createGroup(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {
1234
+ const response = await this.createGroupRaw(requestParameters, initOverrides);
713
1235
  return await response.value();
714
1236
  }
715
1237
 
716
1238
  /**
717
- * Creates request options for createGroup without sending the request
1239
+ * Creates request options for deleteForecasterRun without sending the request
718
1240
  */
719
- async createGroupRequestOpts(requestParameters: CreateGroupOperationRequest): Promise<runtime.RequestOpts> {
720
- if (requestParameters['createGroupRequest'] == null) {
1241
+ async deleteForecasterRunRequestOpts(requestParameters: DeleteForecasterRunRequest): Promise<runtime.RequestOpts> {
1242
+ if (requestParameters['id'] == null) {
721
1243
  throw new runtime.RequiredError(
722
- 'createGroupRequest',
723
- 'Required parameter "createGroupRequest" was null or undefined when calling createGroup().'
1244
+ 'id',
1245
+ 'Required parameter "id" was null or undefined when calling deleteForecasterRun().'
724
1246
  );
725
1247
  }
726
1248
 
@@ -728,36 +1250,33 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
728
1250
 
729
1251
  const headerParameters: runtime.HTTPHeaders = {};
730
1252
 
731
- headerParameters['Content-Type'] = 'application/json';
732
-
733
1253
 
734
- let urlPath = `/groups`;
1254
+ let urlPath = `/forecaster/runs/{id}`;
1255
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
735
1256
 
736
1257
  return {
737
1258
  path: urlPath,
738
- method: 'POST',
1259
+ method: 'DELETE',
739
1260
  headers: headerParameters,
740
1261
  query: queryParameters,
741
- body: CreateGroupRequestToJSON(requestParameters['createGroupRequest']),
742
1262
  };
743
1263
  }
744
1264
 
745
1265
  /**
746
- * Create a new group
1266
+ * Delete a benchmark run
747
1267
  */
748
- async createGroupRaw(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {
749
- const requestOptions = await this.createGroupRequestOpts(requestParameters);
1268
+ async deleteForecasterRunRaw(requestParameters: DeleteForecasterRunRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
1269
+ const requestOptions = await this.deleteForecasterRunRequestOpts(requestParameters);
750
1270
  const response = await this.request(requestOptions, initOverrides);
751
1271
 
752
- return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));
1272
+ return new runtime.VoidApiResponse(response);
753
1273
  }
754
1274
 
755
1275
  /**
756
- * Create a new group
1276
+ * Delete a benchmark run
757
1277
  */
758
- async createGroup(requestParameters: CreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {
759
- const response = await this.createGroupRaw(requestParameters, initOverrides);
760
- return await response.value();
1278
+ async deleteForecasterRun(requestParameters: DeleteForecasterRunRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
1279
+ await this.deleteForecasterRunRaw(requestParameters, initOverrides);
761
1280
  }
762
1281
 
763
1282
  /**
@@ -777,7 +1296,7 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
777
1296
 
778
1297
 
779
1298
  let urlPath = `/groups/{id}`;
780
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
1299
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
781
1300
 
782
1301
  return {
783
1302
  path: urlPath,
@@ -879,72 +1398,61 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
879
1398
  }
880
1399
 
881
1400
  /**
882
- * Creates request options for getGroup without sending the request
1401
+ * Creates request options for getForecasterDatastores without sending the request
883
1402
  */
884
- async getGroupRequestOpts(requestParameters: GetGroupRequest): Promise<runtime.RequestOpts> {
885
- if (requestParameters['id'] == null) {
886
- throw new runtime.RequiredError(
887
- 'id',
888
- 'Required parameter "id" was null or undefined when calling getGroup().'
889
- );
890
- }
891
-
1403
+ async getForecasterDatastoresRequestOpts(requestParameters: GetForecasterDatastoresRequest): Promise<runtime.RequestOpts> {
892
1404
  const queryParameters: any = {};
893
1405
 
894
- if (requestParameters['sort'] != null) {
895
- queryParameters['sort'] = requestParameters['sort'];
896
- }
897
-
898
- if (requestParameters['page'] != null) {
899
- queryParameters['page'] = requestParameters['page'];
900
- }
901
-
902
- if (requestParameters['pageSize'] != null) {
903
- queryParameters['pageSize'] = requestParameters['pageSize'];
904
- }
905
-
906
1406
  const headerParameters: runtime.HTTPHeaders = {};
907
1407
 
1408
+ headerParameters['Content-Type'] = 'application/json';
1409
+
908
1410
 
909
- let urlPath = `/groups/{id}`;
910
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
1411
+ let urlPath = `/forecaster/datastores`;
911
1412
 
912
1413
  return {
913
1414
  path: urlPath,
914
- method: 'GET',
1415
+ method: 'POST',
915
1416
  headers: headerParameters,
916
1417
  query: queryParameters,
1418
+ body: ForecasterDatastoresRequestToJSON(requestParameters['forecasterDatastoresRequest']),
917
1419
  };
918
1420
  }
919
1421
 
920
1422
  /**
921
- * Get group by ID with its VMs
1423
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
1424
+ * List available datastores
922
1425
  */
923
- async getGroupRaw(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupResponse>> {
924
- const requestOptions = await this.getGroupRequestOpts(requestParameters);
1426
+ async getForecasterDatastoresRaw(requestParameters: GetForecasterDatastoresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DatastoreDetail>>> {
1427
+ const requestOptions = await this.getForecasterDatastoresRequestOpts(requestParameters);
925
1428
  const response = await this.request(requestOptions, initOverrides);
926
1429
 
927
- return new runtime.JSONApiResponse(response, (jsonValue) => GroupResponseFromJSON(jsonValue));
1430
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DatastoreDetailFromJSON));
928
1431
  }
929
1432
 
930
1433
  /**
931
- * Get group by ID with its VMs
1434
+ * Returns datastores from the forklift-collected inventory with storage vendor and capability information derived from NAA device identifiers. No vSphere credentials are required.
1435
+ * List available datastores
932
1436
  */
933
- async getGroup(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupResponse> {
934
- const response = await this.getGroupRaw(requestParameters, initOverrides);
1437
+ async getForecasterDatastores(requestParameters: GetForecasterDatastoresRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DatastoreDetail>> {
1438
+ const response = await this.getForecasterDatastoresRaw(requestParameters, initOverrides);
935
1439
  return await response.value();
936
1440
  }
937
1441
 
938
1442
  /**
939
- * Creates request options for getInspectorStatus without sending the request
1443
+ * Creates request options for getForecasterRuns without sending the request
940
1444
  */
941
- async getInspectorStatusRequestOpts(): Promise<runtime.RequestOpts> {
1445
+ async getForecasterRunsRequestOpts(requestParameters: GetForecasterRunsRequest): Promise<runtime.RequestOpts> {
942
1446
  const queryParameters: any = {};
943
1447
 
1448
+ if (requestParameters['pairName'] != null) {
1449
+ queryParameters['pairName'] = requestParameters['pairName'];
1450
+ }
1451
+
944
1452
  const headerParameters: runtime.HTTPHeaders = {};
945
1453
 
946
1454
 
947
- let urlPath = `/vms/inspector`;
1455
+ let urlPath = `/forecaster/runs`;
948
1456
 
949
1457
  return {
950
1458
  path: urlPath,
@@ -955,30 +1463,260 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
955
1463
  }
956
1464
 
957
1465
  /**
958
- * Get inspector status
1466
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
1467
+ * List benchmark runs
959
1468
  */
960
- async getInspectorStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>> {
961
- const requestOptions = await this.getInspectorStatusRequestOpts();
1469
+ async getForecasterRunsRaw(requestParameters: GetForecasterRunsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<BenchmarkRun>>> {
1470
+ const requestOptions = await this.getForecasterRunsRequestOpts(requestParameters);
962
1471
  const response = await this.request(requestOptions, initOverrides);
963
1472
 
964
- return new runtime.JSONApiResponse(response, (jsonValue) => InspectorStatusFromJSON(jsonValue));
1473
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BenchmarkRunFromJSON));
965
1474
  }
966
1475
 
967
1476
  /**
968
- * Get inspector status
1477
+ * Returns individual benchmark iterations. Optionally filtered by pair name.
1478
+ * List benchmark runs
969
1479
  */
970
- async getInspectorStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus> {
971
- const response = await this.getInspectorStatusRaw(initOverrides);
1480
+ async getForecasterRuns(requestParameters: GetForecasterRunsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<BenchmarkRun>> {
1481
+ const response = await this.getForecasterRunsRaw(requestParameters, initOverrides);
972
1482
  return await response.value();
973
1483
  }
974
1484
 
975
1485
  /**
976
- * Creates request options for getInventory without sending the request
1486
+ * Creates request options for getForecasterStats without sending the request
977
1487
  */
978
- async getInventoryRequestOpts(requestParameters: GetInventoryRequest): Promise<runtime.RequestOpts> {
979
- const queryParameters: any = {};
980
-
981
- if (requestParameters['withAgentId'] != null) {
1488
+ async getForecasterStatsRequestOpts(requestParameters: GetForecasterStatsRequest): Promise<runtime.RequestOpts> {
1489
+ if (requestParameters['pairName'] == null) {
1490
+ throw new runtime.RequiredError(
1491
+ 'pairName',
1492
+ 'Required parameter "pairName" was null or undefined when calling getForecasterStats().'
1493
+ );
1494
+ }
1495
+
1496
+ const queryParameters: any = {};
1497
+
1498
+ if (requestParameters['pairName'] != null) {
1499
+ queryParameters['pairName'] = requestParameters['pairName'];
1500
+ }
1501
+
1502
+ const headerParameters: runtime.HTTPHeaders = {};
1503
+
1504
+
1505
+ let urlPath = `/forecaster/stats`;
1506
+
1507
+ return {
1508
+ path: urlPath,
1509
+ method: 'GET',
1510
+ headers: headerParameters,
1511
+ query: queryParameters,
1512
+ };
1513
+ }
1514
+
1515
+ /**
1516
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
1517
+ * Get throughput statistics
1518
+ */
1519
+ async getForecasterStatsRaw(requestParameters: GetForecasterStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecastStats>> {
1520
+ const requestOptions = await this.getForecasterStatsRequestOpts(requestParameters);
1521
+ const response = await this.request(requestOptions, initOverrides);
1522
+
1523
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecastStatsFromJSON(jsonValue));
1524
+ }
1525
+
1526
+ /**
1527
+ * Returns computed statistics for a datastore pair\'s benchmark results. Primary endpoint for the UI to display migration time estimates.
1528
+ * Get throughput statistics
1529
+ */
1530
+ async getForecasterStats(requestParameters: GetForecasterStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecastStats> {
1531
+ const response = await this.getForecasterStatsRaw(requestParameters, initOverrides);
1532
+ return await response.value();
1533
+ }
1534
+
1535
+ /**
1536
+ * Creates request options for getForecasterStatus without sending the request
1537
+ */
1538
+ async getForecasterStatusRequestOpts(): Promise<runtime.RequestOpts> {
1539
+ const queryParameters: any = {};
1540
+
1541
+ const headerParameters: runtime.HTTPHeaders = {};
1542
+
1543
+
1544
+ let urlPath = `/forecaster`;
1545
+
1546
+ return {
1547
+ path: urlPath,
1548
+ method: 'GET',
1549
+ headers: headerParameters,
1550
+ query: queryParameters,
1551
+ };
1552
+ }
1553
+
1554
+ /**
1555
+ * Returns current service state with per-pair progress details.
1556
+ * Poll forecaster status
1557
+ */
1558
+ async getForecasterStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>> {
1559
+ const requestOptions = await this.getForecasterStatusRequestOpts();
1560
+ const response = await this.request(requestOptions, initOverrides);
1561
+
1562
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
1563
+ }
1564
+
1565
+ /**
1566
+ * Returns current service state with per-pair progress details.
1567
+ * Poll forecaster status
1568
+ */
1569
+ async getForecasterStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus> {
1570
+ const response = await this.getForecasterStatusRaw(initOverrides);
1571
+ return await response.value();
1572
+ }
1573
+
1574
+ /**
1575
+ * Creates request options for getGroup without sending the request
1576
+ */
1577
+ async getGroupRequestOpts(requestParameters: GetGroupRequest): Promise<runtime.RequestOpts> {
1578
+ if (requestParameters['id'] == null) {
1579
+ throw new runtime.RequiredError(
1580
+ 'id',
1581
+ 'Required parameter "id" was null or undefined when calling getGroup().'
1582
+ );
1583
+ }
1584
+
1585
+ const queryParameters: any = {};
1586
+
1587
+ if (requestParameters['sort'] != null) {
1588
+ queryParameters['sort'] = requestParameters['sort'];
1589
+ }
1590
+
1591
+ if (requestParameters['page'] != null) {
1592
+ queryParameters['page'] = requestParameters['page'];
1593
+ }
1594
+
1595
+ if (requestParameters['pageSize'] != null) {
1596
+ queryParameters['pageSize'] = requestParameters['pageSize'];
1597
+ }
1598
+
1599
+ const headerParameters: runtime.HTTPHeaders = {};
1600
+
1601
+
1602
+ let urlPath = `/groups/{id}`;
1603
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1604
+
1605
+ return {
1606
+ path: urlPath,
1607
+ method: 'GET',
1608
+ headers: headerParameters,
1609
+ query: queryParameters,
1610
+ };
1611
+ }
1612
+
1613
+ /**
1614
+ * Get group by ID with its VMs
1615
+ */
1616
+ async getGroupRaw(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupResponse>> {
1617
+ const requestOptions = await this.getGroupRequestOpts(requestParameters);
1618
+ const response = await this.request(requestOptions, initOverrides);
1619
+
1620
+ return new runtime.JSONApiResponse(response, (jsonValue) => GroupResponseFromJSON(jsonValue));
1621
+ }
1622
+
1623
+ /**
1624
+ * Get group by ID with its VMs
1625
+ */
1626
+ async getGroup(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupResponse> {
1627
+ const response = await this.getGroupRaw(requestParameters, initOverrides);
1628
+ return await response.value();
1629
+ }
1630
+
1631
+ /**
1632
+ * Creates request options for getInspectorStatus without sending the request
1633
+ */
1634
+ async getInspectorStatusRequestOpts(requestParameters: GetInspectorStatusRequest): Promise<runtime.RequestOpts> {
1635
+ const queryParameters: any = {};
1636
+
1637
+ if (requestParameters['includeVddk'] != null) {
1638
+ queryParameters['includeVddk'] = requestParameters['includeVddk'];
1639
+ }
1640
+
1641
+ if (requestParameters['includeCredentials'] != null) {
1642
+ queryParameters['includeCredentials'] = requestParameters['includeCredentials'];
1643
+ }
1644
+
1645
+ const headerParameters: runtime.HTTPHeaders = {};
1646
+
1647
+
1648
+ let urlPath = `/inspector`;
1649
+
1650
+ return {
1651
+ path: urlPath,
1652
+ method: 'GET',
1653
+ headers: headerParameters,
1654
+ query: queryParameters,
1655
+ };
1656
+ }
1657
+
1658
+ /**
1659
+ * Get inspector status
1660
+ */
1661
+ async getInspectorStatusRaw(requestParameters: GetInspectorStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>> {
1662
+ const requestOptions = await this.getInspectorStatusRequestOpts(requestParameters);
1663
+ const response = await this.request(requestOptions, initOverrides);
1664
+
1665
+ return new runtime.JSONApiResponse(response, (jsonValue) => InspectorStatusFromJSON(jsonValue));
1666
+ }
1667
+
1668
+ /**
1669
+ * Get inspector status
1670
+ */
1671
+ async getInspectorStatus(requestParameters: GetInspectorStatusRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus> {
1672
+ const response = await this.getInspectorStatusRaw(requestParameters, initOverrides);
1673
+ return await response.value();
1674
+ }
1675
+
1676
+ /**
1677
+ * Creates request options for getInspectorVddkStatus without sending the request
1678
+ */
1679
+ async getInspectorVddkStatusRequestOpts(): Promise<runtime.RequestOpts> {
1680
+ const queryParameters: any = {};
1681
+
1682
+ const headerParameters: runtime.HTTPHeaders = {};
1683
+
1684
+
1685
+ let urlPath = `/inspector/vddk`;
1686
+
1687
+ return {
1688
+ path: urlPath,
1689
+ method: 'GET',
1690
+ headers: headerParameters,
1691
+ query: queryParameters,
1692
+ };
1693
+ }
1694
+
1695
+ /**
1696
+ * Get VDDK status
1697
+ */
1698
+ async getInspectorVddkStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>> {
1699
+ const requestOptions = await this.getInspectorVddkStatusRequestOpts();
1700
+ const response = await this.request(requestOptions, initOverrides);
1701
+
1702
+ return new runtime.JSONApiResponse(response, (jsonValue) => VddkPropertiesFromJSON(jsonValue));
1703
+ }
1704
+
1705
+ /**
1706
+ * Get VDDK status
1707
+ */
1708
+ async getInspectorVddkStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties> {
1709
+ const response = await this.getInspectorVddkStatusRaw(initOverrides);
1710
+ return await response.value();
1711
+ }
1712
+
1713
+ /**
1714
+ * Creates request options for getInventory without sending the request
1715
+ */
1716
+ async getInventoryRequestOpts(requestParameters: GetInventoryRequest): Promise<runtime.RequestOpts> {
1717
+ const queryParameters: any = {};
1718
+
1719
+ if (requestParameters['withAgentId'] != null) {
982
1720
  queryParameters['withAgentId'] = requestParameters['withAgentId'];
983
1721
  }
984
1722
 
@@ -1017,6 +1755,141 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1017
1755
  return await response.value();
1018
1756
  }
1019
1757
 
1758
+ /**
1759
+ * Creates request options for getLatestRightsizingClusters without sending the request
1760
+ */
1761
+ async getLatestRightsizingClustersRequestOpts(requestParameters: GetLatestRightsizingClustersRequest): Promise<runtime.RequestOpts> {
1762
+ const queryParameters: any = {};
1763
+
1764
+ if (requestParameters['byExpression'] != null) {
1765
+ queryParameters['byExpression'] = requestParameters['byExpression'];
1766
+ }
1767
+
1768
+ const headerParameters: runtime.HTTPHeaders = {};
1769
+
1770
+
1771
+ let urlPath = `/cluster_rightsizing`;
1772
+
1773
+ return {
1774
+ path: urlPath,
1775
+ method: 'GET',
1776
+ headers: headerParameters,
1777
+ query: queryParameters,
1778
+ };
1779
+ }
1780
+
1781
+ /**
1782
+ * Get cluster-level utilization aggregates for the latest completed report
1783
+ */
1784
+ async getLatestRightsizingClustersRaw(requestParameters: GetLatestRightsizingClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>> {
1785
+ const requestOptions = await this.getLatestRightsizingClustersRequestOpts(requestParameters);
1786
+ const response = await this.request(requestOptions, initOverrides);
1787
+
1788
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
1789
+ }
1790
+
1791
+ /**
1792
+ * Get cluster-level utilization aggregates for the latest completed report
1793
+ */
1794
+ async getLatestRightsizingClusters(requestParameters: GetLatestRightsizingClustersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse> {
1795
+ const response = await this.getLatestRightsizingClustersRaw(requestParameters, initOverrides);
1796
+ return await response.value();
1797
+ }
1798
+
1799
+ /**
1800
+ * Creates request options for getRightsizingReport without sending the request
1801
+ */
1802
+ async getRightsizingReportRequestOpts(requestParameters: GetRightsizingReportRequest): Promise<runtime.RequestOpts> {
1803
+ if (requestParameters['id'] == null) {
1804
+ throw new runtime.RequiredError(
1805
+ 'id',
1806
+ 'Required parameter "id" was null or undefined when calling getRightsizingReport().'
1807
+ );
1808
+ }
1809
+
1810
+ const queryParameters: any = {};
1811
+
1812
+ const headerParameters: runtime.HTTPHeaders = {};
1813
+
1814
+
1815
+ let urlPath = `/rightsizing/{id}`;
1816
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1817
+
1818
+ return {
1819
+ path: urlPath,
1820
+ method: 'GET',
1821
+ headers: headerParameters,
1822
+ query: queryParameters,
1823
+ };
1824
+ }
1825
+
1826
+ /**
1827
+ * Get a specific rightsizing report with full VM metrics
1828
+ */
1829
+ async getRightsizingReportRaw(requestParameters: GetRightsizingReportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReport>> {
1830
+ const requestOptions = await this.getRightsizingReportRequestOpts(requestParameters);
1831
+ const response = await this.request(requestOptions, initOverrides);
1832
+
1833
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingReportFromJSON(jsonValue));
1834
+ }
1835
+
1836
+ /**
1837
+ * Get a specific rightsizing report with full VM metrics
1838
+ */
1839
+ async getRightsizingReport(requestParameters: GetRightsizingReportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReport> {
1840
+ const response = await this.getRightsizingReportRaw(requestParameters, initOverrides);
1841
+ return await response.value();
1842
+ }
1843
+
1844
+ /**
1845
+ * Creates request options for getRightsizingReportClusters without sending the request
1846
+ */
1847
+ async getRightsizingReportClustersRequestOpts(requestParameters: GetRightsizingReportClustersRequest): Promise<runtime.RequestOpts> {
1848
+ if (requestParameters['reportId'] == null) {
1849
+ throw new runtime.RequiredError(
1850
+ 'reportId',
1851
+ 'Required parameter "reportId" was null or undefined when calling getRightsizingReportClusters().'
1852
+ );
1853
+ }
1854
+
1855
+ const queryParameters: any = {};
1856
+
1857
+ if (requestParameters['byExpression'] != null) {
1858
+ queryParameters['byExpression'] = requestParameters['byExpression'];
1859
+ }
1860
+
1861
+ const headerParameters: runtime.HTTPHeaders = {};
1862
+
1863
+
1864
+ let urlPath = `/cluster_rightsizing/{report_id}`;
1865
+ urlPath = urlPath.replace('{report_id}', encodeURIComponent(String(requestParameters['reportId'])));
1866
+
1867
+ return {
1868
+ path: urlPath,
1869
+ method: 'GET',
1870
+ headers: headerParameters,
1871
+ query: queryParameters,
1872
+ };
1873
+ }
1874
+
1875
+ /**
1876
+ * Get cluster-level utilization aggregates for a specific report
1877
+ */
1878
+ async getRightsizingReportClustersRaw(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>> {
1879
+ const requestOptions = await this.getRightsizingReportClustersRequestOpts(requestParameters);
1880
+ const response = await this.request(requestOptions, initOverrides);
1881
+
1882
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
1883
+ }
1884
+
1885
+ /**
1886
+ * Get cluster-level utilization aggregates for a specific report
1887
+ */
1888
+ async getRightsizingReportClusters(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse> {
1889
+ const response = await this.getRightsizingReportClustersRaw(requestParameters, initOverrides);
1890
+ return await response.value();
1891
+ }
1892
+
1020
1893
  /**
1021
1894
  * Creates request options for getVM without sending the request
1022
1895
  */
@@ -1034,7 +1907,7 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1034
1907
 
1035
1908
 
1036
1909
  let urlPath = `/vms/{id}`;
1037
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
1910
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1038
1911
 
1039
1912
  return {
1040
1913
  path: urlPath,
@@ -1063,13 +1936,13 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1063
1936
  }
1064
1937
 
1065
1938
  /**
1066
- * Creates request options for getVMInspectionStatus without sending the request
1939
+ * Creates request options for getVMUtilization without sending the request
1067
1940
  */
1068
- async getVMInspectionStatusRequestOpts(requestParameters: GetVMInspectionStatusRequest): Promise<runtime.RequestOpts> {
1941
+ async getVMUtilizationRequestOpts(requestParameters: GetVMUtilizationRequest): Promise<runtime.RequestOpts> {
1069
1942
  if (requestParameters['id'] == null) {
1070
1943
  throw new runtime.RequiredError(
1071
1944
  'id',
1072
- 'Required parameter "id" was null or undefined when calling getVMInspectionStatus().'
1945
+ 'Required parameter "id" was null or undefined when calling getVMUtilization().'
1073
1946
  );
1074
1947
  }
1075
1948
 
@@ -1078,8 +1951,8 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1078
1951
  const headerParameters: runtime.HTTPHeaders = {};
1079
1952
 
1080
1953
 
1081
- let urlPath = `/vms/{id}/inspector`;
1082
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
1954
+ let urlPath = `/vms/{id}/utilization`;
1955
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1083
1956
 
1084
1957
  return {
1085
1958
  path: urlPath,
@@ -1090,20 +1963,20 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1090
1963
  }
1091
1964
 
1092
1965
  /**
1093
- * Get inspection status for a specific VirtualMachine
1966
+ * Get utilization breakdown for a specific VM
1094
1967
  */
1095
- async getVMInspectionStatusRaw(requestParameters: GetVMInspectionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmInspectionStatus>> {
1096
- const requestOptions = await this.getVMInspectionStatusRequestOpts(requestParameters);
1968
+ async getVMUtilizationRaw(requestParameters: GetVMUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VmUtilizationDetails>> {
1969
+ const requestOptions = await this.getVMUtilizationRequestOpts(requestParameters);
1097
1970
  const response = await this.request(requestOptions, initOverrides);
1098
1971
 
1099
- return new runtime.JSONApiResponse(response, (jsonValue) => VmInspectionStatusFromJSON(jsonValue));
1972
+ return new runtime.JSONApiResponse(response, (jsonValue) => VmUtilizationDetailsFromJSON(jsonValue));
1100
1973
  }
1101
1974
 
1102
1975
  /**
1103
- * Get inspection status for a specific VirtualMachine
1976
+ * Get utilization breakdown for a specific VM
1104
1977
  */
1105
- async getVMInspectionStatus(requestParameters: GetVMInspectionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmInspectionStatus> {
1106
- const response = await this.getVMInspectionStatusRaw(requestParameters, initOverrides);
1978
+ async getVMUtilization(requestParameters: GetVMUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VmUtilizationDetails> {
1979
+ const response = await this.getVMUtilizationRaw(requestParameters, initOverrides);
1107
1980
  return await response.value();
1108
1981
  }
1109
1982
 
@@ -1132,154 +2005,362 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1132
2005
  const headerParameters: runtime.HTTPHeaders = {};
1133
2006
 
1134
2007
 
1135
- let urlPath = `/vms`;
2008
+ let urlPath = `/vms`;
2009
+
2010
+ return {
2011
+ path: urlPath,
2012
+ method: 'GET',
2013
+ headers: headerParameters,
2014
+ query: queryParameters,
2015
+ };
2016
+ }
2017
+
2018
+ /**
2019
+ * Get list of VMs with filtering and pagination
2020
+ */
2021
+ async getVMsRaw(requestParameters: GetVMsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VirtualMachineListResponse>> {
2022
+ const requestOptions = await this.getVMsRequestOpts(requestParameters);
2023
+ const response = await this.request(requestOptions, initOverrides);
2024
+
2025
+ return new runtime.JSONApiResponse(response, (jsonValue) => VirtualMachineListResponseFromJSON(jsonValue));
2026
+ }
2027
+
2028
+ /**
2029
+ * Get list of VMs with filtering and pagination
2030
+ */
2031
+ async getVMs(requestParameters: GetVMsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineListResponse> {
2032
+ const response = await this.getVMsRaw(requestParameters, initOverrides);
2033
+ return await response.value();
2034
+ }
2035
+
2036
+ /**
2037
+ * Creates request options for getVersion without sending the request
2038
+ */
2039
+ async getVersionRequestOpts(): Promise<runtime.RequestOpts> {
2040
+ const queryParameters: any = {};
2041
+
2042
+ const headerParameters: runtime.HTTPHeaders = {};
2043
+
2044
+
2045
+ let urlPath = `/version`;
2046
+
2047
+ return {
2048
+ path: urlPath,
2049
+ method: 'GET',
2050
+ headers: headerParameters,
2051
+ query: queryParameters,
2052
+ };
2053
+ }
2054
+
2055
+ /**
2056
+ * Get agent version information
2057
+ */
2058
+ async getVersionRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VersionInfo>> {
2059
+ const requestOptions = await this.getVersionRequestOpts();
2060
+ const response = await this.request(requestOptions, initOverrides);
2061
+
2062
+ return new runtime.JSONApiResponse(response, (jsonValue) => VersionInfoFromJSON(jsonValue));
2063
+ }
2064
+
2065
+ /**
2066
+ * Get agent version information
2067
+ */
2068
+ async getVersion(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VersionInfo> {
2069
+ const response = await this.getVersionRaw(initOverrides);
2070
+ return await response.value();
2071
+ }
2072
+
2073
+ /**
2074
+ * Creates request options for listGroups without sending the request
2075
+ */
2076
+ async listGroupsRequestOpts(requestParameters: ListGroupsRequest): Promise<runtime.RequestOpts> {
2077
+ const queryParameters: any = {};
2078
+
2079
+ if (requestParameters['byName'] != null) {
2080
+ queryParameters['byName'] = requestParameters['byName'];
2081
+ }
2082
+
2083
+ if (requestParameters['page'] != null) {
2084
+ queryParameters['page'] = requestParameters['page'];
2085
+ }
2086
+
2087
+ if (requestParameters['pageSize'] != null) {
2088
+ queryParameters['pageSize'] = requestParameters['pageSize'];
2089
+ }
2090
+
2091
+ const headerParameters: runtime.HTTPHeaders = {};
2092
+
2093
+
2094
+ let urlPath = `/groups`;
2095
+
2096
+ return {
2097
+ path: urlPath,
2098
+ method: 'GET',
2099
+ headers: headerParameters,
2100
+ query: queryParameters,
2101
+ };
2102
+ }
2103
+
2104
+ /**
2105
+ * List all groups
2106
+ */
2107
+ async listGroupsRaw(requestParameters: ListGroupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupListResponse>> {
2108
+ const requestOptions = await this.listGroupsRequestOpts(requestParameters);
2109
+ const response = await this.request(requestOptions, initOverrides);
2110
+
2111
+ return new runtime.JSONApiResponse(response, (jsonValue) => GroupListResponseFromJSON(jsonValue));
2112
+ }
2113
+
2114
+ /**
2115
+ * List all groups
2116
+ */
2117
+ async listGroups(requestParameters: ListGroupsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupListResponse> {
2118
+ const response = await this.listGroupsRaw(requestParameters, initOverrides);
2119
+ return await response.value();
2120
+ }
2121
+
2122
+ /**
2123
+ * Creates request options for listRightsizingReports without sending the request
2124
+ */
2125
+ async listRightsizingReportsRequestOpts(): Promise<runtime.RequestOpts> {
2126
+ const queryParameters: any = {};
2127
+
2128
+ const headerParameters: runtime.HTTPHeaders = {};
2129
+
2130
+
2131
+ let urlPath = `/rightsizing`;
2132
+
2133
+ return {
2134
+ path: urlPath,
2135
+ method: 'GET',
2136
+ headers: headerParameters,
2137
+ query: queryParameters,
2138
+ };
2139
+ }
2140
+
2141
+ /**
2142
+ * List all rightsizing reports
2143
+ */
2144
+ async listRightsizingReportsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReportListResponse>> {
2145
+ const requestOptions = await this.listRightsizingReportsRequestOpts();
2146
+ const response = await this.request(requestOptions, initOverrides);
2147
+
2148
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingReportListResponseFromJSON(jsonValue));
2149
+ }
2150
+
2151
+ /**
2152
+ * List all rightsizing reports
2153
+ */
2154
+ async listRightsizingReports(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReportListResponse> {
2155
+ const response = await this.listRightsizingReportsRaw(initOverrides);
2156
+ return await response.value();
2157
+ }
2158
+
2159
+ /**
2160
+ * Creates request options for postForecasterPairCapabilities without sending the request
2161
+ */
2162
+ async postForecasterPairCapabilitiesRequestOpts(requestParameters: PostForecasterPairCapabilitiesRequest): Promise<runtime.RequestOpts> {
2163
+ if (requestParameters['pairCapabilityRequest'] == null) {
2164
+ throw new runtime.RequiredError(
2165
+ 'pairCapabilityRequest',
2166
+ 'Required parameter "pairCapabilityRequest" was null or undefined when calling postForecasterPairCapabilities().'
2167
+ );
2168
+ }
2169
+
2170
+ const queryParameters: any = {};
2171
+
2172
+ const headerParameters: runtime.HTTPHeaders = {};
2173
+
2174
+ headerParameters['Content-Type'] = 'application/json';
2175
+
2176
+
2177
+ let urlPath = `/forecaster/capabilities`;
1136
2178
 
1137
2179
  return {
1138
2180
  path: urlPath,
1139
- method: 'GET',
2181
+ method: 'POST',
1140
2182
  headers: headerParameters,
1141
2183
  query: queryParameters,
2184
+ body: PairCapabilityRequestToJSON(requestParameters['pairCapabilityRequest']),
1142
2185
  };
1143
2186
  }
1144
2187
 
1145
2188
  /**
1146
- * Get list of VMs with filtering and pagination
2189
+ * 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.
2190
+ * Compute pair capabilities
1147
2191
  */
1148
- async getVMsRaw(requestParameters: GetVMsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VirtualMachineListResponse>> {
1149
- const requestOptions = await this.getVMsRequestOpts(requestParameters);
2192
+ async postForecasterPairCapabilitiesRaw(requestParameters: PostForecasterPairCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<PairCapability>>> {
2193
+ const requestOptions = await this.postForecasterPairCapabilitiesRequestOpts(requestParameters);
1150
2194
  const response = await this.request(requestOptions, initOverrides);
1151
2195
 
1152
- return new runtime.JSONApiResponse(response, (jsonValue) => VirtualMachineListResponseFromJSON(jsonValue));
2196
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PairCapabilityFromJSON));
1153
2197
  }
1154
2198
 
1155
2199
  /**
1156
- * Get list of VMs with filtering and pagination
2200
+ * 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.
2201
+ * Compute pair capabilities
1157
2202
  */
1158
- async getVMs(requestParameters: GetVMsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineListResponse> {
1159
- const response = await this.getVMsRaw(requestParameters, initOverrides);
2203
+ async postForecasterPairCapabilities(requestParameters: PostForecasterPairCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<PairCapability>> {
2204
+ const response = await this.postForecasterPairCapabilitiesRaw(requestParameters, initOverrides);
1160
2205
  return await response.value();
1161
2206
  }
1162
2207
 
1163
2208
  /**
1164
- * Creates request options for getVddkStatus without sending the request
2209
+ * Creates request options for putForecasterCredentials without sending the request
1165
2210
  */
1166
- async getVddkStatusRequestOpts(): Promise<runtime.RequestOpts> {
2211
+ async putForecasterCredentialsRequestOpts(requestParameters: PutForecasterCredentialsRequest): Promise<runtime.RequestOpts> {
2212
+ if (requestParameters['vcenterCredentials'] == null) {
2213
+ throw new runtime.RequiredError(
2214
+ 'vcenterCredentials',
2215
+ 'Required parameter "vcenterCredentials" was null or undefined when calling putForecasterCredentials().'
2216
+ );
2217
+ }
2218
+
1167
2219
  const queryParameters: any = {};
1168
2220
 
1169
2221
  const headerParameters: runtime.HTTPHeaders = {};
1170
2222
 
2223
+ headerParameters['Content-Type'] = 'application/json';
2224
+
1171
2225
 
1172
- let urlPath = `/vddk`;
2226
+ let urlPath = `/forecaster/credentials`;
1173
2227
 
1174
2228
  return {
1175
2229
  path: urlPath,
1176
- method: 'GET',
2230
+ method: 'PUT',
1177
2231
  headers: headerParameters,
1178
2232
  query: queryParameters,
2233
+ body: VcenterCredentialsToJSON(requestParameters['vcenterCredentials']),
1179
2234
  };
1180
2235
  }
1181
2236
 
1182
2237
  /**
1183
- * Get VDDK status
2238
+ * 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.
2239
+ * Verify vCenter credentials and permissions
1184
2240
  */
1185
- async getVddkStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>> {
1186
- const requestOptions = await this.getVddkStatusRequestOpts();
2241
+ async putForecasterCredentialsRaw(requestParameters: PutForecasterCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
2242
+ const requestOptions = await this.putForecasterCredentialsRequestOpts(requestParameters);
1187
2243
  const response = await this.request(requestOptions, initOverrides);
1188
2244
 
1189
- return new runtime.JSONApiResponse(response, (jsonValue) => VddkPropertiesFromJSON(jsonValue));
2245
+ return new runtime.VoidApiResponse(response);
1190
2246
  }
1191
2247
 
1192
2248
  /**
1193
- * Get VDDK status
2249
+ * 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.
2250
+ * Verify vCenter credentials and permissions
1194
2251
  */
1195
- async getVddkStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties> {
1196
- const response = await this.getVddkStatusRaw(initOverrides);
1197
- return await response.value();
2252
+ async putForecasterCredentials(requestParameters: PutForecasterCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
2253
+ await this.putForecasterCredentialsRaw(requestParameters, initOverrides);
1198
2254
  }
1199
2255
 
1200
2256
  /**
1201
- * Creates request options for getVersion without sending the request
2257
+ * Creates request options for putInspectorCredentials without sending the request
1202
2258
  */
1203
- async getVersionRequestOpts(): Promise<runtime.RequestOpts> {
2259
+ async putInspectorCredentialsRequestOpts(requestParameters: PutInspectorCredentialsRequest): Promise<runtime.RequestOpts> {
2260
+ if (requestParameters['vcenterCredentials'] == null) {
2261
+ throw new runtime.RequiredError(
2262
+ 'vcenterCredentials',
2263
+ 'Required parameter "vcenterCredentials" was null or undefined when calling putInspectorCredentials().'
2264
+ );
2265
+ }
2266
+
1204
2267
  const queryParameters: any = {};
1205
2268
 
1206
2269
  const headerParameters: runtime.HTTPHeaders = {};
1207
2270
 
2271
+ headerParameters['Content-Type'] = 'application/json';
2272
+
1208
2273
 
1209
- let urlPath = `/version`;
2274
+ let urlPath = `/inspector/credentials`;
1210
2275
 
1211
2276
  return {
1212
2277
  path: urlPath,
1213
- method: 'GET',
2278
+ method: 'PUT',
1214
2279
  headers: headerParameters,
1215
2280
  query: queryParameters,
2281
+ body: VcenterCredentialsToJSON(requestParameters['vcenterCredentials']),
1216
2282
  };
1217
2283
  }
1218
2284
 
1219
2285
  /**
1220
- * Get agent version information
2286
+ * Set or replace inspector credentials
1221
2287
  */
1222
- async getVersionRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VersionInfo>> {
1223
- const requestOptions = await this.getVersionRequestOpts();
2288
+ async putInspectorCredentialsRaw(requestParameters: PutInspectorCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
2289
+ const requestOptions = await this.putInspectorCredentialsRequestOpts(requestParameters);
1224
2290
  const response = await this.request(requestOptions, initOverrides);
1225
2291
 
1226
- return new runtime.JSONApiResponse(response, (jsonValue) => VersionInfoFromJSON(jsonValue));
2292
+ return new runtime.VoidApiResponse(response);
1227
2293
  }
1228
2294
 
1229
2295
  /**
1230
- * Get agent version information
2296
+ * Set or replace inspector credentials
1231
2297
  */
1232
- async getVersion(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VersionInfo> {
1233
- const response = await this.getVersionRaw(initOverrides);
1234
- return await response.value();
2298
+ async putInspectorCredentials(requestParameters: PutInspectorCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
2299
+ await this.putInspectorCredentialsRaw(requestParameters, initOverrides);
1235
2300
  }
1236
2301
 
1237
2302
  /**
1238
- * Creates request options for listGroups without sending the request
2303
+ * Creates request options for putInspectorVddk without sending the request
1239
2304
  */
1240
- async listGroupsRequestOpts(requestParameters: ListGroupsRequest): Promise<runtime.RequestOpts> {
2305
+ async putInspectorVddkRequestOpts(requestParameters: PutInspectorVddkRequest): Promise<runtime.RequestOpts> {
2306
+ if (requestParameters['file'] == null) {
2307
+ throw new runtime.RequiredError(
2308
+ 'file',
2309
+ 'Required parameter "file" was null or undefined when calling putInspectorVddk().'
2310
+ );
2311
+ }
2312
+
1241
2313
  const queryParameters: any = {};
1242
2314
 
1243
- if (requestParameters['byName'] != null) {
1244
- queryParameters['byName'] = requestParameters['byName'];
1245
- }
2315
+ const headerParameters: runtime.HTTPHeaders = {};
1246
2316
 
1247
- if (requestParameters['page'] != null) {
1248
- queryParameters['page'] = requestParameters['page'];
1249
- }
2317
+ const consumes: runtime.Consume[] = [
2318
+ { contentType: 'multipart/form-data' },
2319
+ ];
2320
+ // @ts-ignore: canConsumeForm may be unused
2321
+ const canConsumeForm = runtime.canConsumeForm(consumes);
1250
2322
 
1251
- if (requestParameters['pageSize'] != null) {
1252
- queryParameters['pageSize'] = requestParameters['pageSize'];
2323
+ let formParams: { append(param: string, value: any): any };
2324
+ let useForm = false;
2325
+ // use FormData to transmit files using content-type "multipart/form-data"
2326
+ useForm = canConsumeForm;
2327
+ if (useForm) {
2328
+ formParams = new FormData();
2329
+ } else {
2330
+ formParams = new URLSearchParams();
1253
2331
  }
1254
2332
 
1255
- const headerParameters: runtime.HTTPHeaders = {};
2333
+ if (requestParameters['file'] != null) {
2334
+ formParams.append('file', requestParameters['file'] as any);
2335
+ }
1256
2336
 
1257
2337
 
1258
- let urlPath = `/groups`;
2338
+ let urlPath = `/inspector/vddk`;
1259
2339
 
1260
2340
  return {
1261
2341
  path: urlPath,
1262
- method: 'GET',
2342
+ method: 'PUT',
1263
2343
  headers: headerParameters,
1264
2344
  query: queryParameters,
2345
+ body: formParams,
1265
2346
  };
1266
2347
  }
1267
2348
 
1268
2349
  /**
1269
- * List all groups
2350
+ * Upload VDDK tarball
1270
2351
  */
1271
- async listGroupsRaw(requestParameters: ListGroupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupListResponse>> {
1272
- const requestOptions = await this.listGroupsRequestOpts(requestParameters);
2352
+ async putInspectorVddkRaw(requestParameters: PutInspectorVddkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>> {
2353
+ const requestOptions = await this.putInspectorVddkRequestOpts(requestParameters);
1273
2354
  const response = await this.request(requestOptions, initOverrides);
1274
2355
 
1275
- return new runtime.JSONApiResponse(response, (jsonValue) => GroupListResponseFromJSON(jsonValue));
2356
+ return new runtime.JSONApiResponse(response, (jsonValue) => VddkPropertiesFromJSON(jsonValue));
1276
2357
  }
1277
2358
 
1278
2359
  /**
1279
- * List all groups
2360
+ * Upload VDDK tarball
1280
2361
  */
1281
- async listGroups(requestParameters: ListGroupsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupListResponse> {
1282
- const response = await this.listGroupsRaw(requestParameters, initOverrides);
2362
+ async putInspectorVddk(requestParameters: PutInspectorVddkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties> {
2363
+ const response = await this.putInspectorVddkRaw(requestParameters, initOverrides);
1283
2364
  return await response.value();
1284
2365
  }
1285
2366
 
@@ -1299,8 +2380,8 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1299
2380
  const headerParameters: runtime.HTTPHeaders = {};
1300
2381
 
1301
2382
 
1302
- let urlPath = `/vms/{id}/inspector`;
1303
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
2383
+ let urlPath = `/vms/{id}/inspection`;
2384
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1304
2385
 
1305
2386
  return {
1306
2387
  path: urlPath,
@@ -1422,14 +2503,63 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1422
2503
  return await response.value();
1423
2504
  }
1424
2505
 
2506
+ /**
2507
+ * Creates request options for startForecaster without sending the request
2508
+ */
2509
+ async startForecasterRequestOpts(requestParameters: StartForecasterRequest): Promise<runtime.RequestOpts> {
2510
+ if (requestParameters['forecasterStartRequest'] == null) {
2511
+ throw new runtime.RequiredError(
2512
+ 'forecasterStartRequest',
2513
+ 'Required parameter "forecasterStartRequest" was null or undefined when calling startForecaster().'
2514
+ );
2515
+ }
2516
+
2517
+ const queryParameters: any = {};
2518
+
2519
+ const headerParameters: runtime.HTTPHeaders = {};
2520
+
2521
+ headerParameters['Content-Type'] = 'application/json';
2522
+
2523
+
2524
+ let urlPath = `/forecaster`;
2525
+
2526
+ return {
2527
+ path: urlPath,
2528
+ method: 'POST',
2529
+ headers: headerParameters,
2530
+ query: queryParameters,
2531
+ body: ForecasterStartRequestToJSON(requestParameters['forecasterStartRequest']),
2532
+ };
2533
+ }
2534
+
2535
+ /**
2536
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
2537
+ * Start benchmark
2538
+ */
2539
+ async startForecasterRaw(requestParameters: StartForecasterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>> {
2540
+ const requestOptions = await this.startForecasterRequestOpts(requestParameters);
2541
+ const response = await this.request(requestOptions, initOverrides);
2542
+
2543
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
2544
+ }
2545
+
2546
+ /**
2547
+ * Starts async benchmarking for one or more datastore pairs. Credentials can be passed inline or omitted if previously provided in an earlier request.
2548
+ * Start benchmark
2549
+ */
2550
+ async startForecaster(requestParameters: StartForecasterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus> {
2551
+ const response = await this.startForecasterRaw(requestParameters, initOverrides);
2552
+ return await response.value();
2553
+ }
2554
+
1425
2555
  /**
1426
2556
  * Creates request options for startInspection without sending the request
1427
2557
  */
1428
- async startInspectionRequestOpts(requestParameters: StartInspectionRequest): Promise<runtime.RequestOpts> {
1429
- if (requestParameters['inspectorStartRequest'] == null) {
2558
+ async startInspectionRequestOpts(requestParameters: StartInspectionOperationRequest): Promise<runtime.RequestOpts> {
2559
+ if (requestParameters['startInspectionRequest'] == null) {
1430
2560
  throw new runtime.RequiredError(
1431
- 'inspectorStartRequest',
1432
- 'Required parameter "inspectorStartRequest" was null or undefined when calling startInspection().'
2561
+ 'startInspectionRequest',
2562
+ 'Required parameter "startInspectionRequest" was null or undefined when calling startInspection().'
1433
2563
  );
1434
2564
  }
1435
2565
 
@@ -1440,21 +2570,21 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1440
2570
  headerParameters['Content-Type'] = 'application/json';
1441
2571
 
1442
2572
 
1443
- let urlPath = `/vms/inspector`;
2573
+ let urlPath = `/inspector`;
1444
2574
 
1445
2575
  return {
1446
2576
  path: urlPath,
1447
2577
  method: 'POST',
1448
2578
  headers: headerParameters,
1449
2579
  query: queryParameters,
1450
- body: InspectorStartRequestToJSON(requestParameters['inspectorStartRequest']),
2580
+ body: StartInspectionRequestToJSON(requestParameters['startInspectionRequest']),
1451
2581
  };
1452
2582
  }
1453
2583
 
1454
2584
  /**
1455
2585
  * Start inspection for VMs
1456
2586
  */
1457
- async startInspectionRaw(requestParameters: StartInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>> {
2587
+ async startInspectionRaw(requestParameters: StartInspectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<InspectorStatus>> {
1458
2588
  const requestOptions = await this.startInspectionRequestOpts(requestParameters);
1459
2589
  const response = await this.request(requestOptions, initOverrides);
1460
2590
 
@@ -1464,7 +2594,7 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1464
2594
  /**
1465
2595
  * Start inspection for VMs
1466
2596
  */
1467
- async startInspection(requestParameters: StartInspectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus> {
2597
+ async startInspection(requestParameters: StartInspectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<InspectorStatus> {
1468
2598
  const response = await this.startInspectionRaw(requestParameters, initOverrides);
1469
2599
  return await response.value();
1470
2600
  }
@@ -1505,6 +2635,92 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1505
2635
  await this.stopCollectorRaw(initOverrides);
1506
2636
  }
1507
2637
 
2638
+ /**
2639
+ * Creates request options for stopForecaster without sending the request
2640
+ */
2641
+ async stopForecasterRequestOpts(): Promise<runtime.RequestOpts> {
2642
+ const queryParameters: any = {};
2643
+
2644
+ const headerParameters: runtime.HTTPHeaders = {};
2645
+
2646
+
2647
+ let urlPath = `/forecaster`;
2648
+
2649
+ return {
2650
+ path: urlPath,
2651
+ method: 'DELETE',
2652
+ headers: headerParameters,
2653
+ query: queryParameters,
2654
+ };
2655
+ }
2656
+
2657
+ /**
2658
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
2659
+ * Cancel benchmark
2660
+ */
2661
+ async stopForecasterRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForecasterStatus>> {
2662
+ const requestOptions = await this.stopForecasterRequestOpts();
2663
+ const response = await this.request(requestOptions, initOverrides);
2664
+
2665
+ return new runtime.JSONApiResponse(response, (jsonValue) => ForecasterStatusFromJSON(jsonValue));
2666
+ }
2667
+
2668
+ /**
2669
+ * Stops the running benchmark. Already-completed runs are preserved in the database.
2670
+ * Cancel benchmark
2671
+ */
2672
+ async stopForecaster(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ForecasterStatus> {
2673
+ const response = await this.stopForecasterRaw(initOverrides);
2674
+ return await response.value();
2675
+ }
2676
+
2677
+ /**
2678
+ * Creates request options for stopForecasterPair without sending the request
2679
+ */
2680
+ async stopForecasterPairRequestOpts(requestParameters: StopForecasterPairRequest): Promise<runtime.RequestOpts> {
2681
+ if (requestParameters['name'] == null) {
2682
+ throw new runtime.RequiredError(
2683
+ 'name',
2684
+ 'Required parameter "name" was null or undefined when calling stopForecasterPair().'
2685
+ );
2686
+ }
2687
+
2688
+ const queryParameters: any = {};
2689
+
2690
+ const headerParameters: runtime.HTTPHeaders = {};
2691
+
2692
+
2693
+ let urlPath = `/forecaster/pairs/{name}`;
2694
+ urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
2695
+
2696
+ return {
2697
+ path: urlPath,
2698
+ method: 'DELETE',
2699
+ headers: headerParameters,
2700
+ query: queryParameters,
2701
+ };
2702
+ }
2703
+
2704
+ /**
2705
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
2706
+ * Cancel a single pair
2707
+ */
2708
+ async stopForecasterPairRaw(requestParameters: StopForecasterPairRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StopForecasterPair202Response>> {
2709
+ const requestOptions = await this.stopForecasterPairRequestOpts(requestParameters);
2710
+ const response = await this.request(requestOptions, initOverrides);
2711
+
2712
+ return new runtime.JSONApiResponse(response, (jsonValue) => StopForecasterPair202ResponseFromJSON(jsonValue));
2713
+ }
2714
+
2715
+ /**
2716
+ * Cancels the benchmark for a specific pair by name. The forecaster continues running if other pairs are still active.
2717
+ * Cancel a single pair
2718
+ */
2719
+ async stopForecasterPair(requestParameters: StopForecasterPairRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StopForecasterPair202Response> {
2720
+ const response = await this.stopForecasterPairRaw(requestParameters, initOverrides);
2721
+ return await response.value();
2722
+ }
2723
+
1508
2724
  /**
1509
2725
  * Creates request options for stopInspection without sending the request
1510
2726
  */
@@ -1514,7 +2730,7 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1514
2730
  const headerParameters: runtime.HTTPHeaders = {};
1515
2731
 
1516
2732
 
1517
- let urlPath = `/vms/inspector`;
2733
+ let urlPath = `/inspector`;
1518
2734
 
1519
2735
  return {
1520
2736
  path: urlPath,
@@ -1543,20 +2759,13 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1543
2759
  }
1544
2760
 
1545
2761
  /**
1546
- * Creates request options for updateGroup without sending the request
2762
+ * Creates request options for triggerRightsizingCollection without sending the request
1547
2763
  */
1548
- async updateGroupRequestOpts(requestParameters: UpdateGroupOperationRequest): Promise<runtime.RequestOpts> {
1549
- if (requestParameters['id'] == null) {
1550
- throw new runtime.RequiredError(
1551
- 'id',
1552
- 'Required parameter "id" was null or undefined when calling updateGroup().'
1553
- );
1554
- }
1555
-
1556
- if (requestParameters['updateGroupRequest'] == null) {
2764
+ async triggerRightsizingCollectionRequestOpts(requestParameters: TriggerRightsizingCollectionRequest): Promise<runtime.RequestOpts> {
2765
+ if (requestParameters['rightsizingCollectRequest'] == null) {
1557
2766
  throw new runtime.RequiredError(
1558
- 'updateGroupRequest',
1559
- 'Required parameter "updateGroupRequest" was null or undefined when calling updateGroup().'
2767
+ 'rightsizingCollectRequest',
2768
+ 'Required parameter "rightsizingCollectRequest" was null or undefined when calling triggerRightsizingCollection().'
1560
2769
  );
1561
2770
  }
1562
2771
 
@@ -1567,44 +2776,50 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1567
2776
  headerParameters['Content-Type'] = 'application/json';
1568
2777
 
1569
2778
 
1570
- let urlPath = `/groups/{id}`;
1571
- urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
2779
+ let urlPath = `/rightsizing`;
1572
2780
 
1573
2781
  return {
1574
2782
  path: urlPath,
1575
- method: 'PATCH',
2783
+ method: 'POST',
1576
2784
  headers: headerParameters,
1577
2785
  query: queryParameters,
1578
- body: UpdateGroupRequestToJSON(requestParameters['updateGroupRequest']),
2786
+ body: RightsizingCollectRequestToJSON(requestParameters['rightsizingCollectRequest']),
1579
2787
  };
1580
2788
  }
1581
2789
 
1582
2790
  /**
1583
- * Update group
2791
+ * Trigger rightsizing metrics collection
1584
2792
  */
1585
- async updateGroupRaw(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {
1586
- const requestOptions = await this.updateGroupRequestOpts(requestParameters);
2793
+ async triggerRightsizingCollectionRaw(requestParameters: TriggerRightsizingCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingReportSummary>> {
2794
+ const requestOptions = await this.triggerRightsizingCollectionRequestOpts(requestParameters);
1587
2795
  const response = await this.request(requestOptions, initOverrides);
1588
2796
 
1589
- return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));
2797
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingReportSummaryFromJSON(jsonValue));
1590
2798
  }
1591
2799
 
1592
2800
  /**
1593
- * Update group
2801
+ * Trigger rightsizing metrics collection
1594
2802
  */
1595
- async updateGroup(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {
1596
- const response = await this.updateGroupRaw(requestParameters, initOverrides);
2803
+ async triggerRightsizingCollection(requestParameters: TriggerRightsizingCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReportSummary> {
2804
+ const response = await this.triggerRightsizingCollectionRaw(requestParameters, initOverrides);
1597
2805
  return await response.value();
1598
2806
  }
1599
2807
 
1600
2808
  /**
1601
- * Creates request options for vddkPost without sending the request
2809
+ * Creates request options for updateGroup without sending the request
1602
2810
  */
1603
- async vddkPostRequestOpts(requestParameters: VddkPostRequest): Promise<runtime.RequestOpts> {
1604
- if (requestParameters['file'] == null) {
2811
+ async updateGroupRequestOpts(requestParameters: UpdateGroupOperationRequest): Promise<runtime.RequestOpts> {
2812
+ if (requestParameters['id'] == null) {
1605
2813
  throw new runtime.RequiredError(
1606
- 'file',
1607
- 'Required parameter "file" was null or undefined when calling vddkPost().'
2814
+ 'id',
2815
+ 'Required parameter "id" was null or undefined when calling updateGroup().'
2816
+ );
2817
+ }
2818
+
2819
+ if (requestParameters['updateGroupRequest'] == null) {
2820
+ throw new runtime.RequiredError(
2821
+ 'updateGroupRequest',
2822
+ 'Required parameter "updateGroupRequest" was null or undefined when calling updateGroup().'
1608
2823
  );
1609
2824
  }
1610
2825
 
@@ -1612,53 +2827,36 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1612
2827
 
1613
2828
  const headerParameters: runtime.HTTPHeaders = {};
1614
2829
 
1615
- const consumes: runtime.Consume[] = [
1616
- { contentType: 'multipart/form-data' },
1617
- ];
1618
- // @ts-ignore: canConsumeForm may be unused
1619
- const canConsumeForm = runtime.canConsumeForm(consumes);
1620
-
1621
- let formParams: { append(param: string, value: any): any };
1622
- let useForm = false;
1623
- // use FormData to transmit files using content-type "multipart/form-data"
1624
- useForm = canConsumeForm;
1625
- if (useForm) {
1626
- formParams = new FormData();
1627
- } else {
1628
- formParams = new URLSearchParams();
1629
- }
1630
-
1631
- if (requestParameters['file'] != null) {
1632
- formParams.append('file', requestParameters['file'] as any);
1633
- }
2830
+ headerParameters['Content-Type'] = 'application/json';
1634
2831
 
1635
2832
 
1636
- let urlPath = `/vddk`;
2833
+ let urlPath = `/groups/{id}`;
2834
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1637
2835
 
1638
2836
  return {
1639
2837
  path: urlPath,
1640
- method: 'POST',
2838
+ method: 'PATCH',
1641
2839
  headers: headerParameters,
1642
2840
  query: queryParameters,
1643
- body: formParams,
2841
+ body: UpdateGroupRequestToJSON(requestParameters['updateGroupRequest']),
1644
2842
  };
1645
2843
  }
1646
2844
 
1647
2845
  /**
1648
- * Upload VDDK tarball
2846
+ * Update group
1649
2847
  */
1650
- async vddkPostRaw(requestParameters: VddkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VddkProperties>> {
1651
- const requestOptions = await this.vddkPostRequestOpts(requestParameters);
2848
+ async updateGroupRaw(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {
2849
+ const requestOptions = await this.updateGroupRequestOpts(requestParameters);
1652
2850
  const response = await this.request(requestOptions, initOverrides);
1653
2851
 
1654
- return new runtime.JSONApiResponse(response, (jsonValue) => VddkPropertiesFromJSON(jsonValue));
2852
+ return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));
1655
2853
  }
1656
2854
 
1657
2855
  /**
1658
- * Upload VDDK tarball
2856
+ * Update group
1659
2857
  */
1660
- async vddkPost(requestParameters: VddkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VddkProperties> {
1661
- const response = await this.vddkPostRaw(requestParameters, initOverrides);
2858
+ async updateGroup(requestParameters: UpdateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {
2859
+ const response = await this.updateGroupRaw(requestParameters, initOverrides);
1662
2860
  return await response.value();
1663
2861
  }
1664
2862