@openshift-migration-advisor/planner-sdk 0.13.5 → 0.13.6-b314a1e352c6

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 (36) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/.openapi-generator/VERSION +1 -1
  3. package/README.md +5 -3
  4. package/dist/esm/models/ClusterRequirementsResponse.d.ts +20 -0
  5. package/dist/esm/models/ClusterRequirementsResponse.js +8 -0
  6. package/dist/esm/models/ClusterSizing.d.ts +18 -0
  7. package/dist/esm/models/ClusterSizing.js +6 -0
  8. package/dist/esm/models/OptimizationStatus.d.ts +48 -0
  9. package/dist/esm/models/OptimizationStatus.js +56 -0
  10. package/dist/esm/models/Savings.d.ts +44 -0
  11. package/dist/esm/models/Savings.js +51 -0
  12. package/dist/esm/models/index.d.ts +2 -0
  13. package/dist/esm/models/index.js +2 -0
  14. package/dist/esm/runtime.js +2 -1
  15. package/dist/models/ClusterRequirementsResponse.d.ts +20 -0
  16. package/dist/models/ClusterRequirementsResponse.js +8 -0
  17. package/dist/models/ClusterSizing.d.ts +18 -0
  18. package/dist/models/ClusterSizing.js +6 -0
  19. package/dist/models/OptimizationStatus.d.ts +48 -0
  20. package/dist/models/OptimizationStatus.js +64 -0
  21. package/dist/models/Savings.d.ts +44 -0
  22. package/dist/models/Savings.js +58 -0
  23. package/dist/models/index.d.ts +2 -0
  24. package/dist/models/index.js +2 -0
  25. package/dist/runtime.js +2 -1
  26. package/docs/ClusterRequirementsResponse.md +6 -0
  27. package/docs/ClusterSizing.md +6 -0
  28. package/docs/OptimizationStatus.md +37 -0
  29. package/docs/Savings.md +39 -0
  30. package/package.json +1 -1
  31. package/src/models/ClusterRequirementsResponse.ts +38 -0
  32. package/src/models/ClusterSizing.ts +24 -0
  33. package/src/models/OptimizationStatus.ts +88 -0
  34. package/src/models/Savings.ts +84 -0
  35. package/src/models/index.ts +2 -0
  36. package/src/runtime.ts +1 -1
@@ -57,6 +57,7 @@ docs/MigrationEstimationResponse.md
57
57
  docs/MigrationIssue.md
58
58
  docs/ModelError.md
59
59
  docs/Network.md
60
+ docs/OptimizationStatus.md
60
61
  docs/OsDiskEstimationEntry.md
61
62
  docs/OsInfo.md
62
63
  docs/PartnerApi.md
@@ -66,6 +67,7 @@ docs/PartnerRequestStatus.md
66
67
  docs/PartnerRequestUpdate.md
67
68
  docs/PartnerSummary.md
68
69
  docs/PresignedUrl.md
70
+ docs/Savings.md
69
71
  docs/SchemaEstimationResult.md
70
72
  docs/SharingSubject.md
71
73
  docs/SizingApi.md
@@ -147,6 +149,7 @@ src/models/MigrationEstimationResponse.ts
147
149
  src/models/MigrationIssue.ts
148
150
  src/models/ModelError.ts
149
151
  src/models/Network.ts
152
+ src/models/OptimizationStatus.ts
150
153
  src/models/OsDiskEstimationEntry.ts
151
154
  src/models/OsInfo.ts
152
155
  src/models/PartnerRequest.ts
@@ -155,6 +158,7 @@ src/models/PartnerRequestStatus.ts
155
158
  src/models/PartnerRequestUpdate.ts
156
159
  src/models/PartnerSummary.ts
157
160
  src/models/PresignedUrl.ts
161
+ src/models/Savings.ts
158
162
  src/models/SchemaEstimationResult.ts
159
163
  src/models/SharingSubject.ts
160
164
  src/models/SizingOverCommitRatio.ts
@@ -1 +1 @@
1
- 7.23.0-SNAPSHOT
1
+ 7.24.0-SNAPSHOT
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @openshift-migration-advisor/planner-sdk@0.13.5
1
+ # @openshift-migration-advisor/planner-sdk@0.13.6-b314a1e352c6
2
2
 
3
3
  A TypeScript SDK client for the raw.githubusercontent.com API.
4
4
 
@@ -148,6 +148,7 @@ All URIs are relative to *https://raw.githubusercontent.com*
148
148
  - [MigrationIssue](docs/MigrationIssue.md)
149
149
  - [ModelError](docs/ModelError.md)
150
150
  - [Network](docs/Network.md)
151
+ - [OptimizationStatus](docs/OptimizationStatus.md)
151
152
  - [OsDiskEstimationEntry](docs/OsDiskEstimationEntry.md)
152
153
  - [OsInfo](docs/OsInfo.md)
153
154
  - [PartnerRequest](docs/PartnerRequest.md)
@@ -156,6 +157,7 @@ All URIs are relative to *https://raw.githubusercontent.com*
156
157
  - [PartnerRequestUpdate](docs/PartnerRequestUpdate.md)
157
158
  - [PartnerSummary](docs/PartnerSummary.md)
158
159
  - [PresignedUrl](docs/PresignedUrl.md)
160
+ - [Savings](docs/Savings.md)
159
161
  - [SchemaEstimationResult](docs/SchemaEstimationResult.md)
160
162
  - [SharingSubject](docs/SharingSubject.md)
161
163
  - [SizingOverCommitRatio](docs/SizingOverCommitRatio.md)
@@ -187,8 +189,8 @@ and is automatically generated by the
187
189
  [OpenAPI Generator](https://openapi-generator.tech) project:
188
190
 
189
191
  - API version: `v1alpha1`
190
- - Package version: `0.13.5`
191
- - Generator version: `7.23.0-SNAPSHOT`
192
+ - Package version: `0.13.6-b314a1e352c6`
193
+ - Generator version: `7.24.0-SNAPSHOT`
192
194
  - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
193
195
 
194
196
  The generated npm module supports the following:
@@ -9,9 +9,11 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { Savings } from './Savings.js';
12
13
  import type { SizingResourceConsumption } from './SizingResourceConsumption.js';
13
14
  import type { InventoryTotals } from './InventoryTotals.js';
14
15
  import type { ClusterSizing } from './ClusterSizing.js';
16
+ import type { OptimizationStatus } from './OptimizationStatus.js';
15
17
  /**
16
18
  * Cluster requirements calculation results
17
19
  * @export
@@ -24,6 +26,24 @@ export interface ClusterRequirementsResponse {
24
26
  * @memberof ClusterRequirementsResponse
25
27
  */
26
28
  clusterSizing: ClusterSizing;
29
+ /**
30
+ *
31
+ * @type {ClusterSizing}
32
+ * @memberof ClusterRequirementsResponse
33
+ */
34
+ optimizedSizing?: ClusterSizing;
35
+ /**
36
+ *
37
+ * @type {Savings}
38
+ * @memberof ClusterRequirementsResponse
39
+ */
40
+ savings?: Savings;
41
+ /**
42
+ *
43
+ * @type {OptimizationStatus}
44
+ * @memberof ClusterRequirementsResponse
45
+ */
46
+ optimizationStatus?: OptimizationStatus;
27
47
  /**
28
48
  *
29
49
  * @type {SizingResourceConsumption}
@@ -11,9 +11,11 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { SavingsFromJSON, SavingsToJSON, } from './Savings.js';
14
15
  import { SizingResourceConsumptionFromJSON, SizingResourceConsumptionToJSON, } from './SizingResourceConsumption.js';
15
16
  import { InventoryTotalsFromJSON, InventoryTotalsToJSON, } from './InventoryTotals.js';
16
17
  import { ClusterSizingFromJSON, ClusterSizingToJSON, } from './ClusterSizing.js';
18
+ import { OptimizationStatusFromJSON, OptimizationStatusToJSON, } from './OptimizationStatus.js';
17
19
  /**
18
20
  * Check if a given object implements the ClusterRequirementsResponse interface.
19
21
  */
@@ -35,6 +37,9 @@ export function ClusterRequirementsResponseFromJSONTyped(json, ignoreDiscriminat
35
37
  }
36
38
  return {
37
39
  'clusterSizing': ClusterSizingFromJSON(json['clusterSizing']),
40
+ 'optimizedSizing': json['optimizedSizing'] == null ? undefined : ClusterSizingFromJSON(json['optimizedSizing']),
41
+ 'savings': json['savings'] == null ? undefined : SavingsFromJSON(json['savings']),
42
+ 'optimizationStatus': json['optimizationStatus'] == null ? undefined : OptimizationStatusFromJSON(json['optimizationStatus']),
38
43
  'resourceConsumption': SizingResourceConsumptionFromJSON(json['resourceConsumption']),
39
44
  'inventoryTotals': InventoryTotalsFromJSON(json['inventoryTotals']),
40
45
  };
@@ -48,6 +53,9 @@ export function ClusterRequirementsResponseToJSONTyped(value, ignoreDiscriminato
48
53
  }
49
54
  return {
50
55
  'clusterSizing': ClusterSizingToJSON(value['clusterSizing']),
56
+ 'optimizedSizing': ClusterSizingToJSON(value['optimizedSizing']),
57
+ 'savings': SavingsToJSON(value['savings']),
58
+ 'optimizationStatus': OptimizationStatusToJSON(value['optimizationStatus']),
51
59
  'resourceConsumption': SizingResourceConsumptionToJSON(value['resourceConsumption']),
52
60
  'inventoryTotals': InventoryTotalsToJSON(value['inventoryTotals']),
53
61
  };
@@ -51,6 +51,24 @@ export interface ClusterSizing {
51
51
  * @memberof ClusterSizing
52
52
  */
53
53
  totalMemory: number;
54
+ /**
55
+ * CPU utilization maximum percentage (only in optimized_sizing)
56
+ * @type {number}
57
+ * @memberof ClusterSizing
58
+ */
59
+ cpuUtilizationMax?: number;
60
+ /**
61
+ * Memory utilization maximum percentage (only in optimized_sizing)
62
+ * @type {number}
63
+ * @memberof ClusterSizing
64
+ */
65
+ memoryUtilizationMax?: number;
66
+ /**
67
+ * Data coverage confidence 0-100 (only in optimized_sizing)
68
+ * @type {number}
69
+ * @memberof ClusterSizing
70
+ */
71
+ confidence?: number;
54
72
  }
55
73
  /**
56
74
  * Check if a given object implements the ClusterSizing interface.
@@ -43,6 +43,9 @@ export function ClusterSizingFromJSONTyped(json, ignoreDiscriminator) {
43
43
  'failoverNodes': json['failoverNodes'],
44
44
  'totalCPU': json['totalCPU'],
45
45
  'totalMemory': json['totalMemory'],
46
+ 'cpuUtilizationMax': json['cpuUtilizationMax'] == null ? undefined : json['cpuUtilizationMax'],
47
+ 'memoryUtilizationMax': json['memoryUtilizationMax'] == null ? undefined : json['memoryUtilizationMax'],
48
+ 'confidence': json['confidence'] == null ? undefined : json['confidence'],
46
49
  };
47
50
  }
48
51
  export function ClusterSizingToJSON(json) {
@@ -59,5 +62,8 @@ export function ClusterSizingToJSONTyped(value, ignoreDiscriminator = false) {
59
62
  'failoverNodes': value['failoverNodes'],
60
63
  'totalCPU': value['totalCPU'],
61
64
  'totalMemory': value['totalMemory'],
65
+ 'cpuUtilizationMax': value['cpuUtilizationMax'],
66
+ 'memoryUtilizationMax': value['memoryUtilizationMax'],
67
+ 'confidence': value['confidence'],
62
68
  };
63
69
  }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * OpenShift Migration Advisor API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: v1alpha1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Status of utilization-based optimization attempt
14
+ * @export
15
+ * @interface OptimizationStatus
16
+ */
17
+ export interface OptimizationStatus {
18
+ /**
19
+ * Whether optimization was attempted based on available utilization data
20
+ * @type {boolean}
21
+ * @memberof OptimizationStatus
22
+ */
23
+ attempted: boolean;
24
+ /**
25
+ * Reason for optimization result
26
+ * @type {OptimizationStatusReasonEnum}
27
+ * @memberof OptimizationStatus
28
+ */
29
+ reason: OptimizationStatusReasonEnum;
30
+ }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const OptimizationStatusReasonEnum: {
35
+ readonly NoUtilizationData: "no_utilization_data";
36
+ readonly LowConfidence: "low_confidence";
37
+ readonly CalculationError: "calculation_error";
38
+ readonly Success: "success";
39
+ };
40
+ export type OptimizationStatusReasonEnum = typeof OptimizationStatusReasonEnum[keyof typeof OptimizationStatusReasonEnum];
41
+ /**
42
+ * Check if a given object implements the OptimizationStatus interface.
43
+ */
44
+ export declare function instanceOfOptimizationStatus(value: object): value is OptimizationStatus;
45
+ export declare function OptimizationStatusFromJSON(json: any): OptimizationStatus;
46
+ export declare function OptimizationStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): OptimizationStatus;
47
+ export declare function OptimizationStatusToJSON(json: any): OptimizationStatus;
48
+ export declare function OptimizationStatusToJSONTyped(value?: OptimizationStatus | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,56 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * OpenShift Migration Advisor API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1alpha1
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
+ * @export
16
+ */
17
+ export const OptimizationStatusReasonEnum = {
18
+ NoUtilizationData: 'no_utilization_data',
19
+ LowConfidence: 'low_confidence',
20
+ CalculationError: 'calculation_error',
21
+ Success: 'success'
22
+ };
23
+ /**
24
+ * Check if a given object implements the OptimizationStatus interface.
25
+ */
26
+ export function instanceOfOptimizationStatus(value) {
27
+ if (!('attempted' in value) || value['attempted'] === undefined)
28
+ return false;
29
+ if (!('reason' in value) || value['reason'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ export function OptimizationStatusFromJSON(json) {
34
+ return OptimizationStatusFromJSONTyped(json, false);
35
+ }
36
+ export function OptimizationStatusFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'attempted': json['attempted'],
42
+ 'reason': json['reason'],
43
+ };
44
+ }
45
+ export function OptimizationStatusToJSON(json) {
46
+ return OptimizationStatusToJSONTyped(json, false);
47
+ }
48
+ export function OptimizationStatusToJSONTyped(value, ignoreDiscriminator = false) {
49
+ if (value == null) {
50
+ return value;
51
+ }
52
+ return {
53
+ 'attempted': value['attempted'],
54
+ 'reason': value['reason'],
55
+ };
56
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * OpenShift Migration Advisor API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: v1alpha1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Infrastructure savings comparison
14
+ * @export
15
+ * @interface Savings
16
+ */
17
+ export interface Savings {
18
+ /**
19
+ * Number of nodes saved compared to baseline
20
+ * @type {number}
21
+ * @memberof Savings
22
+ */
23
+ nodesSaved: number;
24
+ /**
25
+ * Percentage reduction in nodes
26
+ * @type {number}
27
+ * @memberof Savings
28
+ */
29
+ percentageReduction: number;
30
+ /**
31
+ * Human-readable description of savings source
32
+ * @type {string}
33
+ * @memberof Savings
34
+ */
35
+ description: string;
36
+ }
37
+ /**
38
+ * Check if a given object implements the Savings interface.
39
+ */
40
+ export declare function instanceOfSavings(value: object): value is Savings;
41
+ export declare function SavingsFromJSON(json: any): Savings;
42
+ export declare function SavingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Savings;
43
+ export declare function SavingsToJSON(json: any): Savings;
44
+ export declare function SavingsToJSONTyped(value?: Savings | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * OpenShift Migration Advisor API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1alpha1
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
+ * Check if a given object implements the Savings interface.
16
+ */
17
+ export function instanceOfSavings(value) {
18
+ if (!('nodesSaved' in value) || value['nodesSaved'] === undefined)
19
+ return false;
20
+ if (!('percentageReduction' in value) || value['percentageReduction'] === undefined)
21
+ return false;
22
+ if (!('description' in value) || value['description'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function SavingsFromJSON(json) {
27
+ return SavingsFromJSONTyped(json, false);
28
+ }
29
+ export function SavingsFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'nodesSaved': json['nodesSaved'],
35
+ 'percentageReduction': json['percentageReduction'],
36
+ 'description': json['description'],
37
+ };
38
+ }
39
+ export function SavingsToJSON(json) {
40
+ return SavingsToJSONTyped(json, false);
41
+ }
42
+ export function SavingsToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'nodesSaved': value['nodesSaved'],
48
+ 'percentageReduction': value['percentageReduction'],
49
+ 'description': value['description'],
50
+ };
51
+ }
@@ -47,6 +47,7 @@ export * from './MigrationEstimationResponse.js';
47
47
  export * from './MigrationIssue.js';
48
48
  export * from './ModelError.js';
49
49
  export * from './Network.js';
50
+ export * from './OptimizationStatus.js';
50
51
  export * from './OsDiskEstimationEntry.js';
51
52
  export * from './OsInfo.js';
52
53
  export * from './PartnerRequest.js';
@@ -55,6 +56,7 @@ export * from './PartnerRequestStatus.js';
55
56
  export * from './PartnerRequestUpdate.js';
56
57
  export * from './PartnerSummary.js';
57
58
  export * from './PresignedUrl.js';
59
+ export * from './Savings.js';
58
60
  export * from './SchemaEstimationResult.js';
59
61
  export * from './SharingSubject.js';
60
62
  export * from './SizingOverCommitRatio.js';
@@ -49,6 +49,7 @@ export * from './MigrationEstimationResponse.js';
49
49
  export * from './MigrationIssue.js';
50
50
  export * from './ModelError.js';
51
51
  export * from './Network.js';
52
+ export * from './OptimizationStatus.js';
52
53
  export * from './OsDiskEstimationEntry.js';
53
54
  export * from './OsInfo.js';
54
55
  export * from './PartnerRequest.js';
@@ -57,6 +58,7 @@ export * from './PartnerRequestStatus.js';
57
58
  export * from './PartnerRequestUpdate.js';
58
59
  export * from './PartnerSummary.js';
59
60
  export * from './PresignedUrl.js';
61
+ export * from './Savings.js';
60
62
  export * from './SchemaEstimationResult.js';
61
63
  export * from './SharingSubject.js';
62
64
  export * from './SizingOverCommitRatio.js';
@@ -297,8 +297,9 @@ export function mapValues(data, fn) {
297
297
  return result;
298
298
  }
299
299
  export function canConsumeForm(consumes) {
300
+ var _a;
300
301
  for (const consume of consumes) {
301
- if ('multipart/form-data' === consume.contentType) {
302
+ if (((_a = consume.contentType) === null || _a === void 0 ? void 0 : _a.startsWith('multipart/form-data')) == true) {
302
303
  return true;
303
304
  }
304
305
  }
@@ -9,9 +9,11 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { Savings } from './Savings.js';
12
13
  import type { SizingResourceConsumption } from './SizingResourceConsumption.js';
13
14
  import type { InventoryTotals } from './InventoryTotals.js';
14
15
  import type { ClusterSizing } from './ClusterSizing.js';
16
+ import type { OptimizationStatus } from './OptimizationStatus.js';
15
17
  /**
16
18
  * Cluster requirements calculation results
17
19
  * @export
@@ -24,6 +26,24 @@ export interface ClusterRequirementsResponse {
24
26
  * @memberof ClusterRequirementsResponse
25
27
  */
26
28
  clusterSizing: ClusterSizing;
29
+ /**
30
+ *
31
+ * @type {ClusterSizing}
32
+ * @memberof ClusterRequirementsResponse
33
+ */
34
+ optimizedSizing?: ClusterSizing;
35
+ /**
36
+ *
37
+ * @type {Savings}
38
+ * @memberof ClusterRequirementsResponse
39
+ */
40
+ savings?: Savings;
41
+ /**
42
+ *
43
+ * @type {OptimizationStatus}
44
+ * @memberof ClusterRequirementsResponse
45
+ */
46
+ optimizationStatus?: OptimizationStatus;
27
47
  /**
28
48
  *
29
49
  * @type {SizingResourceConsumption}
@@ -18,9 +18,11 @@ exports.ClusterRequirementsResponseFromJSON = ClusterRequirementsResponseFromJSO
18
18
  exports.ClusterRequirementsResponseFromJSONTyped = ClusterRequirementsResponseFromJSONTyped;
19
19
  exports.ClusterRequirementsResponseToJSON = ClusterRequirementsResponseToJSON;
20
20
  exports.ClusterRequirementsResponseToJSONTyped = ClusterRequirementsResponseToJSONTyped;
21
+ const Savings_js_1 = require("./Savings.js");
21
22
  const SizingResourceConsumption_js_1 = require("./SizingResourceConsumption.js");
22
23
  const InventoryTotals_js_1 = require("./InventoryTotals.js");
23
24
  const ClusterSizing_js_1 = require("./ClusterSizing.js");
25
+ const OptimizationStatus_js_1 = require("./OptimizationStatus.js");
24
26
  /**
25
27
  * Check if a given object implements the ClusterRequirementsResponse interface.
26
28
  */
@@ -42,6 +44,9 @@ function ClusterRequirementsResponseFromJSONTyped(json, ignoreDiscriminator) {
42
44
  }
43
45
  return {
44
46
  'clusterSizing': (0, ClusterSizing_js_1.ClusterSizingFromJSON)(json['clusterSizing']),
47
+ 'optimizedSizing': json['optimizedSizing'] == null ? undefined : (0, ClusterSizing_js_1.ClusterSizingFromJSON)(json['optimizedSizing']),
48
+ 'savings': json['savings'] == null ? undefined : (0, Savings_js_1.SavingsFromJSON)(json['savings']),
49
+ 'optimizationStatus': json['optimizationStatus'] == null ? undefined : (0, OptimizationStatus_js_1.OptimizationStatusFromJSON)(json['optimizationStatus']),
45
50
  'resourceConsumption': (0, SizingResourceConsumption_js_1.SizingResourceConsumptionFromJSON)(json['resourceConsumption']),
46
51
  'inventoryTotals': (0, InventoryTotals_js_1.InventoryTotalsFromJSON)(json['inventoryTotals']),
47
52
  };
@@ -55,6 +60,9 @@ function ClusterRequirementsResponseToJSONTyped(value, ignoreDiscriminator = fal
55
60
  }
56
61
  return {
57
62
  'clusterSizing': (0, ClusterSizing_js_1.ClusterSizingToJSON)(value['clusterSizing']),
63
+ 'optimizedSizing': (0, ClusterSizing_js_1.ClusterSizingToJSON)(value['optimizedSizing']),
64
+ 'savings': (0, Savings_js_1.SavingsToJSON)(value['savings']),
65
+ 'optimizationStatus': (0, OptimizationStatus_js_1.OptimizationStatusToJSON)(value['optimizationStatus']),
58
66
  'resourceConsumption': (0, SizingResourceConsumption_js_1.SizingResourceConsumptionToJSON)(value['resourceConsumption']),
59
67
  'inventoryTotals': (0, InventoryTotals_js_1.InventoryTotalsToJSON)(value['inventoryTotals']),
60
68
  };
@@ -51,6 +51,24 @@ export interface ClusterSizing {
51
51
  * @memberof ClusterSizing
52
52
  */
53
53
  totalMemory: number;
54
+ /**
55
+ * CPU utilization maximum percentage (only in optimized_sizing)
56
+ * @type {number}
57
+ * @memberof ClusterSizing
58
+ */
59
+ cpuUtilizationMax?: number;
60
+ /**
61
+ * Memory utilization maximum percentage (only in optimized_sizing)
62
+ * @type {number}
63
+ * @memberof ClusterSizing
64
+ */
65
+ memoryUtilizationMax?: number;
66
+ /**
67
+ * Data coverage confidence 0-100 (only in optimized_sizing)
68
+ * @type {number}
69
+ * @memberof ClusterSizing
70
+ */
71
+ confidence?: number;
54
72
  }
55
73
  /**
56
74
  * Check if a given object implements the ClusterSizing interface.
@@ -50,6 +50,9 @@ function ClusterSizingFromJSONTyped(json, ignoreDiscriminator) {
50
50
  'failoverNodes': json['failoverNodes'],
51
51
  'totalCPU': json['totalCPU'],
52
52
  'totalMemory': json['totalMemory'],
53
+ 'cpuUtilizationMax': json['cpuUtilizationMax'] == null ? undefined : json['cpuUtilizationMax'],
54
+ 'memoryUtilizationMax': json['memoryUtilizationMax'] == null ? undefined : json['memoryUtilizationMax'],
55
+ 'confidence': json['confidence'] == null ? undefined : json['confidence'],
53
56
  };
54
57
  }
55
58
  function ClusterSizingToJSON(json) {
@@ -66,5 +69,8 @@ function ClusterSizingToJSONTyped(value, ignoreDiscriminator = false) {
66
69
  'failoverNodes': value['failoverNodes'],
67
70
  'totalCPU': value['totalCPU'],
68
71
  'totalMemory': value['totalMemory'],
72
+ 'cpuUtilizationMax': value['cpuUtilizationMax'],
73
+ 'memoryUtilizationMax': value['memoryUtilizationMax'],
74
+ 'confidence': value['confidence'],
69
75
  };
70
76
  }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * OpenShift Migration Advisor API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: v1alpha1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Status of utilization-based optimization attempt
14
+ * @export
15
+ * @interface OptimizationStatus
16
+ */
17
+ export interface OptimizationStatus {
18
+ /**
19
+ * Whether optimization was attempted based on available utilization data
20
+ * @type {boolean}
21
+ * @memberof OptimizationStatus
22
+ */
23
+ attempted: boolean;
24
+ /**
25
+ * Reason for optimization result
26
+ * @type {OptimizationStatusReasonEnum}
27
+ * @memberof OptimizationStatus
28
+ */
29
+ reason: OptimizationStatusReasonEnum;
30
+ }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const OptimizationStatusReasonEnum: {
35
+ readonly NoUtilizationData: "no_utilization_data";
36
+ readonly LowConfidence: "low_confidence";
37
+ readonly CalculationError: "calculation_error";
38
+ readonly Success: "success";
39
+ };
40
+ export type OptimizationStatusReasonEnum = typeof OptimizationStatusReasonEnum[keyof typeof OptimizationStatusReasonEnum];
41
+ /**
42
+ * Check if a given object implements the OptimizationStatus interface.
43
+ */
44
+ export declare function instanceOfOptimizationStatus(value: object): value is OptimizationStatus;
45
+ export declare function OptimizationStatusFromJSON(json: any): OptimizationStatus;
46
+ export declare function OptimizationStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): OptimizationStatus;
47
+ export declare function OptimizationStatusToJSON(json: any): OptimizationStatus;
48
+ export declare function OptimizationStatusToJSONTyped(value?: OptimizationStatus | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * OpenShift Migration Advisor API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: v1alpha1
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.OptimizationStatusReasonEnum = void 0;
17
+ exports.instanceOfOptimizationStatus = instanceOfOptimizationStatus;
18
+ exports.OptimizationStatusFromJSON = OptimizationStatusFromJSON;
19
+ exports.OptimizationStatusFromJSONTyped = OptimizationStatusFromJSONTyped;
20
+ exports.OptimizationStatusToJSON = OptimizationStatusToJSON;
21
+ exports.OptimizationStatusToJSONTyped = OptimizationStatusToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.OptimizationStatusReasonEnum = {
26
+ NoUtilizationData: 'no_utilization_data',
27
+ LowConfidence: 'low_confidence',
28
+ CalculationError: 'calculation_error',
29
+ Success: 'success'
30
+ };
31
+ /**
32
+ * Check if a given object implements the OptimizationStatus interface.
33
+ */
34
+ function instanceOfOptimizationStatus(value) {
35
+ if (!('attempted' in value) || value['attempted'] === undefined)
36
+ return false;
37
+ if (!('reason' in value) || value['reason'] === undefined)
38
+ return false;
39
+ return true;
40
+ }
41
+ function OptimizationStatusFromJSON(json) {
42
+ return OptimizationStatusFromJSONTyped(json, false);
43
+ }
44
+ function OptimizationStatusFromJSONTyped(json, ignoreDiscriminator) {
45
+ if (json == null) {
46
+ return json;
47
+ }
48
+ return {
49
+ 'attempted': json['attempted'],
50
+ 'reason': json['reason'],
51
+ };
52
+ }
53
+ function OptimizationStatusToJSON(json) {
54
+ return OptimizationStatusToJSONTyped(json, false);
55
+ }
56
+ function OptimizationStatusToJSONTyped(value, ignoreDiscriminator = false) {
57
+ if (value == null) {
58
+ return value;
59
+ }
60
+ return {
61
+ 'attempted': value['attempted'],
62
+ 'reason': value['reason'],
63
+ };
64
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * OpenShift Migration Advisor API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: v1alpha1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Infrastructure savings comparison
14
+ * @export
15
+ * @interface Savings
16
+ */
17
+ export interface Savings {
18
+ /**
19
+ * Number of nodes saved compared to baseline
20
+ * @type {number}
21
+ * @memberof Savings
22
+ */
23
+ nodesSaved: number;
24
+ /**
25
+ * Percentage reduction in nodes
26
+ * @type {number}
27
+ * @memberof Savings
28
+ */
29
+ percentageReduction: number;
30
+ /**
31
+ * Human-readable description of savings source
32
+ * @type {string}
33
+ * @memberof Savings
34
+ */
35
+ description: string;
36
+ }
37
+ /**
38
+ * Check if a given object implements the Savings interface.
39
+ */
40
+ export declare function instanceOfSavings(value: object): value is Savings;
41
+ export declare function SavingsFromJSON(json: any): Savings;
42
+ export declare function SavingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Savings;
43
+ export declare function SavingsToJSON(json: any): Savings;
44
+ export declare function SavingsToJSONTyped(value?: Savings | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * OpenShift Migration Advisor API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: v1alpha1
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSavings = instanceOfSavings;
17
+ exports.SavingsFromJSON = SavingsFromJSON;
18
+ exports.SavingsFromJSONTyped = SavingsFromJSONTyped;
19
+ exports.SavingsToJSON = SavingsToJSON;
20
+ exports.SavingsToJSONTyped = SavingsToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the Savings interface.
23
+ */
24
+ function instanceOfSavings(value) {
25
+ if (!('nodesSaved' in value) || value['nodesSaved'] === undefined)
26
+ return false;
27
+ if (!('percentageReduction' in value) || value['percentageReduction'] === undefined)
28
+ return false;
29
+ if (!('description' in value) || value['description'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function SavingsFromJSON(json) {
34
+ return SavingsFromJSONTyped(json, false);
35
+ }
36
+ function SavingsFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'nodesSaved': json['nodesSaved'],
42
+ 'percentageReduction': json['percentageReduction'],
43
+ 'description': json['description'],
44
+ };
45
+ }
46
+ function SavingsToJSON(json) {
47
+ return SavingsToJSONTyped(json, false);
48
+ }
49
+ function SavingsToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'nodesSaved': value['nodesSaved'],
55
+ 'percentageReduction': value['percentageReduction'],
56
+ 'description': value['description'],
57
+ };
58
+ }
@@ -47,6 +47,7 @@ export * from './MigrationEstimationResponse.js';
47
47
  export * from './MigrationIssue.js';
48
48
  export * from './ModelError.js';
49
49
  export * from './Network.js';
50
+ export * from './OptimizationStatus.js';
50
51
  export * from './OsDiskEstimationEntry.js';
51
52
  export * from './OsInfo.js';
52
53
  export * from './PartnerRequest.js';
@@ -55,6 +56,7 @@ export * from './PartnerRequestStatus.js';
55
56
  export * from './PartnerRequestUpdate.js';
56
57
  export * from './PartnerSummary.js';
57
58
  export * from './PresignedUrl.js';
59
+ export * from './Savings.js';
58
60
  export * from './SchemaEstimationResult.js';
59
61
  export * from './SharingSubject.js';
60
62
  export * from './SizingOverCommitRatio.js';
@@ -65,6 +65,7 @@ __exportStar(require("./MigrationEstimationResponse.js"), exports);
65
65
  __exportStar(require("./MigrationIssue.js"), exports);
66
66
  __exportStar(require("./ModelError.js"), exports);
67
67
  __exportStar(require("./Network.js"), exports);
68
+ __exportStar(require("./OptimizationStatus.js"), exports);
68
69
  __exportStar(require("./OsDiskEstimationEntry.js"), exports);
69
70
  __exportStar(require("./OsInfo.js"), exports);
70
71
  __exportStar(require("./PartnerRequest.js"), exports);
@@ -73,6 +74,7 @@ __exportStar(require("./PartnerRequestStatus.js"), exports);
73
74
  __exportStar(require("./PartnerRequestUpdate.js"), exports);
74
75
  __exportStar(require("./PartnerSummary.js"), exports);
75
76
  __exportStar(require("./PresignedUrl.js"), exports);
77
+ __exportStar(require("./Savings.js"), exports);
76
78
  __exportStar(require("./SchemaEstimationResult.js"), exports);
77
79
  __exportStar(require("./SharingSubject.js"), exports);
78
80
  __exportStar(require("./SizingOverCommitRatio.js"), exports);
package/dist/runtime.js CHANGED
@@ -309,8 +309,9 @@ function mapValues(data, fn) {
309
309
  return result;
310
310
  }
311
311
  function canConsumeForm(consumes) {
312
+ var _a;
312
313
  for (const consume of consumes) {
313
- if ('multipart/form-data' === consume.contentType) {
314
+ if (((_a = consume.contentType) === null || _a === void 0 ? void 0 : _a.startsWith('multipart/form-data')) == true) {
314
315
  return true;
315
316
  }
316
317
  }
@@ -8,6 +8,9 @@ Cluster requirements calculation results
8
8
  Name | Type
9
9
  ------------ | -------------
10
10
  `clusterSizing` | [ClusterSizing](ClusterSizing.md)
11
+ `optimizedSizing` | [ClusterSizing](ClusterSizing.md)
12
+ `savings` | [Savings](Savings.md)
13
+ `optimizationStatus` | [OptimizationStatus](OptimizationStatus.md)
11
14
  `resourceConsumption` | [SizingResourceConsumption](SizingResourceConsumption.md)
12
15
  `inventoryTotals` | [InventoryTotals](InventoryTotals.md)
13
16
 
@@ -19,6 +22,9 @@ import type { ClusterRequirementsResponse } from '@openshift-migration-advisor/p
19
22
  // TODO: Update the object below with actual values
20
23
  const example = {
21
24
  "clusterSizing": null,
25
+ "optimizedSizing": null,
26
+ "savings": null,
27
+ "optimizationStatus": null,
22
28
  "resourceConsumption": null,
23
29
  "inventoryTotals": null,
24
30
  } satisfies ClusterRequirementsResponse
@@ -13,6 +13,9 @@ Name | Type
13
13
  `failoverNodes` | number
14
14
  `totalCPU` | number
15
15
  `totalMemory` | number
16
+ `cpuUtilizationMax` | number
17
+ `memoryUtilizationMax` | number
18
+ `confidence` | number
16
19
 
17
20
  ## Example
18
21
 
@@ -27,6 +30,9 @@ const example = {
27
30
  "failoverNodes": null,
28
31
  "totalCPU": null,
29
32
  "totalMemory": null,
33
+ "cpuUtilizationMax": null,
34
+ "memoryUtilizationMax": null,
35
+ "confidence": null,
30
36
  } satisfies ClusterSizing
31
37
 
32
38
  console.log(example)
@@ -0,0 +1,37 @@
1
+
2
+ # OptimizationStatus
3
+
4
+ Status of utilization-based optimization attempt
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `attempted` | boolean
11
+ `reason` | string
12
+
13
+ ## Example
14
+
15
+ ```typescript
16
+ import type { OptimizationStatus } from '@openshift-migration-advisor/planner-sdk'
17
+
18
+ // TODO: Update the object below with actual values
19
+ const example = {
20
+ "attempted": null,
21
+ "reason": null,
22
+ } satisfies OptimizationStatus
23
+
24
+ console.log(example)
25
+
26
+ // Convert the instance to a JSON string
27
+ const exampleJSON: string = JSON.stringify(example)
28
+ console.log(exampleJSON)
29
+
30
+ // Parse the JSON string back to an object
31
+ const exampleParsed = JSON.parse(exampleJSON) as OptimizationStatus
32
+ console.log(exampleParsed)
33
+ ```
34
+
35
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
36
+
37
+
@@ -0,0 +1,39 @@
1
+
2
+ # Savings
3
+
4
+ Infrastructure savings comparison
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `nodesSaved` | number
11
+ `percentageReduction` | number
12
+ `description` | string
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ import type { Savings } from '@openshift-migration-advisor/planner-sdk'
18
+
19
+ // TODO: Update the object below with actual values
20
+ const example = {
21
+ "nodesSaved": null,
22
+ "percentageReduction": null,
23
+ "description": null,
24
+ } satisfies Savings
25
+
26
+ console.log(example)
27
+
28
+ // Convert the instance to a JSON string
29
+ const exampleJSON: string = JSON.stringify(example)
30
+ console.log(exampleJSON)
31
+
32
+ // Parse the JSON string back to an object
33
+ const exampleParsed = JSON.parse(exampleJSON) as Savings
34
+ console.log(exampleParsed)
35
+ ```
36
+
37
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
38
+
39
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openshift-migration-advisor/planner-sdk",
3
- "version": "0.13.5",
3
+ "version": "0.13.6-b314a1e352c6",
4
4
  "description": "OpenAPI client for @openshift-migration-advisor/planner-sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -13,6 +13,13 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime.js';
16
+ import type { Savings } from './Savings.js';
17
+ import {
18
+ SavingsFromJSON,
19
+ SavingsFromJSONTyped,
20
+ SavingsToJSON,
21
+ SavingsToJSONTyped,
22
+ } from './Savings.js';
16
23
  import type { SizingResourceConsumption } from './SizingResourceConsumption.js';
17
24
  import {
18
25
  SizingResourceConsumptionFromJSON,
@@ -34,6 +41,13 @@ import {
34
41
  ClusterSizingToJSON,
35
42
  ClusterSizingToJSONTyped,
36
43
  } from './ClusterSizing.js';
44
+ import type { OptimizationStatus } from './OptimizationStatus.js';
45
+ import {
46
+ OptimizationStatusFromJSON,
47
+ OptimizationStatusFromJSONTyped,
48
+ OptimizationStatusToJSON,
49
+ OptimizationStatusToJSONTyped,
50
+ } from './OptimizationStatus.js';
37
51
 
38
52
  /**
39
53
  * Cluster requirements calculation results
@@ -47,6 +61,24 @@ export interface ClusterRequirementsResponse {
47
61
  * @memberof ClusterRequirementsResponse
48
62
  */
49
63
  clusterSizing: ClusterSizing;
64
+ /**
65
+ *
66
+ * @type {ClusterSizing}
67
+ * @memberof ClusterRequirementsResponse
68
+ */
69
+ optimizedSizing?: ClusterSizing;
70
+ /**
71
+ *
72
+ * @type {Savings}
73
+ * @memberof ClusterRequirementsResponse
74
+ */
75
+ savings?: Savings;
76
+ /**
77
+ *
78
+ * @type {OptimizationStatus}
79
+ * @memberof ClusterRequirementsResponse
80
+ */
81
+ optimizationStatus?: OptimizationStatus;
50
82
  /**
51
83
  *
52
84
  * @type {SizingResourceConsumption}
@@ -82,6 +114,9 @@ export function ClusterRequirementsResponseFromJSONTyped(json: any, ignoreDiscri
82
114
  return {
83
115
 
84
116
  'clusterSizing': ClusterSizingFromJSON(json['clusterSizing']),
117
+ 'optimizedSizing': json['optimizedSizing'] == null ? undefined : ClusterSizingFromJSON(json['optimizedSizing']),
118
+ 'savings': json['savings'] == null ? undefined : SavingsFromJSON(json['savings']),
119
+ 'optimizationStatus': json['optimizationStatus'] == null ? undefined : OptimizationStatusFromJSON(json['optimizationStatus']),
85
120
  'resourceConsumption': SizingResourceConsumptionFromJSON(json['resourceConsumption']),
86
121
  'inventoryTotals': InventoryTotalsFromJSON(json['inventoryTotals']),
87
122
  };
@@ -99,6 +134,9 @@ export function ClusterRequirementsResponseToJSONTyped(value?: ClusterRequiremen
99
134
  return {
100
135
 
101
136
  'clusterSizing': ClusterSizingToJSON(value['clusterSizing']),
137
+ 'optimizedSizing': ClusterSizingToJSON(value['optimizedSizing']),
138
+ 'savings': SavingsToJSON(value['savings']),
139
+ 'optimizationStatus': OptimizationStatusToJSON(value['optimizationStatus']),
102
140
  'resourceConsumption': SizingResourceConsumptionToJSON(value['resourceConsumption']),
103
141
  'inventoryTotals': InventoryTotalsToJSON(value['inventoryTotals']),
104
142
  };
@@ -55,6 +55,24 @@ export interface ClusterSizing {
55
55
  * @memberof ClusterSizing
56
56
  */
57
57
  totalMemory: number;
58
+ /**
59
+ * CPU utilization maximum percentage (only in optimized_sizing)
60
+ * @type {number}
61
+ * @memberof ClusterSizing
62
+ */
63
+ cpuUtilizationMax?: number;
64
+ /**
65
+ * Memory utilization maximum percentage (only in optimized_sizing)
66
+ * @type {number}
67
+ * @memberof ClusterSizing
68
+ */
69
+ memoryUtilizationMax?: number;
70
+ /**
71
+ * Data coverage confidence 0-100 (only in optimized_sizing)
72
+ * @type {number}
73
+ * @memberof ClusterSizing
74
+ */
75
+ confidence?: number;
58
76
  }
59
77
 
60
78
  /**
@@ -86,6 +104,9 @@ export function ClusterSizingFromJSONTyped(json: any, ignoreDiscriminator: boole
86
104
  'failoverNodes': json['failoverNodes'],
87
105
  'totalCPU': json['totalCPU'],
88
106
  'totalMemory': json['totalMemory'],
107
+ 'cpuUtilizationMax': json['cpuUtilizationMax'] == null ? undefined : json['cpuUtilizationMax'],
108
+ 'memoryUtilizationMax': json['memoryUtilizationMax'] == null ? undefined : json['memoryUtilizationMax'],
109
+ 'confidence': json['confidence'] == null ? undefined : json['confidence'],
89
110
  };
90
111
  }
91
112
 
@@ -106,6 +127,9 @@ export function ClusterSizingToJSONTyped(value?: ClusterSizing | null, ignoreDis
106
127
  'failoverNodes': value['failoverNodes'],
107
128
  'totalCPU': value['totalCPU'],
108
129
  'totalMemory': value['totalMemory'],
130
+ 'cpuUtilizationMax': value['cpuUtilizationMax'],
131
+ 'memoryUtilizationMax': value['memoryUtilizationMax'],
132
+ 'confidence': value['confidence'],
109
133
  };
110
134
  }
111
135
 
@@ -0,0 +1,88 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * OpenShift Migration Advisor API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1alpha1
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
+ * Status of utilization-based optimization attempt
18
+ * @export
19
+ * @interface OptimizationStatus
20
+ */
21
+ export interface OptimizationStatus {
22
+ /**
23
+ * Whether optimization was attempted based on available utilization data
24
+ * @type {boolean}
25
+ * @memberof OptimizationStatus
26
+ */
27
+ attempted: boolean;
28
+ /**
29
+ * Reason for optimization result
30
+ * @type {OptimizationStatusReasonEnum}
31
+ * @memberof OptimizationStatus
32
+ */
33
+ reason: OptimizationStatusReasonEnum;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const OptimizationStatusReasonEnum = {
41
+ NoUtilizationData: 'no_utilization_data',
42
+ LowConfidence: 'low_confidence',
43
+ CalculationError: 'calculation_error',
44
+ Success: 'success'
45
+ } as const;
46
+ export type OptimizationStatusReasonEnum = typeof OptimizationStatusReasonEnum[keyof typeof OptimizationStatusReasonEnum];
47
+
48
+
49
+ /**
50
+ * Check if a given object implements the OptimizationStatus interface.
51
+ */
52
+ export function instanceOfOptimizationStatus(value: object): value is OptimizationStatus {
53
+ if (!('attempted' in value) || value['attempted'] === undefined) return false;
54
+ if (!('reason' in value) || value['reason'] === undefined) return false;
55
+ return true;
56
+ }
57
+
58
+ export function OptimizationStatusFromJSON(json: any): OptimizationStatus {
59
+ return OptimizationStatusFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function OptimizationStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): OptimizationStatus {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'attempted': json['attempted'],
69
+ 'reason': json['reason'],
70
+ };
71
+ }
72
+
73
+ export function OptimizationStatusToJSON(json: any): OptimizationStatus {
74
+ return OptimizationStatusToJSONTyped(json, false);
75
+ }
76
+
77
+ export function OptimizationStatusToJSONTyped(value?: OptimizationStatus | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'attempted': value['attempted'],
85
+ 'reason': value['reason'],
86
+ };
87
+ }
88
+
@@ -0,0 +1,84 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * OpenShift Migration Advisor API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1alpha1
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
+ * Infrastructure savings comparison
18
+ * @export
19
+ * @interface Savings
20
+ */
21
+ export interface Savings {
22
+ /**
23
+ * Number of nodes saved compared to baseline
24
+ * @type {number}
25
+ * @memberof Savings
26
+ */
27
+ nodesSaved: number;
28
+ /**
29
+ * Percentage reduction in nodes
30
+ * @type {number}
31
+ * @memberof Savings
32
+ */
33
+ percentageReduction: number;
34
+ /**
35
+ * Human-readable description of savings source
36
+ * @type {string}
37
+ * @memberof Savings
38
+ */
39
+ description: string;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the Savings interface.
44
+ */
45
+ export function instanceOfSavings(value: object): value is Savings {
46
+ if (!('nodesSaved' in value) || value['nodesSaved'] === undefined) return false;
47
+ if (!('percentageReduction' in value) || value['percentageReduction'] === undefined) return false;
48
+ if (!('description' in value) || value['description'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function SavingsFromJSON(json: any): Savings {
53
+ return SavingsFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function SavingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Savings {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'nodesSaved': json['nodesSaved'],
63
+ 'percentageReduction': json['percentageReduction'],
64
+ 'description': json['description'],
65
+ };
66
+ }
67
+
68
+ export function SavingsToJSON(json: any): Savings {
69
+ return SavingsToJSONTyped(json, false);
70
+ }
71
+
72
+ export function SavingsToJSONTyped(value?: Savings | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'nodesSaved': value['nodesSaved'],
80
+ 'percentageReduction': value['percentageReduction'],
81
+ 'description': value['description'],
82
+ };
83
+ }
84
+
@@ -49,6 +49,7 @@ export * from './MigrationEstimationResponse.js';
49
49
  export * from './MigrationIssue.js';
50
50
  export * from './ModelError.js';
51
51
  export * from './Network.js';
52
+ export * from './OptimizationStatus.js';
52
53
  export * from './OsDiskEstimationEntry.js';
53
54
  export * from './OsInfo.js';
54
55
  export * from './PartnerRequest.js';
@@ -57,6 +58,7 @@ export * from './PartnerRequestStatus.js';
57
58
  export * from './PartnerRequestUpdate.js';
58
59
  export * from './PartnerSummary.js';
59
60
  export * from './PresignedUrl.js';
61
+ export * from './Savings.js';
60
62
  export * from './SchemaEstimationResult.js';
61
63
  export * from './SharingSubject.js';
62
64
  export * from './SizingOverCommitRatio.js';
package/src/runtime.ts CHANGED
@@ -369,7 +369,7 @@ export function mapValues(data: any, fn: (item: any) => any) {
369
369
 
370
370
  export function canConsumeForm(consumes: Consume[]): boolean {
371
371
  for (const consume of consumes) {
372
- if ('multipart/form-data' === consume.contentType) {
372
+ if (consume.contentType?.startsWith('multipart/form-data') == true) {
373
373
  return true;
374
374
  }
375
375
  }