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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +6 -2
  3. package/dist/apis/DefaultApi.d.ts +66 -0
  4. package/dist/apis/DefaultApi.js +75 -0
  5. package/dist/esm/apis/DefaultApi.d.ts +66 -0
  6. package/dist/esm/apis/DefaultApi.js +75 -0
  7. package/dist/esm/models/RightsizingClusterListResponse.d.ts +39 -0
  8. package/dist/esm/models/RightsizingClusterListResponse.js +48 -0
  9. package/dist/esm/models/RightsizingClusterUtilization.d.ts +106 -0
  10. package/dist/esm/models/RightsizingClusterUtilization.js +91 -0
  11. package/dist/esm/models/VmUtilizationDetails.d.ts +18 -0
  12. package/dist/esm/models/VmUtilizationDetails.js +12 -0
  13. package/dist/esm/models/index.d.ts +2 -0
  14. package/dist/esm/models/index.js +2 -0
  15. package/dist/models/RightsizingClusterListResponse.d.ts +39 -0
  16. package/dist/models/RightsizingClusterListResponse.js +55 -0
  17. package/dist/models/RightsizingClusterUtilization.d.ts +106 -0
  18. package/dist/models/RightsizingClusterUtilization.js +98 -0
  19. package/dist/models/VmUtilizationDetails.d.ts +18 -0
  20. package/dist/models/VmUtilizationDetails.js +12 -0
  21. package/dist/models/index.d.ts +2 -0
  22. package/dist/models/index.js +2 -0
  23. package/docs/DefaultApi.md +128 -0
  24. package/docs/RightsizingClusterListResponse.md +36 -0
  25. package/docs/RightsizingClusterUtilization.md +58 -0
  26. package/docs/VmUtilizationDetails.md +6 -0
  27. package/package.json +1 -1
  28. package/src/apis/DefaultApi.ts +135 -0
  29. package/src/models/RightsizingClusterListResponse.ts +83 -0
  30. package/src/models/RightsizingClusterUtilization.ts +176 -0
  31. package/src/models/VmUtilizationDetails.ts +27 -0
  32. package/src/models/index.ts +2 -0
@@ -17,7 +17,9 @@ All URIs are relative to *https://raw.githubusercontent.com/api/v1*
17
17
  | [**getInspectorStatus**](DefaultApi.md#getinspectorstatus) | **GET** /inspector | Get inspector status |
18
18
  | [**getInspectorVddkStatus**](DefaultApi.md#getinspectorvddkstatus) | **GET** /inspector/vddk | Get VDDK status |
19
19
  | [**getInventory**](DefaultApi.md#getinventory) | **GET** /inventory | Get collected inventory |
20
+ | [**getLatestRightsizingClusters**](DefaultApi.md#getlatestrightsizingclusters) | **GET** /cluster_rightsizing | Get cluster-level utilization aggregates for the latest completed report |
20
21
  | [**getRightsizingReport**](DefaultApi.md#getrightsizingreport) | **GET** /rightsizing/{id} | Get a specific rightsizing report with full VM metrics |
22
+ | [**getRightsizingReportClusters**](DefaultApi.md#getrightsizingreportclusters) | **GET** /cluster_rightsizing/{report_id} | Get cluster-level utilization aggregates for a specific report |
21
23
  | [**getVM**](DefaultApi.md#getvm) | **GET** /vms/{id} | Get details about a vm |
22
24
  | [**getVMUtilization**](DefaultApi.md#getvmutilization) | **GET** /vms/{id}/utilization | Get utilization breakdown for a specific VM |
23
25
  | [**getVMs**](DefaultApi.md#getvms) | **GET** /vms | Get list of VMs with filtering and pagination |
@@ -897,6 +899,65 @@ No authorization required
897
899
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
898
900
 
899
901
 
902
+ ## getLatestRightsizingClusters
903
+
904
+ > RightsizingClusterListResponse getLatestRightsizingClusters()
905
+
906
+ Get cluster-level utilization aggregates for the latest completed report
907
+
908
+ ### Example
909
+
910
+ ```ts
911
+ import {
912
+ Configuration,
913
+ DefaultApi,
914
+ } from '@openshift-migration-advisor/agent-sdk';
915
+ import type { GetLatestRightsizingClustersRequest } from '@openshift-migration-advisor/agent-sdk';
916
+
917
+ async function example() {
918
+ console.log("🚀 Testing @openshift-migration-advisor/agent-sdk SDK...");
919
+ const api = new DefaultApi();
920
+
921
+ try {
922
+ const data = await api.getLatestRightsizingClusters();
923
+ console.log(data);
924
+ } catch (error) {
925
+ console.error(error);
926
+ }
927
+ }
928
+
929
+ // Run the test
930
+ example().catch(console.error);
931
+ ```
932
+
933
+ ### Parameters
934
+
935
+ This endpoint does not need any parameter.
936
+
937
+ ### Return type
938
+
939
+ [**RightsizingClusterListResponse**](RightsizingClusterListResponse.md)
940
+
941
+ ### Authorization
942
+
943
+ No authorization required
944
+
945
+ ### HTTP request headers
946
+
947
+ - **Content-Type**: Not defined
948
+ - **Accept**: `application/json`
949
+
950
+
951
+ ### HTTP response details
952
+ | Status code | Description | Response headers |
953
+ |-------------|-------------|------------------|
954
+ | **200** | Cluster utilization aggregates | - |
955
+ | **404** | No completed rightsizing report found | - |
956
+ | **500** | Internal server error | - |
957
+
958
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
959
+
960
+
900
961
  ## getRightsizingReport
901
962
 
902
963
  > RightsizingReport getRightsizingReport(id)
@@ -964,6 +1025,73 @@ No authorization required
964
1025
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
965
1026
 
966
1027
 
1028
+ ## getRightsizingReportClusters
1029
+
1030
+ > RightsizingClusterListResponse getRightsizingReportClusters(reportId)
1031
+
1032
+ Get cluster-level utilization aggregates for a specific report
1033
+
1034
+ ### Example
1035
+
1036
+ ```ts
1037
+ import {
1038
+ Configuration,
1039
+ DefaultApi,
1040
+ } from '@openshift-migration-advisor/agent-sdk';
1041
+ import type { GetRightsizingReportClustersRequest } from '@openshift-migration-advisor/agent-sdk';
1042
+
1043
+ async function example() {
1044
+ console.log("🚀 Testing @openshift-migration-advisor/agent-sdk SDK...");
1045
+ const api = new DefaultApi();
1046
+
1047
+ const body = {
1048
+ // string | Rightsizing report UUID
1049
+ reportId: reportId_example,
1050
+ } satisfies GetRightsizingReportClustersRequest;
1051
+
1052
+ try {
1053
+ const data = await api.getRightsizingReportClusters(body);
1054
+ console.log(data);
1055
+ } catch (error) {
1056
+ console.error(error);
1057
+ }
1058
+ }
1059
+
1060
+ // Run the test
1061
+ example().catch(console.error);
1062
+ ```
1063
+
1064
+ ### Parameters
1065
+
1066
+
1067
+ | Name | Type | Description | Notes |
1068
+ |------------- | ------------- | ------------- | -------------|
1069
+ | **reportId** | `string` | Rightsizing report UUID | [Defaults to `undefined`] |
1070
+
1071
+ ### Return type
1072
+
1073
+ [**RightsizingClusterListResponse**](RightsizingClusterListResponse.md)
1074
+
1075
+ ### Authorization
1076
+
1077
+ No authorization required
1078
+
1079
+ ### HTTP request headers
1080
+
1081
+ - **Content-Type**: Not defined
1082
+ - **Accept**: `application/json`
1083
+
1084
+
1085
+ ### HTTP response details
1086
+ | Status code | Description | Response headers |
1087
+ |-------------|-------------|------------------|
1088
+ | **200** | Cluster utilization aggregates | - |
1089
+ | **404** | Report not found | - |
1090
+ | **500** | Internal server error | - |
1091
+
1092
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
1093
+
1094
+
967
1095
  ## getVM
968
1096
 
969
1097
  > VirtualMachineDetail getVM(id)
@@ -0,0 +1,36 @@
1
+
2
+ # RightsizingClusterListResponse
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `reportId` | string
10
+ `clusters` | [Array<RightsizingClusterUtilization>](RightsizingClusterUtilization.md)
11
+
12
+ ## Example
13
+
14
+ ```typescript
15
+ import type { RightsizingClusterListResponse } from '@openshift-migration-advisor/agent-sdk'
16
+
17
+ // TODO: Update the object below with actual values
18
+ const example = {
19
+ "reportId": null,
20
+ "clusters": null,
21
+ } satisfies RightsizingClusterListResponse
22
+
23
+ console.log(example)
24
+
25
+ // Convert the instance to a JSON string
26
+ const exampleJSON: string = JSON.stringify(example)
27
+ console.log(exampleJSON)
28
+
29
+ // Parse the JSON string back to an object
30
+ const exampleParsed = JSON.parse(exampleJSON) as RightsizingClusterListResponse
31
+ console.log(exampleParsed)
32
+ ```
33
+
34
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
35
+
36
+
@@ -0,0 +1,58 @@
1
+
2
+ # RightsizingClusterUtilization
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `clusterId` | string
10
+ `vmCount` | number
11
+ `cpuAvg` | number
12
+ `cpuP95` | number
13
+ `cpuMax` | number
14
+ `memAvg` | number
15
+ `memP95` | number
16
+ `memMax` | number
17
+ `disk` | number
18
+ `confidence` | number
19
+ `totalProvisionedCpus` | number
20
+ `totalProvisionedMemoryMb` | number
21
+ `totalProvisionedDiskKb` | number
22
+
23
+ ## Example
24
+
25
+ ```typescript
26
+ import type { RightsizingClusterUtilization } from '@openshift-migration-advisor/agent-sdk'
27
+
28
+ // TODO: Update the object below with actual values
29
+ const example = {
30
+ "clusterId": null,
31
+ "vmCount": null,
32
+ "cpuAvg": null,
33
+ "cpuP95": null,
34
+ "cpuMax": null,
35
+ "memAvg": null,
36
+ "memP95": null,
37
+ "memMax": null,
38
+ "disk": null,
39
+ "confidence": null,
40
+ "totalProvisionedCpus": null,
41
+ "totalProvisionedMemoryMb": null,
42
+ "totalProvisionedDiskKb": null,
43
+ } satisfies RightsizingClusterUtilization
44
+
45
+ console.log(example)
46
+
47
+ // Convert the instance to a JSON string
48
+ const exampleJSON: string = JSON.stringify(example)
49
+ console.log(exampleJSON)
50
+
51
+ // Parse the JSON string back to an object
52
+ const exampleParsed = JSON.parse(exampleJSON) as RightsizingClusterUtilization
53
+ console.log(exampleParsed)
54
+ ```
55
+
56
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
57
+
58
+
@@ -8,6 +8,9 @@ Name | Type
8
8
  ------------ | -------------
9
9
  `moid` | string
10
10
  `vmName` | string
11
+ `provisionedCpus` | number
12
+ `provisionedMemoryMb` | number
13
+ `provisionedDiskKb` | number
11
14
  `cpuAvg` | number
12
15
  `cpuP95` | number
13
16
  `cpuMax` | number
@@ -28,6 +31,9 @@ import type { VmUtilizationDetails } from '@openshift-migration-advisor/agent-sd
28
31
  const example = {
29
32
  "moid": null,
30
33
  "vmName": null,
34
+ "provisionedCpus": null,
35
+ "provisionedMemoryMb": null,
36
+ "provisionedDiskKb": null,
31
37
  "cpuAvg": null,
32
38
  "cpuP95": null,
33
39
  "cpuMax": null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openshift-migration-advisor/agent-sdk",
3
- "version": "0.12.0-1f1dc16fb9e5",
3
+ "version": "0.12.0-e6e9d25bdc36",
4
4
  "description": "OpenAPI client for @openshift-migration-advisor/agent-sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -108,6 +108,11 @@ import {
108
108
  PutForecasterCredentials403ResponseFromJSON,
109
109
  PutForecasterCredentials403ResponseToJSON,
110
110
  } from '../models/PutForecasterCredentials403Response.js';
111
+ import {
112
+ type RightsizingClusterListResponse,
113
+ RightsizingClusterListResponseFromJSON,
114
+ RightsizingClusterListResponseToJSON,
115
+ } from '../models/RightsizingClusterListResponse.js';
111
116
  import {
112
117
  type RightsizingCollectRequest,
113
118
  RightsizingCollectRequestFromJSON,
@@ -224,6 +229,10 @@ export interface GetRightsizingReportRequest {
224
229
  id: string;
225
230
  }
226
231
 
232
+ export interface GetRightsizingReportClustersRequest {
233
+ reportId: string;
234
+ }
235
+
227
236
  export interface GetVMRequest {
228
237
  id: string;
229
238
  }
@@ -606,6 +615,27 @@ export interface DefaultApiInterface {
606
615
  */
607
616
  getInventory(requestParameters: GetInventoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetInventory200Response>;
608
617
 
618
+ /**
619
+ * Creates request options for getLatestRightsizingClusters without sending the request
620
+ * @throws {RequiredError}
621
+ * @memberof DefaultApiInterface
622
+ */
623
+ getLatestRightsizingClustersRequestOpts(): Promise<runtime.RequestOpts>;
624
+
625
+ /**
626
+ *
627
+ * @summary Get cluster-level utilization aggregates for the latest completed report
628
+ * @param {*} [options] Override http request option.
629
+ * @throws {RequiredError}
630
+ * @memberof DefaultApiInterface
631
+ */
632
+ getLatestRightsizingClustersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>>;
633
+
634
+ /**
635
+ * Get cluster-level utilization aggregates for the latest completed report
636
+ */
637
+ getLatestRightsizingClusters(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse>;
638
+
609
639
  /**
610
640
  * Creates request options for getRightsizingReport without sending the request
611
641
  * @param {string} id Report UUID
@@ -629,6 +659,29 @@ export interface DefaultApiInterface {
629
659
  */
630
660
  getRightsizingReport(requestParameters: GetRightsizingReportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingReport>;
631
661
 
662
+ /**
663
+ * Creates request options for getRightsizingReportClusters without sending the request
664
+ * @param {string} reportId Rightsizing report UUID
665
+ * @throws {RequiredError}
666
+ * @memberof DefaultApiInterface
667
+ */
668
+ getRightsizingReportClustersRequestOpts(requestParameters: GetRightsizingReportClustersRequest): Promise<runtime.RequestOpts>;
669
+
670
+ /**
671
+ *
672
+ * @summary Get cluster-level utilization aggregates for a specific report
673
+ * @param {string} reportId Rightsizing report UUID
674
+ * @param {*} [options] Override http request option.
675
+ * @throws {RequiredError}
676
+ * @memberof DefaultApiInterface
677
+ */
678
+ getRightsizingReportClustersRaw(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>>;
679
+
680
+ /**
681
+ * Get cluster-level utilization aggregates for a specific report
682
+ */
683
+ getRightsizingReportClusters(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse>;
684
+
632
685
  /**
633
686
  * Creates request options for getVM without sending the request
634
687
  * @param {string} id VirtualMachine id
@@ -1693,6 +1746,43 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1693
1746
  return await response.value();
1694
1747
  }
1695
1748
 
1749
+ /**
1750
+ * Creates request options for getLatestRightsizingClusters without sending the request
1751
+ */
1752
+ async getLatestRightsizingClustersRequestOpts(): Promise<runtime.RequestOpts> {
1753
+ const queryParameters: any = {};
1754
+
1755
+ const headerParameters: runtime.HTTPHeaders = {};
1756
+
1757
+
1758
+ let urlPath = `/cluster_rightsizing`;
1759
+
1760
+ return {
1761
+ path: urlPath,
1762
+ method: 'GET',
1763
+ headers: headerParameters,
1764
+ query: queryParameters,
1765
+ };
1766
+ }
1767
+
1768
+ /**
1769
+ * Get cluster-level utilization aggregates for the latest completed report
1770
+ */
1771
+ async getLatestRightsizingClustersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>> {
1772
+ const requestOptions = await this.getLatestRightsizingClustersRequestOpts();
1773
+ const response = await this.request(requestOptions, initOverrides);
1774
+
1775
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
1776
+ }
1777
+
1778
+ /**
1779
+ * Get cluster-level utilization aggregates for the latest completed report
1780
+ */
1781
+ async getLatestRightsizingClusters(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse> {
1782
+ const response = await this.getLatestRightsizingClustersRaw(initOverrides);
1783
+ return await response.value();
1784
+ }
1785
+
1696
1786
  /**
1697
1787
  * Creates request options for getRightsizingReport without sending the request
1698
1788
  */
@@ -1738,6 +1828,51 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1738
1828
  return await response.value();
1739
1829
  }
1740
1830
 
1831
+ /**
1832
+ * Creates request options for getRightsizingReportClusters without sending the request
1833
+ */
1834
+ async getRightsizingReportClustersRequestOpts(requestParameters: GetRightsizingReportClustersRequest): Promise<runtime.RequestOpts> {
1835
+ if (requestParameters['reportId'] == null) {
1836
+ throw new runtime.RequiredError(
1837
+ 'reportId',
1838
+ 'Required parameter "reportId" was null or undefined when calling getRightsizingReportClusters().'
1839
+ );
1840
+ }
1841
+
1842
+ const queryParameters: any = {};
1843
+
1844
+ const headerParameters: runtime.HTTPHeaders = {};
1845
+
1846
+
1847
+ let urlPath = `/cluster_rightsizing/{report_id}`;
1848
+ urlPath = urlPath.replace('{report_id}', encodeURIComponent(String(requestParameters['reportId'])));
1849
+
1850
+ return {
1851
+ path: urlPath,
1852
+ method: 'GET',
1853
+ headers: headerParameters,
1854
+ query: queryParameters,
1855
+ };
1856
+ }
1857
+
1858
+ /**
1859
+ * Get cluster-level utilization aggregates for a specific report
1860
+ */
1861
+ async getRightsizingReportClustersRaw(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterListResponse>> {
1862
+ const requestOptions = await this.getRightsizingReportClustersRequestOpts(requestParameters);
1863
+ const response = await this.request(requestOptions, initOverrides);
1864
+
1865
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterListResponseFromJSON(jsonValue));
1866
+ }
1867
+
1868
+ /**
1869
+ * Get cluster-level utilization aggregates for a specific report
1870
+ */
1871
+ async getRightsizingReportClusters(requestParameters: GetRightsizingReportClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterListResponse> {
1872
+ const response = await this.getRightsizingReportClustersRaw(requestParameters, initOverrides);
1873
+ return await response.value();
1874
+ }
1875
+
1741
1876
  /**
1742
1877
  * Creates request options for getVM without sending the request
1743
1878
  */
@@ -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
+ import type { RightsizingClusterUtilization } from './RightsizingClusterUtilization.js';
17
+ import {
18
+ RightsizingClusterUtilizationFromJSON,
19
+ RightsizingClusterUtilizationFromJSONTyped,
20
+ RightsizingClusterUtilizationToJSON,
21
+ RightsizingClusterUtilizationToJSONTyped,
22
+ } from './RightsizingClusterUtilization.js';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface RightsizingClusterListResponse
28
+ */
29
+ export interface RightsizingClusterListResponse {
30
+ /**
31
+ * The report ID this data was aggregated from
32
+ * @type {string}
33
+ * @memberof RightsizingClusterListResponse
34
+ */
35
+ reportId: string;
36
+ /**
37
+ *
38
+ * @type {Array<RightsizingClusterUtilization>}
39
+ * @memberof RightsizingClusterListResponse
40
+ */
41
+ clusters: Array<RightsizingClusterUtilization>;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the RightsizingClusterListResponse interface.
46
+ */
47
+ export function instanceOfRightsizingClusterListResponse(value: object): value is RightsizingClusterListResponse {
48
+ if (!('reportId' in value) || value['reportId'] === undefined) return false;
49
+ if (!('clusters' in value) || value['clusters'] === undefined) return false;
50
+ return true;
51
+ }
52
+
53
+ export function RightsizingClusterListResponseFromJSON(json: any): RightsizingClusterListResponse {
54
+ return RightsizingClusterListResponseFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function RightsizingClusterListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RightsizingClusterListResponse {
58
+ if (json == null) {
59
+ return json;
60
+ }
61
+ return {
62
+
63
+ 'reportId': json['report_id'],
64
+ 'clusters': ((json['clusters'] as Array<any>).map(RightsizingClusterUtilizationFromJSON)),
65
+ };
66
+ }
67
+
68
+ export function RightsizingClusterListResponseToJSON(json: any): RightsizingClusterListResponse {
69
+ return RightsizingClusterListResponseToJSONTyped(json, false);
70
+ }
71
+
72
+ export function RightsizingClusterListResponseToJSONTyped(value?: RightsizingClusterListResponse | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'report_id': value['reportId'],
80
+ 'clusters': ((value['clusters'] as Array<any>).map(RightsizingClusterUtilizationToJSON)),
81
+ };
82
+ }
83
+