@openshift-migration-advisor/planner-sdk 0.13.7 → 0.14.0-21224f1f74cf

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 (48) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +4 -2
  3. package/dist/esm/models/ClusterRequirementsResponse.d.ts +20 -0
  4. package/dist/esm/models/ClusterRequirementsResponse.js +8 -0
  5. package/dist/esm/models/ClusterRequirementsStoredInput.d.ts +1 -0
  6. package/dist/esm/models/ClusterRequirementsStoredInput.js +2 -1
  7. package/dist/esm/models/ClusterSizing.d.ts +18 -0
  8. package/dist/esm/models/ClusterSizing.js +6 -0
  9. package/dist/esm/models/CpuOverCommitRatio.d.ts +1 -0
  10. package/dist/esm/models/CpuOverCommitRatio.js +2 -1
  11. package/dist/esm/models/OptimizationStatus.d.ts +48 -0
  12. package/dist/esm/models/OptimizationStatus.js +56 -0
  13. package/dist/esm/models/Savings.d.ts +44 -0
  14. package/dist/esm/models/Savings.js +51 -0
  15. package/dist/esm/models/Source.d.ts +14 -0
  16. package/dist/esm/models/Source.js +9 -0
  17. package/dist/esm/models/index.d.ts +2 -0
  18. package/dist/esm/models/index.js +2 -0
  19. package/dist/models/ClusterRequirementsResponse.d.ts +20 -0
  20. package/dist/models/ClusterRequirementsResponse.js +8 -0
  21. package/dist/models/ClusterRequirementsStoredInput.d.ts +1 -0
  22. package/dist/models/ClusterRequirementsStoredInput.js +2 -1
  23. package/dist/models/ClusterSizing.d.ts +18 -0
  24. package/dist/models/ClusterSizing.js +6 -0
  25. package/dist/models/CpuOverCommitRatio.d.ts +1 -0
  26. package/dist/models/CpuOverCommitRatio.js +2 -1
  27. package/dist/models/OptimizationStatus.d.ts +48 -0
  28. package/dist/models/OptimizationStatus.js +64 -0
  29. package/dist/models/Savings.d.ts +44 -0
  30. package/dist/models/Savings.js +58 -0
  31. package/dist/models/Source.d.ts +14 -0
  32. package/dist/models/Source.js +10 -0
  33. package/dist/models/index.d.ts +2 -0
  34. package/dist/models/index.js +2 -0
  35. package/docs/ClusterRequirementsResponse.md +6 -0
  36. package/docs/ClusterSizing.md +6 -0
  37. package/docs/OptimizationStatus.md +37 -0
  38. package/docs/Savings.md +39 -0
  39. package/docs/Source.md +2 -0
  40. package/package.json +1 -1
  41. package/src/models/ClusterRequirementsResponse.ts +38 -0
  42. package/src/models/ClusterRequirementsStoredInput.ts +2 -1
  43. package/src/models/ClusterSizing.ts +24 -0
  44. package/src/models/CpuOverCommitRatio.ts +2 -1
  45. package/src/models/OptimizationStatus.ts +88 -0
  46. package/src/models/Savings.ts +84 -0
  47. package/src/models/Source.ts +19 -0
  48. package/src/models/index.ts +2 -0
@@ -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
+ }
@@ -85,7 +85,21 @@ export interface Source {
85
85
  * @memberof Source
86
86
  */
87
87
  agentVersionWarning?: string | null;
88
+ /**
89
+ * Indicates whether the inventory was updated automatically by an agent or manually by a user
90
+ * @type {SourceUpdateTypeEnum}
91
+ * @memberof Source
92
+ */
93
+ updateType?: SourceUpdateTypeEnum;
88
94
  }
95
+ /**
96
+ * @export
97
+ */
98
+ export declare const SourceUpdateTypeEnum: {
99
+ readonly Auto: "auto";
100
+ readonly Manual: "manual";
101
+ };
102
+ export type SourceUpdateTypeEnum = typeof SourceUpdateTypeEnum[keyof typeof SourceUpdateTypeEnum];
89
103
  /**
90
104
  * Check if a given object implements the Source interface.
91
105
  */
@@ -13,6 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SourceUpdateTypeEnum = void 0;
16
17
  exports.instanceOfSource = instanceOfSource;
17
18
  exports.SourceFromJSON = SourceFromJSON;
18
19
  exports.SourceFromJSONTyped = SourceFromJSONTyped;
@@ -22,6 +23,13 @@ const SourceInfra_js_1 = require("./SourceInfra.js");
22
23
  const Agent_js_1 = require("./Agent.js");
23
24
  const Label_js_1 = require("./Label.js");
24
25
  const Inventory_js_1 = require("./Inventory.js");
26
+ /**
27
+ * @export
28
+ */
29
+ exports.SourceUpdateTypeEnum = {
30
+ Auto: 'auto',
31
+ Manual: 'manual'
32
+ };
25
33
  /**
26
34
  * Check if a given object implements the Source interface.
27
35
  */
@@ -57,6 +65,7 @@ function SourceFromJSONTyped(json, ignoreDiscriminator) {
57
65
  'infra': json['infra'] == null ? undefined : (0, SourceInfra_js_1.SourceInfraFromJSON)(json['infra']),
58
66
  'agentVersion': json['agentVersion'] == null ? undefined : json['agentVersion'],
59
67
  'agentVersionWarning': json['agentVersionWarning'] == null ? undefined : json['agentVersionWarning'],
68
+ 'updateType': json['updateType'] == null ? undefined : json['updateType'],
60
69
  };
61
70
  }
62
71
  function SourceToJSON(json) {
@@ -78,5 +87,6 @@ function SourceToJSONTyped(value, ignoreDiscriminator = false) {
78
87
  'infra': (0, SourceInfra_js_1.SourceInfraToJSON)(value['infra']),
79
88
  'agentVersion': value['agentVersion'],
80
89
  'agentVersionWarning': value['agentVersionWarning'],
90
+ 'updateType': value['updateType'],
81
91
  };
82
92
  }
@@ -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);
@@ -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/docs/Source.md CHANGED
@@ -17,6 +17,7 @@ Name | Type
17
17
  `infra` | [SourceInfra](SourceInfra.md)
18
18
  `agentVersion` | string
19
19
  `agentVersionWarning` | string
20
+ `updateType` | string
20
21
 
21
22
  ## Example
22
23
 
@@ -36,6 +37,7 @@ const example = {
36
37
  "infra": null,
37
38
  "agentVersion": null,
38
39
  "agentVersionWarning": null,
40
+ "updateType": null,
39
41
  } satisfies Source
40
42
 
41
43
  console.log(example)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openshift-migration-advisor/planner-sdk",
3
- "version": "0.13.7",
3
+ "version": "0.14.0-21224f1f74cf",
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
  };
@@ -95,7 +95,8 @@ export const ClusterRequirementsStoredInputCpuOverCommitRatioEnum = {
95
95
  _11: '1:1',
96
96
  _12: '1:2',
97
97
  _14: '1:4',
98
- _16: '1:6'
98
+ _16: '1:6',
99
+ _18: '1:8'
99
100
  } as const;
100
101
  export type ClusterRequirementsStoredInputCpuOverCommitRatioEnum = typeof ClusterRequirementsStoredInputCpuOverCommitRatioEnum[keyof typeof ClusterRequirementsStoredInputCpuOverCommitRatioEnum];
101
102
 
@@ -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
 
@@ -21,7 +21,8 @@ export const CpuOverCommitRatio = {
21
21
  CpuOneToOne: '1:1',
22
22
  CpuOneToTwo: '1:2',
23
23
  CpuOneToFour: '1:4',
24
- CpuOneToSix: '1:6'
24
+ CpuOneToSix: '1:6',
25
+ CpuOneToEight: '1:8'
25
26
  } as const;
26
27
  export type CpuOverCommitRatio = typeof CpuOverCommitRatio[keyof typeof CpuOverCommitRatio];
27
28
 
@@ -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
+