@openshift-migration-advisor/agent-sdk 0.8.0 → 0.12.0-1f1dc16fb9e5

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 (190) hide show
  1. package/.openapi-generator/FILES +46 -2
  2. package/.openapi-generator/VERSION +1 -1
  3. package/README.md +52 -17
  4. package/dist/apis/DefaultApi.d.ts +632 -126
  5. package/dist/apis/DefaultApi.js +710 -160
  6. package/dist/esm/apis/DefaultApi.d.ts +632 -126
  7. package/dist/esm/apis/DefaultApi.js +724 -174
  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/RightsizingCollectRequest.d.ts +70 -0
  35. package/dist/esm/models/RightsizingCollectRequest.js +56 -0
  36. package/dist/esm/models/RightsizingMetricStats.d.ts +62 -0
  37. package/dist/esm/models/RightsizingMetricStats.js +63 -0
  38. package/dist/esm/models/RightsizingReport.d.ts +81 -0
  39. package/dist/esm/models/RightsizingReport.js +76 -0
  40. package/dist/esm/models/RightsizingReportListResponse.d.ts +39 -0
  41. package/dist/esm/models/RightsizingReportListResponse.js +48 -0
  42. package/dist/esm/models/RightsizingReportSummary.d.ts +74 -0
  43. package/dist/esm/models/RightsizingReportSummary.js +71 -0
  44. package/dist/esm/models/RightsizingVMReport.d.ts +53 -0
  45. package/dist/esm/models/RightsizingVMReport.js +57 -0
  46. package/dist/esm/models/StartInspectionRequest.d.ts +32 -0
  47. package/dist/esm/models/StartInspectionRequest.js +43 -0
  48. package/dist/esm/models/StopForecasterPair202Response.d.ts +45 -0
  49. package/dist/esm/models/StopForecasterPair202Response.js +49 -0
  50. package/dist/esm/models/VMs.d.ts +18 -0
  51. package/dist/esm/models/VMs.js +4 -0
  52. package/dist/esm/models/VirtualMachine.d.ts +31 -1
  53. package/dist/esm/models/VirtualMachine.js +12 -4
  54. package/dist/esm/models/VirtualMachineDetail.d.ts +3 -3
  55. package/dist/esm/models/VirtualMachineDetail.js +3 -3
  56. package/dist/esm/models/VmInspectionConcern.d.ts +44 -0
  57. package/dist/esm/models/VmInspectionConcern.js +51 -0
  58. package/dist/esm/models/VmInspectionResults.d.ts +33 -0
  59. package/dist/esm/models/VmInspectionResults.js +42 -0
  60. package/dist/esm/models/VmInspectionStatus.d.ts +0 -1
  61. package/dist/esm/models/VmInspectionStatus.js +1 -2
  62. package/dist/esm/models/VmUtilizationDetails.d.ts +98 -0
  63. package/dist/esm/models/VmUtilizationDetails.js +87 -0
  64. package/dist/esm/models/index.d.ts +23 -1
  65. package/dist/esm/models/index.js +23 -1
  66. package/dist/esm/runtime.js +1 -1
  67. package/dist/models/BenchmarkRun.d.ts +104 -0
  68. package/dist/models/BenchmarkRun.js +92 -0
  69. package/dist/models/DatastoreDetail.d.ts +90 -0
  70. package/dist/models/DatastoreDetail.js +82 -0
  71. package/dist/models/DatastorePair.d.ts +50 -0
  72. package/dist/models/DatastorePair.js +60 -0
  73. package/dist/models/EstimateRange.d.ts +44 -0
  74. package/dist/models/EstimateRange.js +52 -0
  75. package/dist/models/ForecastStats.d.ts +87 -0
  76. package/dist/models/ForecastStats.js +71 -0
  77. package/dist/models/ForecasterDatastoresRequest.d.ts +33 -0
  78. package/dist/models/ForecasterDatastoresRequest.js +49 -0
  79. package/dist/models/ForecasterPairStatus.d.ts +98 -0
  80. package/dist/models/ForecasterPairStatus.js +90 -0
  81. package/dist/models/ForecasterStartRequest.d.ts +58 -0
  82. package/dist/models/ForecasterStartRequest.js +60 -0
  83. package/dist/models/ForecasterStatus.d.ts +47 -0
  84. package/dist/models/ForecasterStatus.js +61 -0
  85. package/dist/models/InspectorStatus.d.ts +20 -7
  86. package/dist/models/InspectorStatus.js +12 -7
  87. package/dist/models/PairCapability.d.ts +60 -0
  88. package/dist/models/PairCapability.js +72 -0
  89. package/dist/models/PairCapabilityRequest.d.ts +40 -0
  90. package/dist/models/PairCapabilityRequest.js +54 -0
  91. package/dist/models/PutForecasterCredentials403Response.d.ts +38 -0
  92. package/dist/models/PutForecasterCredentials403Response.js +50 -0
  93. package/dist/models/RightsizingCollectRequest.d.ts +70 -0
  94. package/dist/models/RightsizingCollectRequest.js +63 -0
  95. package/dist/models/RightsizingMetricStats.d.ts +62 -0
  96. package/dist/models/RightsizingMetricStats.js +70 -0
  97. package/dist/models/RightsizingReport.d.ts +81 -0
  98. package/dist/models/RightsizingReport.js +83 -0
  99. package/dist/models/RightsizingReportListResponse.d.ts +39 -0
  100. package/dist/models/RightsizingReportListResponse.js +55 -0
  101. package/dist/models/RightsizingReportSummary.d.ts +74 -0
  102. package/dist/models/RightsizingReportSummary.js +78 -0
  103. package/dist/models/RightsizingVMReport.d.ts +53 -0
  104. package/dist/models/RightsizingVMReport.js +64 -0
  105. package/dist/models/StartInspectionRequest.d.ts +32 -0
  106. package/dist/models/StartInspectionRequest.js +50 -0
  107. package/dist/models/StopForecasterPair202Response.d.ts +45 -0
  108. package/dist/models/StopForecasterPair202Response.js +57 -0
  109. package/dist/models/VMs.d.ts +18 -0
  110. package/dist/models/VMs.js +4 -0
  111. package/dist/models/VirtualMachine.d.ts +31 -1
  112. package/dist/models/VirtualMachine.js +12 -4
  113. package/dist/models/VirtualMachineDetail.d.ts +3 -3
  114. package/dist/models/VirtualMachineDetail.js +3 -3
  115. package/dist/models/VmInspectionConcern.d.ts +44 -0
  116. package/dist/models/VmInspectionConcern.js +58 -0
  117. package/dist/models/VmInspectionResults.d.ts +33 -0
  118. package/dist/models/VmInspectionResults.js +49 -0
  119. package/dist/models/VmInspectionStatus.d.ts +0 -1
  120. package/dist/models/VmInspectionStatus.js +1 -2
  121. package/dist/models/VmUtilizationDetails.d.ts +98 -0
  122. package/dist/models/VmUtilizationDetails.js +94 -0
  123. package/dist/models/index.d.ts +23 -1
  124. package/dist/models/index.js +23 -1
  125. package/dist/runtime.js +1 -1
  126. package/docs/BenchmarkRun.md +58 -0
  127. package/docs/DatastoreDetail.md +50 -0
  128. package/docs/DatastorePair.md +40 -0
  129. package/docs/DefaultApi.md +1123 -237
  130. package/docs/EstimateRange.md +39 -0
  131. package/docs/ForecastStats.md +52 -0
  132. package/docs/ForecasterDatastoresRequest.md +34 -0
  133. package/docs/ForecasterPairStatus.md +52 -0
  134. package/docs/ForecasterStartRequest.md +42 -0
  135. package/docs/ForecasterStatus.md +36 -0
  136. package/docs/InspectorStatus.md +4 -0
  137. package/docs/PairCapability.md +40 -0
  138. package/docs/PairCapabilityRequest.md +36 -0
  139. package/docs/PutForecasterCredentials403Response.md +36 -0
  140. package/docs/RightsizingCollectRequest.md +46 -0
  141. package/docs/RightsizingMetricStats.md +44 -0
  142. package/docs/RightsizingReport.md +50 -0
  143. package/docs/RightsizingReportListResponse.md +36 -0
  144. package/docs/RightsizingReportSummary.md +49 -0
  145. package/docs/RightsizingVMReport.md +40 -0
  146. package/docs/{InspectorStartRequest.md → StartInspectionRequest.md} +5 -6
  147. package/docs/StopForecasterPair202Response.md +36 -0
  148. package/docs/VMs.md +4 -0
  149. package/docs/VirtualMachine.md +12 -2
  150. package/docs/VirtualMachineDetail.md +1 -1
  151. package/docs/VmInspectionConcern.md +39 -0
  152. package/docs/VmInspectionResults.md +35 -0
  153. package/docs/VmUtilizationDetails.md +56 -0
  154. package/package.json +1 -1
  155. package/src/apis/DefaultApi.ts +1396 -350
  156. package/src/models/BenchmarkRun.ts +171 -0
  157. package/src/models/DatastoreDetail.ts +146 -0
  158. package/src/models/DatastorePair.ts +92 -0
  159. package/src/models/EstimateRange.ts +81 -0
  160. package/src/models/ForecastStats.ts +147 -0
  161. package/src/models/ForecasterDatastoresRequest.ts +73 -0
  162. package/src/models/ForecasterPairStatus.ts +158 -0
  163. package/src/models/ForecasterStartRequest.ts +113 -0
  164. package/src/models/ForecasterStatus.ts +93 -0
  165. package/src/models/InspectorStatus.ts +37 -7
  166. package/src/models/PairCapability.ts +106 -0
  167. package/src/models/PairCapabilityRequest.ts +89 -0
  168. package/src/models/PutForecasterCredentials403Response.ts +73 -0
  169. package/src/models/RightsizingCollectRequest.ts +123 -0
  170. package/src/models/RightsizingMetricStats.ts +111 -0
  171. package/src/models/RightsizingReport.ts +146 -0
  172. package/src/models/RightsizingReportListResponse.ts +83 -0
  173. package/src/models/RightsizingReportSummary.ts +129 -0
  174. package/src/models/RightsizingVMReport.ts +101 -0
  175. package/src/models/StartInspectionRequest.ts +66 -0
  176. package/src/models/StopForecasterPair202Response.ts +83 -0
  177. package/src/models/VMs.ts +18 -0
  178. package/src/models/VirtualMachine.ts +43 -4
  179. package/src/models/VirtualMachineDetail.ts +11 -11
  180. package/src/models/VmInspectionConcern.ts +84 -0
  181. package/src/models/VmInspectionResults.ts +73 -0
  182. package/src/models/VmInspectionStatus.ts +1 -2
  183. package/src/models/VmUtilizationDetails.ts +165 -0
  184. package/src/models/index.ts +23 -1
  185. package/src/runtime.ts +1 -2
  186. package/dist/esm/models/InspectorStartRequest.d.ts +0 -39
  187. package/dist/esm/models/InspectorStartRequest.js +0 -48
  188. package/dist/models/InspectorStartRequest.d.ts +0 -39
  189. package/dist/models/InspectorStartRequest.js +0 -55
  190. package/src/models/InspectorStartRequest.ts +0 -83
@@ -0,0 +1,101 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Assisted Migration Agent API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { RightsizingMetricStats } from './RightsizingMetricStats.js';
17
+ import {
18
+ RightsizingMetricStatsFromJSON,
19
+ RightsizingMetricStatsFromJSONTyped,
20
+ RightsizingMetricStatsToJSON,
21
+ RightsizingMetricStatsToJSONTyped,
22
+ } from './RightsizingMetricStats.js';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface RightsizingVMReport
28
+ */
29
+ export interface RightsizingVMReport {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof RightsizingVMReport
34
+ */
35
+ name: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof RightsizingVMReport
40
+ */
41
+ moid: string;
42
+ /**
43
+ *
44
+ * @type {{ [key: string]: RightsizingMetricStats; }}
45
+ * @memberof RightsizingVMReport
46
+ */
47
+ metrics: { [key: string]: RightsizingMetricStats; };
48
+ /**
49
+ * Non-empty when the VM was queried but had no historical metrics data.
50
+ * @type {Array<string>}
51
+ * @memberof RightsizingVMReport
52
+ */
53
+ warnings: Array<string>;
54
+ }
55
+
56
+ /**
57
+ * Check if a given object implements the RightsizingVMReport interface.
58
+ */
59
+ export function instanceOfRightsizingVMReport(value: object): value is RightsizingVMReport {
60
+ if (!('name' in value) || value['name'] === undefined) return false;
61
+ if (!('moid' in value) || value['moid'] === undefined) return false;
62
+ if (!('metrics' in value) || value['metrics'] === undefined) return false;
63
+ if (!('warnings' in value) || value['warnings'] === undefined) return false;
64
+ return true;
65
+ }
66
+
67
+ export function RightsizingVMReportFromJSON(json: any): RightsizingVMReport {
68
+ return RightsizingVMReportFromJSONTyped(json, false);
69
+ }
70
+
71
+ export function RightsizingVMReportFromJSONTyped(json: any, ignoreDiscriminator: boolean): RightsizingVMReport {
72
+ if (json == null) {
73
+ return json;
74
+ }
75
+ return {
76
+
77
+ 'name': json['name'],
78
+ 'moid': json['moid'],
79
+ 'metrics': (mapValues(json['metrics'], RightsizingMetricStatsFromJSON)),
80
+ 'warnings': json['warnings'],
81
+ };
82
+ }
83
+
84
+ export function RightsizingVMReportToJSON(json: any): RightsizingVMReport {
85
+ return RightsizingVMReportToJSONTyped(json, false);
86
+ }
87
+
88
+ export function RightsizingVMReportToJSONTyped(value?: RightsizingVMReport | null, ignoreDiscriminator: boolean = false): any {
89
+ if (value == null) {
90
+ return value;
91
+ }
92
+
93
+ return {
94
+
95
+ 'name': value['name'],
96
+ 'moid': value['moid'],
97
+ 'metrics': (mapValues(value['metrics'], RightsizingMetricStatsToJSON)),
98
+ 'warnings': value['warnings'],
99
+ };
100
+ }
101
+
@@ -0,0 +1,66 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Assisted Migration Agent API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ /**
17
+ * Array of VirtualMachine id
18
+ * @export
19
+ * @interface StartInspectionRequest
20
+ */
21
+ export interface StartInspectionRequest {
22
+ /**
23
+ *
24
+ * @type {Array<string>}
25
+ * @memberof StartInspectionRequest
26
+ */
27
+ vmIds: Array<string>;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the StartInspectionRequest interface.
32
+ */
33
+ export function instanceOfStartInspectionRequest(value: object): value is StartInspectionRequest {
34
+ if (!('vmIds' in value) || value['vmIds'] === undefined) return false;
35
+ return true;
36
+ }
37
+
38
+ export function StartInspectionRequestFromJSON(json: any): StartInspectionRequest {
39
+ return StartInspectionRequestFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function StartInspectionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): StartInspectionRequest {
43
+ if (json == null) {
44
+ return json;
45
+ }
46
+ return {
47
+
48
+ 'vmIds': json['vmIds'],
49
+ };
50
+ }
51
+
52
+ export function StartInspectionRequestToJSON(json: any): StartInspectionRequest {
53
+ return StartInspectionRequestToJSONTyped(json, false);
54
+ }
55
+
56
+ export function StartInspectionRequestToJSONTyped(value?: StartInspectionRequest | null, ignoreDiscriminator: boolean = false): any {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+
61
+ return {
62
+
63
+ 'vmIds': value['vmIds'],
64
+ };
65
+ }
66
+
@@ -0,0 +1,83 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Assisted Migration Agent API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface StopForecasterPair202Response
20
+ */
21
+ export interface StopForecasterPair202Response {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof StopForecasterPair202Response
26
+ */
27
+ pairName?: string;
28
+ /**
29
+ *
30
+ * @type {StopForecasterPair202ResponseStateEnum}
31
+ * @memberof StopForecasterPair202Response
32
+ */
33
+ state?: StopForecasterPair202ResponseStateEnum;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const StopForecasterPair202ResponseStateEnum = {
41
+ Canceled: 'canceled'
42
+ } as const;
43
+ export type StopForecasterPair202ResponseStateEnum = typeof StopForecasterPair202ResponseStateEnum[keyof typeof StopForecasterPair202ResponseStateEnum];
44
+
45
+
46
+ /**
47
+ * Check if a given object implements the StopForecasterPair202Response interface.
48
+ */
49
+ export function instanceOfStopForecasterPair202Response(value: object): value is StopForecasterPair202Response {
50
+ return true;
51
+ }
52
+
53
+ export function StopForecasterPair202ResponseFromJSON(json: any): StopForecasterPair202Response {
54
+ return StopForecasterPair202ResponseFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function StopForecasterPair202ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StopForecasterPair202Response {
58
+ if (json == null) {
59
+ return json;
60
+ }
61
+ return {
62
+
63
+ 'pairName': json['pairName'] == null ? undefined : json['pairName'],
64
+ 'state': json['state'] == null ? undefined : json['state'],
65
+ };
66
+ }
67
+
68
+ export function StopForecasterPair202ResponseToJSON(json: any): StopForecasterPair202Response {
69
+ return StopForecasterPair202ResponseToJSONTyped(json, false);
70
+ }
71
+
72
+ export function StopForecasterPair202ResponseToJSONTyped(value?: StopForecasterPair202Response | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'pairName': value['pairName'],
80
+ 'state': value['state'],
81
+ };
82
+ }
83
+
package/src/models/VMs.ts CHANGED
@@ -91,6 +91,13 @@ export interface VMs {
91
91
  * @memberof VMs
92
92
  */
93
93
  diskSizeTier?: { [key: string]: DiskSizeTierSummary; };
94
+ /**
95
+ * Distribution of VMs across disk-complexity tiers used by the estimation engine (0-10TiB, 10-20TiB, 20-50TiB, 50+TiB).
96
+ *
97
+ * @type {{ [key: string]: DiskSizeTierSummary; }}
98
+ * @memberof VMs
99
+ */
100
+ diskComplexityTier?: { [key: string]: DiskSizeTierSummary; };
94
101
  /**
95
102
  *
96
103
  * @type {{ [key: string]: DiskTypeSummary; }}
@@ -119,8 +126,15 @@ export interface VMs {
119
126
  * Distribution of VMs by migration complexity level (0=Unsupported, 1=Easy, 2=Medium, 3=Hard, 4=WhiteGlove)
120
127
  * @type {{ [key: string]: number; }}
121
128
  * @memberof VMs
129
+ * @deprecated
122
130
  */
123
131
  distributionByComplexity?: { [key: string]: number; };
132
+ /**
133
+ * Distribution of VMs by migration complexity level, enriched with total disk size per level. Supersedes distributionByComplexity.
134
+ * @type {{ [key: string]: DiskSizeTierSummary; }}
135
+ * @memberof VMs
136
+ */
137
+ complexityDistribution?: { [key: string]: DiskSizeTierSummary; };
124
138
  /**
125
139
  *
126
140
  * @type {VMResourceBreakdown}
@@ -210,11 +224,13 @@ export function VMsFromJSONTyped(json: any, ignoreDiscriminator: boolean): VMs {
210
224
  'totalWithSharedDisks': json['totalWithSharedDisks'] == null ? undefined : json['totalWithSharedDisks'],
211
225
  'cpuCores': VMResourceBreakdownFromJSON(json['cpuCores']),
212
226
  'diskSizeTier': json['diskSizeTier'] == null ? undefined : (mapValues(json['diskSizeTier'], DiskSizeTierSummaryFromJSON)),
227
+ 'diskComplexityTier': json['diskComplexityTier'] == null ? undefined : (mapValues(json['diskComplexityTier'], DiskSizeTierSummaryFromJSON)),
213
228
  'diskTypes': json['diskTypes'] == null ? undefined : (mapValues(json['diskTypes'], DiskTypeSummaryFromJSON)),
214
229
  'distributionByCpuTier': json['distributionByCpuTier'] == null ? undefined : json['distributionByCpuTier'],
215
230
  'distributionByMemoryTier': json['distributionByMemoryTier'] == null ? undefined : json['distributionByMemoryTier'],
216
231
  'distributionByNicCount': json['distributionByNicCount'] == null ? undefined : json['distributionByNicCount'],
217
232
  'distributionByComplexity': json['distributionByComplexity'] == null ? undefined : json['distributionByComplexity'],
233
+ 'complexityDistribution': json['complexityDistribution'] == null ? undefined : (mapValues(json['complexityDistribution'], DiskSizeTierSummaryFromJSON)),
218
234
  'ramGB': VMResourceBreakdownFromJSON(json['ramGB']),
219
235
  'diskGB': VMResourceBreakdownFromJSON(json['diskGB']),
220
236
  'diskCount': VMResourceBreakdownFromJSON(json['diskCount']),
@@ -244,11 +260,13 @@ export function VMsToJSONTyped(value?: VMs | null, ignoreDiscriminator: boolean
244
260
  'totalWithSharedDisks': value['totalWithSharedDisks'],
245
261
  'cpuCores': VMResourceBreakdownToJSON(value['cpuCores']),
246
262
  'diskSizeTier': value['diskSizeTier'] == null ? undefined : (mapValues(value['diskSizeTier'], DiskSizeTierSummaryToJSON)),
263
+ 'diskComplexityTier': value['diskComplexityTier'] == null ? undefined : (mapValues(value['diskComplexityTier'], DiskSizeTierSummaryToJSON)),
247
264
  'diskTypes': value['diskTypes'] == null ? undefined : (mapValues(value['diskTypes'], DiskTypeSummaryToJSON)),
248
265
  'distributionByCpuTier': value['distributionByCpuTier'],
249
266
  'distributionByMemoryTier': value['distributionByMemoryTier'],
250
267
  'distributionByNicCount': value['distributionByNicCount'],
251
268
  'distributionByComplexity': value['distributionByComplexity'],
269
+ 'complexityDistribution': value['complexityDistribution'] == null ? undefined : (mapValues(value['complexityDistribution'], DiskSizeTierSummaryToJSON)),
252
270
  'ramGB': VMResourceBreakdownToJSON(value['ramGB']),
253
271
  'diskGB': VMResourceBreakdownToJSON(value['diskGB']),
254
272
  'diskCount': VMResourceBreakdownToJSON(value['diskCount']),
@@ -92,13 +92,43 @@ export interface VirtualMachine {
92
92
  * @type {VmInspectionStatus}
93
93
  * @memberof VirtualMachine
94
94
  */
95
- inspection: VmInspectionStatus;
95
+ inspectionStatus?: VmInspectionStatus;
96
+ /**
97
+ * Number of inspection concerns recorded for the latest persisted inspection result
98
+ * @type {number}
99
+ * @memberof VirtualMachine
100
+ */
101
+ inspectionConcernCount?: number;
96
102
  /**
97
103
  * Tags aggregated from matching groups
98
104
  * @type {Array<string>}
99
105
  * @memberof VirtualMachine
100
106
  */
101
107
  tags?: Array<string>;
108
+ /**
109
+ * CPU utilization at p95 (%); absent when no utilization data
110
+ * @type {number}
111
+ * @memberof VirtualMachine
112
+ */
113
+ utilizationCpuP95?: number;
114
+ /**
115
+ * Memory utilization at p95 (%); absent when no utilization data
116
+ * @type {number}
117
+ * @memberof VirtualMachine
118
+ */
119
+ utilizationMemP95?: number;
120
+ /**
121
+ * Disk utilization (%); absent when no utilization data
122
+ * @type {number}
123
+ * @memberof VirtualMachine
124
+ */
125
+ utilizationDisk?: number;
126
+ /**
127
+ * Data confidence — sample_count / expected_sample_count × 100
128
+ * @type {number}
129
+ * @memberof VirtualMachine
130
+ */
131
+ utilizationConfidence?: number;
102
132
  }
103
133
 
104
134
  /**
@@ -113,7 +143,6 @@ export function instanceOfVirtualMachine(value: object): value is VirtualMachine
113
143
  if (!('diskSize' in value) || value['diskSize'] === undefined) return false;
114
144
  if (!('memory' in value) || value['memory'] === undefined) return false;
115
145
  if (!('issueCount' in value) || value['issueCount'] === undefined) return false;
116
- if (!('inspection' in value) || value['inspection'] === undefined) return false;
117
146
  return true;
118
147
  }
119
148
 
@@ -137,8 +166,13 @@ export function VirtualMachineFromJSONTyped(json: any, ignoreDiscriminator: bool
137
166
  'issueCount': json['issueCount'],
138
167
  'migratable': json['migratable'] == null ? undefined : json['migratable'],
139
168
  'template': json['template'] == null ? undefined : json['template'],
140
- 'inspection': VmInspectionStatusFromJSON(json['inspection']),
169
+ 'inspectionStatus': json['inspectionStatus'] == null ? undefined : VmInspectionStatusFromJSON(json['inspectionStatus']),
170
+ 'inspectionConcernCount': json['inspectionConcernCount'] == null ? undefined : json['inspectionConcernCount'],
141
171
  'tags': json['tags'] == null ? undefined : json['tags'],
172
+ 'utilizationCpuP95': json['utilization_cpu_p95'] == null ? undefined : json['utilization_cpu_p95'],
173
+ 'utilizationMemP95': json['utilization_mem_p95'] == null ? undefined : json['utilization_mem_p95'],
174
+ 'utilizationDisk': json['utilization_disk'] == null ? undefined : json['utilization_disk'],
175
+ 'utilizationConfidence': json['utilization_confidence'] == null ? undefined : json['utilization_confidence'],
142
176
  };
143
177
  }
144
178
 
@@ -163,8 +197,13 @@ export function VirtualMachineToJSONTyped(value?: VirtualMachine | null, ignoreD
163
197
  'issueCount': value['issueCount'],
164
198
  'migratable': value['migratable'],
165
199
  'template': value['template'],
166
- 'inspection': VmInspectionStatusToJSON(value['inspection']),
200
+ 'inspectionStatus': VmInspectionStatusToJSON(value['inspectionStatus']),
201
+ 'inspectionConcernCount': value['inspectionConcernCount'],
167
202
  'tags': value['tags'],
203
+ 'utilization_cpu_p95': value['utilizationCpuP95'],
204
+ 'utilization_mem_p95': value['utilizationMemP95'],
205
+ 'utilization_disk': value['utilizationDisk'],
206
+ 'utilization_confidence': value['utilizationConfidence'],
168
207
  };
169
208
  }
170
209
 
@@ -20,13 +20,6 @@ import {
20
20
  VMNICToJSON,
21
21
  VMNICToJSONTyped,
22
22
  } from './VMNIC.js';
23
- import type { VmInspectionStatus } from './VmInspectionStatus.js';
24
- import {
25
- VmInspectionStatusFromJSON,
26
- VmInspectionStatusFromJSONTyped,
27
- VmInspectionStatusToJSON,
28
- VmInspectionStatusToJSONTyped,
29
- } from './VmInspectionStatus.js';
30
23
  import type { GuestNetwork } from './GuestNetwork.js';
31
24
  import {
32
25
  GuestNetworkFromJSON,
@@ -55,6 +48,13 @@ import {
55
48
  VMDiskToJSON,
56
49
  VMDiskToJSONTyped,
57
50
  } from './VMDisk.js';
51
+ import type { VmInspectionResults } from './VmInspectionResults.js';
52
+ import {
53
+ VmInspectionResultsFromJSON,
54
+ VmInspectionResultsFromJSONTyped,
55
+ VmInspectionResultsToJSON,
56
+ VmInspectionResultsToJSONTyped,
57
+ } from './VmInspectionResults.js';
58
58
 
59
59
  /**
60
60
  *
@@ -244,10 +244,10 @@ export interface VirtualMachineDetail {
244
244
  issues?: Array<VMIssue>;
245
245
  /**
246
246
  *
247
- * @type {VmInspectionStatus}
247
+ * @type {VmInspectionResults}
248
248
  * @memberof VirtualMachineDetail
249
249
  */
250
- inspection?: VmInspectionStatus;
250
+ inspection?: VmInspectionResults;
251
251
  }
252
252
 
253
253
  /**
@@ -306,7 +306,7 @@ export function VirtualMachineDetailFromJSONTyped(json: any, ignoreDiscriminator
306
306
  'devices': json['devices'] == null ? undefined : ((json['devices'] as Array<any>).map(VMDeviceFromJSON)),
307
307
  'guestNetworks': json['guestNetworks'] == null ? undefined : ((json['guestNetworks'] as Array<any>).map(GuestNetworkFromJSON)),
308
308
  'issues': json['issues'] == null ? undefined : ((json['issues'] as Array<any>).map(VMIssueFromJSON)),
309
- 'inspection': json['inspection'] == null ? undefined : VmInspectionStatusFromJSON(json['inspection']),
309
+ 'inspection': json['inspection'] == null ? undefined : VmInspectionResultsFromJSON(json['inspection']),
310
310
  };
311
311
  }
312
312
 
@@ -351,7 +351,7 @@ export function VirtualMachineDetailToJSONTyped(value?: VirtualMachineDetail | n
351
351
  'devices': value['devices'] == null ? undefined : ((value['devices'] as Array<any>).map(VMDeviceToJSON)),
352
352
  'guestNetworks': value['guestNetworks'] == null ? undefined : ((value['guestNetworks'] as Array<any>).map(GuestNetworkToJSON)),
353
353
  'issues': value['issues'] == null ? undefined : ((value['issues'] as Array<any>).map(VMIssueToJSON)),
354
- 'inspection': VmInspectionStatusToJSON(value['inspection']),
354
+ 'inspection': VmInspectionResultsToJSON(value['inspection']),
355
355
  };
356
356
  }
357
357
 
@@ -0,0 +1,84 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Assisted Migration Agent API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ /**
17
+ * Represents the structure of vm-migration-detective library inspection concerns
18
+ * @export
19
+ * @interface VmInspectionConcern
20
+ */
21
+ export interface VmInspectionConcern {
22
+ /**
23
+ * Short label identifying the concern
24
+ * @type {string}
25
+ * @memberof VmInspectionConcern
26
+ */
27
+ label: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof VmInspectionConcern
32
+ */
33
+ message: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof VmInspectionConcern
38
+ */
39
+ category: string;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the VmInspectionConcern interface.
44
+ */
45
+ export function instanceOfVmInspectionConcern(value: object): value is VmInspectionConcern {
46
+ if (!('label' in value) || value['label'] === undefined) return false;
47
+ if (!('message' in value) || value['message'] === undefined) return false;
48
+ if (!('category' in value) || value['category'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function VmInspectionConcernFromJSON(json: any): VmInspectionConcern {
53
+ return VmInspectionConcernFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function VmInspectionConcernFromJSONTyped(json: any, ignoreDiscriminator: boolean): VmInspectionConcern {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'label': json['label'],
63
+ 'message': json['message'],
64
+ 'category': json['category'],
65
+ };
66
+ }
67
+
68
+ export function VmInspectionConcernToJSON(json: any): VmInspectionConcern {
69
+ return VmInspectionConcernToJSONTyped(json, false);
70
+ }
71
+
72
+ export function VmInspectionConcernToJSONTyped(value?: VmInspectionConcern | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'label': value['label'],
80
+ 'message': value['message'],
81
+ 'category': value['category'],
82
+ };
83
+ }
84
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Assisted Migration Agent API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime.js';
16
+ import type { VmInspectionConcern } from './VmInspectionConcern.js';
17
+ import {
18
+ VmInspectionConcernFromJSON,
19
+ VmInspectionConcernFromJSONTyped,
20
+ VmInspectionConcernToJSON,
21
+ VmInspectionConcernToJSONTyped,
22
+ } from './VmInspectionConcern.js';
23
+
24
+ /**
25
+ * VirtualMachine Inspection results
26
+ * @export
27
+ * @interface VmInspectionResults
28
+ */
29
+ export interface VmInspectionResults {
30
+ /**
31
+ *
32
+ * @type {Array<VmInspectionConcern>}
33
+ * @memberof VmInspectionResults
34
+ */
35
+ concerns?: Array<VmInspectionConcern>;
36
+ }
37
+
38
+ /**
39
+ * Check if a given object implements the VmInspectionResults interface.
40
+ */
41
+ export function instanceOfVmInspectionResults(value: object): value is VmInspectionResults {
42
+ return true;
43
+ }
44
+
45
+ export function VmInspectionResultsFromJSON(json: any): VmInspectionResults {
46
+ return VmInspectionResultsFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function VmInspectionResultsFromJSONTyped(json: any, ignoreDiscriminator: boolean): VmInspectionResults {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'concerns': json['concerns'] == null ? undefined : ((json['concerns'] as Array<any>).map(VmInspectionConcernFromJSON)),
56
+ };
57
+ }
58
+
59
+ export function VmInspectionResultsToJSON(json: any): VmInspectionResults {
60
+ return VmInspectionResultsToJSONTyped(json, false);
61
+ }
62
+
63
+ export function VmInspectionResultsToJSONTyped(value?: VmInspectionResults | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'concerns': value['concerns'] == null ? undefined : ((value['concerns'] as Array<any>).map(VmInspectionConcernToJSON)),
71
+ };
72
+ }
73
+
@@ -48,8 +48,7 @@ export const VmInspectionStatusStateEnum = {
48
48
  VmInspectionStatusStateRunning: 'running',
49
49
  VmInspectionStatusStateCompleted: 'completed',
50
50
  VmInspectionStatusStateCanceled: 'canceled',
51
- VmInspectionStatusStateError: 'error',
52
- VmInspectionStatusStateNotFound: 'not_found'
51
+ VmInspectionStatusStateError: 'error'
53
52
  } as const;
54
53
  export type VmInspectionStatusStateEnum = typeof VmInspectionStatusStateEnum[keyof typeof VmInspectionStatusStateEnum];
55
54