@openshift-migration-advisor/agent-sdk 0.12.0-645d2fae3eee → 0.12.0-a3d6bdc8bce2
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.
- package/.openapi-generator/FILES +4 -0
- package/README.md +5 -2
- package/dist/apis/DefaultApi.d.ts +31 -0
- package/dist/apis/DefaultApi.js +36 -0
- package/dist/esm/apis/DefaultApi.d.ts +31 -0
- package/dist/esm/apis/DefaultApi.js +36 -0
- package/dist/esm/models/ClusterUtilization.d.ts +68 -0
- package/dist/esm/models/ClusterUtilization.js +67 -0
- package/dist/esm/models/CreateGroupRequest.d.ts +0 -6
- package/dist/esm/models/CreateGroupRequest.js +0 -2
- package/dist/esm/models/Group.d.ts +0 -6
- package/dist/esm/models/Group.js +0 -2
- package/dist/esm/models/GroupResponse.d.ts +7 -0
- package/dist/esm/models/GroupResponse.js +3 -0
- package/dist/esm/models/InventoryData.d.ts +7 -0
- package/dist/esm/models/InventoryData.js +3 -0
- package/dist/esm/models/UpdateGroupRequest.d.ts +0 -6
- package/dist/esm/models/UpdateGroupRequest.js +0 -2
- package/dist/esm/models/VMFilterOptionsResponse.d.ts +50 -0
- package/dist/esm/models/VMFilterOptionsResponse.js +55 -0
- package/dist/esm/models/VirtualMachine.d.ts +2 -2
- package/dist/esm/models/VirtualMachine.js +2 -2
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/models/ClusterUtilization.d.ts +68 -0
- package/dist/models/ClusterUtilization.js +74 -0
- package/dist/models/CreateGroupRequest.d.ts +0 -6
- package/dist/models/CreateGroupRequest.js +0 -2
- package/dist/models/Group.d.ts +0 -6
- package/dist/models/Group.js +0 -2
- package/dist/models/GroupResponse.d.ts +7 -0
- package/dist/models/GroupResponse.js +3 -0
- package/dist/models/InventoryData.d.ts +7 -0
- package/dist/models/InventoryData.js +3 -0
- package/dist/models/UpdateGroupRequest.d.ts +0 -6
- package/dist/models/UpdateGroupRequest.js +0 -2
- package/dist/models/VMFilterOptionsResponse.d.ts +50 -0
- package/dist/models/VMFilterOptionsResponse.js +62 -0
- package/dist/models/VirtualMachine.d.ts +2 -2
- package/dist/models/VirtualMachine.js +2 -2
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +2 -0
- package/docs/ClusterUtilization.md +46 -0
- package/docs/CreateGroupRequest.md +0 -2
- package/docs/DefaultApi.md +59 -0
- package/docs/Group.md +0 -2
- package/docs/GroupResponse.md +2 -0
- package/docs/InventoryData.md +2 -0
- package/docs/UpdateGroupRequest.md +0 -2
- package/docs/VMFilterOptionsResponse.md +40 -0
- package/docs/VirtualMachine.md +2 -2
- package/package.json +1 -1
- package/src/apis/DefaultApi.ts +63 -0
- package/src/models/ClusterUtilization.ts +120 -0
- package/src/models/CreateGroupRequest.ts +0 -8
- package/src/models/Group.ts +0 -8
- package/src/models/GroupResponse.ts +15 -0
- package/src/models/InventoryData.ts +15 -0
- package/src/models/UpdateGroupRequest.ts +0 -8
- package/src/models/VMFilterOptionsResponse.ts +93 -0
- package/src/models/VirtualMachine.ts +4 -4
- package/src/models/index.ts +2 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
|
|
2
|
+
# ClusterUtilization
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`cpu_avg` | number
|
|
10
|
+
`cpu_p95` | number
|
|
11
|
+
`cpu_max` | number
|
|
12
|
+
`mem_avg` | number
|
|
13
|
+
`mem_p95` | number
|
|
14
|
+
`mem_max` | number
|
|
15
|
+
`confidence` | number
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import type { ClusterUtilization } from '@openshift-migration-advisor/agent-sdk'
|
|
21
|
+
|
|
22
|
+
// TODO: Update the object below with actual values
|
|
23
|
+
const example = {
|
|
24
|
+
"cpu_avg": null,
|
|
25
|
+
"cpu_p95": null,
|
|
26
|
+
"cpu_max": null,
|
|
27
|
+
"mem_avg": null,
|
|
28
|
+
"mem_p95": null,
|
|
29
|
+
"mem_max": null,
|
|
30
|
+
"confidence": null,
|
|
31
|
+
} satisfies ClusterUtilization
|
|
32
|
+
|
|
33
|
+
console.log(example)
|
|
34
|
+
|
|
35
|
+
// Convert the instance to a JSON string
|
|
36
|
+
const exampleJSON: string = JSON.stringify(example)
|
|
37
|
+
console.log(exampleJSON)
|
|
38
|
+
|
|
39
|
+
// Parse the JSON string back to an object
|
|
40
|
+
const exampleParsed = JSON.parse(exampleJSON) as ClusterUtilization
|
|
41
|
+
console.log(exampleParsed)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
45
|
+
|
|
46
|
+
|
|
@@ -9,7 +9,6 @@ Name | Type
|
|
|
9
9
|
`name` | string
|
|
10
10
|
`description` | string
|
|
11
11
|
`filter` | string
|
|
12
|
-
`tags` | Array<string>
|
|
13
12
|
|
|
14
13
|
## Example
|
|
15
14
|
|
|
@@ -21,7 +20,6 @@ const example = {
|
|
|
21
20
|
"name": null,
|
|
22
21
|
"description": null,
|
|
23
22
|
"filter": null,
|
|
24
|
-
"tags": null,
|
|
25
23
|
} satisfies CreateGroupRequest
|
|
26
24
|
|
|
27
25
|
console.log(example)
|
package/docs/DefaultApi.md
CHANGED
|
@@ -26,6 +26,7 @@ All URIs are relative to *https://raw.githubusercontent.com/api/v1*
|
|
|
26
26
|
| [**getVMLabels**](DefaultApi.md#getvmlabels) | **GET** /vms/labels | Get all distinct labels in use across VMs |
|
|
27
27
|
| [**getVMUtilization**](DefaultApi.md#getvmutilization) | **GET** /vms/{id}/utilization | Get utilization breakdown for a specific VM |
|
|
28
28
|
| [**getVMs**](DefaultApi.md#getvms) | **GET** /vms | Get list of VMs with filtering and pagination |
|
|
29
|
+
| [**getVMsFilterOptions**](DefaultApi.md#getvmsfilteroptions) | **GET** /vms/filter-options | Get distinct filter option values for VMs |
|
|
29
30
|
| [**getVersion**](DefaultApi.md#getversion) | **GET** /version | Get agent version information |
|
|
30
31
|
| [**listGroups**](DefaultApi.md#listgroups) | **GET** /groups | List all groups |
|
|
31
32
|
| [**listRightsizingReportClusters**](DefaultApi.md#listrightsizingreportclusters) | **GET** /rightsizing/{report_id}/clusters | Get cluster-level utilization aggregates for a specific report |
|
|
@@ -1511,6 +1512,64 @@ No authorization required
|
|
|
1511
1512
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1512
1513
|
|
|
1513
1514
|
|
|
1515
|
+
## getVMsFilterOptions
|
|
1516
|
+
|
|
1517
|
+
> VMFilterOptionsResponse getVMsFilterOptions()
|
|
1518
|
+
|
|
1519
|
+
Get distinct filter option values for VMs
|
|
1520
|
+
|
|
1521
|
+
### Example
|
|
1522
|
+
|
|
1523
|
+
```ts
|
|
1524
|
+
import {
|
|
1525
|
+
Configuration,
|
|
1526
|
+
DefaultApi,
|
|
1527
|
+
} from '@openshift-migration-advisor/agent-sdk';
|
|
1528
|
+
import type { GetVMsFilterOptionsRequest } from '@openshift-migration-advisor/agent-sdk';
|
|
1529
|
+
|
|
1530
|
+
async function example() {
|
|
1531
|
+
console.log("🚀 Testing @openshift-migration-advisor/agent-sdk SDK...");
|
|
1532
|
+
const api = new DefaultApi();
|
|
1533
|
+
|
|
1534
|
+
try {
|
|
1535
|
+
const data = await api.getVMsFilterOptions();
|
|
1536
|
+
console.log(data);
|
|
1537
|
+
} catch (error) {
|
|
1538
|
+
console.error(error);
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
// Run the test
|
|
1543
|
+
example().catch(console.error);
|
|
1544
|
+
```
|
|
1545
|
+
|
|
1546
|
+
### Parameters
|
|
1547
|
+
|
|
1548
|
+
This endpoint does not need any parameter.
|
|
1549
|
+
|
|
1550
|
+
### Return type
|
|
1551
|
+
|
|
1552
|
+
[**VMFilterOptionsResponse**](VMFilterOptionsResponse.md)
|
|
1553
|
+
|
|
1554
|
+
### Authorization
|
|
1555
|
+
|
|
1556
|
+
No authorization required
|
|
1557
|
+
|
|
1558
|
+
### HTTP request headers
|
|
1559
|
+
|
|
1560
|
+
- **Content-Type**: Not defined
|
|
1561
|
+
- **Accept**: `application/json`
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
### HTTP response details
|
|
1565
|
+
| Status code | Description | Response headers |
|
|
1566
|
+
|-------------|-------------|------------------|
|
|
1567
|
+
| **200** | Filter options | - |
|
|
1568
|
+
| **500** | Internal server error | - |
|
|
1569
|
+
|
|
1570
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1571
|
+
|
|
1572
|
+
|
|
1514
1573
|
## getVersion
|
|
1515
1574
|
|
|
1516
1575
|
> VersionInfo getVersion()
|
package/docs/Group.md
CHANGED
|
@@ -10,7 +10,6 @@ Name | Type
|
|
|
10
10
|
`name` | string
|
|
11
11
|
`description` | string
|
|
12
12
|
`filter` | string
|
|
13
|
-
`tags` | Array<string>
|
|
14
13
|
`createdAt` | Date
|
|
15
14
|
`updatedAt` | Date
|
|
16
15
|
|
|
@@ -25,7 +24,6 @@ const example = {
|
|
|
25
24
|
"name": null,
|
|
26
25
|
"description": null,
|
|
27
26
|
"filter": memory >= 8GB and cluster = 'prod',
|
|
28
|
-
"tags": ["production","critical"],
|
|
29
27
|
"createdAt": null,
|
|
30
28
|
"updatedAt": null,
|
|
31
29
|
} satisfies Group
|
package/docs/GroupResponse.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
Name | Type
|
|
8
8
|
------------ | -------------
|
|
9
9
|
`group` | [Group](Group.md)
|
|
10
|
+
`inventory` | [Inventory](Inventory.md)
|
|
10
11
|
`vms` | [Array<VirtualMachine>](VirtualMachine.md)
|
|
11
12
|
`total` | number
|
|
12
13
|
`page` | number
|
|
@@ -20,6 +21,7 @@ import type { GroupResponse } from '@openshift-migration-advisor/agent-sdk'
|
|
|
20
21
|
// TODO: Update the object below with actual values
|
|
21
22
|
const example = {
|
|
22
23
|
"group": null,
|
|
24
|
+
"inventory": null,
|
|
23
25
|
"vms": null,
|
|
24
26
|
"total": null,
|
|
25
27
|
"page": null,
|
package/docs/InventoryData.md
CHANGED
|
@@ -8,6 +8,7 @@ Name | Type
|
|
|
8
8
|
------------ | -------------
|
|
9
9
|
`vcenter` | [VCenter](VCenter.md)
|
|
10
10
|
`clusterFeatures` | [ClusterFeatures](ClusterFeatures.md)
|
|
11
|
+
`clusterUtilization` | [ClusterUtilization](ClusterUtilization.md)
|
|
11
12
|
`vms` | [VMs](VMs.md)
|
|
12
13
|
`infra` | [Infra](Infra.md)
|
|
13
14
|
|
|
@@ -20,6 +21,7 @@ import type { InventoryData } from '@openshift-migration-advisor/agent-sdk'
|
|
|
20
21
|
const example = {
|
|
21
22
|
"vcenter": null,
|
|
22
23
|
"clusterFeatures": null,
|
|
24
|
+
"clusterUtilization": null,
|
|
23
25
|
"vms": null,
|
|
24
26
|
"infra": null,
|
|
25
27
|
} satisfies InventoryData
|
|
@@ -9,7 +9,6 @@ Name | Type
|
|
|
9
9
|
`name` | string
|
|
10
10
|
`description` | string
|
|
11
11
|
`filter` | string
|
|
12
|
-
`tags` | Array<string>
|
|
13
12
|
|
|
14
13
|
## Example
|
|
15
14
|
|
|
@@ -21,7 +20,6 @@ const example = {
|
|
|
21
20
|
"name": null,
|
|
22
21
|
"description": null,
|
|
23
22
|
"filter": null,
|
|
24
|
-
"tags": null,
|
|
25
23
|
} satisfies UpdateGroupRequest
|
|
26
24
|
|
|
27
25
|
console.log(example)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
# VMFilterOptionsResponse
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type
|
|
8
|
+
------------ | -------------
|
|
9
|
+
`clusters` | Array<string>
|
|
10
|
+
`datacenters` | Array<string>
|
|
11
|
+
`concernLabels` | Array<string>
|
|
12
|
+
`concernCategories` | Array<string>
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import type { VMFilterOptionsResponse } from '@openshift-migration-advisor/agent-sdk'
|
|
18
|
+
|
|
19
|
+
// TODO: Update the object below with actual values
|
|
20
|
+
const example = {
|
|
21
|
+
"clusters": null,
|
|
22
|
+
"datacenters": null,
|
|
23
|
+
"concernLabels": null,
|
|
24
|
+
"concernCategories": null,
|
|
25
|
+
} satisfies VMFilterOptionsResponse
|
|
26
|
+
|
|
27
|
+
console.log(example)
|
|
28
|
+
|
|
29
|
+
// Convert the instance to a JSON string
|
|
30
|
+
const exampleJSON: string = JSON.stringify(example)
|
|
31
|
+
console.log(exampleJSON)
|
|
32
|
+
|
|
33
|
+
// Parse the JSON string back to an object
|
|
34
|
+
const exampleParsed = JSON.parse(exampleJSON) as VMFilterOptionsResponse
|
|
35
|
+
console.log(exampleParsed)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
39
|
+
|
|
40
|
+
|
package/docs/VirtualMachine.md
CHANGED
|
@@ -19,7 +19,7 @@ Name | Type
|
|
|
19
19
|
`migrationExcluded` | boolean
|
|
20
20
|
`inspectionStatus` | [VmInspectionStatus](VmInspectionStatus.md)
|
|
21
21
|
`inspectionConcernCount` | number
|
|
22
|
-
`
|
|
22
|
+
`groups` | Array<string>
|
|
23
23
|
`labels` | Array<string>
|
|
24
24
|
`utilization_cpu_p95` | number
|
|
25
25
|
`utilization_mem_p95` | number
|
|
@@ -46,7 +46,7 @@ const example = {
|
|
|
46
46
|
"migrationExcluded": null,
|
|
47
47
|
"inspectionStatus": null,
|
|
48
48
|
"inspectionConcernCount": null,
|
|
49
|
-
"
|
|
49
|
+
"groups": null,
|
|
50
50
|
"labels": null,
|
|
51
51
|
"utilization_cpu_p95": null,
|
|
52
52
|
"utilization_mem_p95": null,
|
package/package.json
CHANGED
package/src/apis/DefaultApi.ts
CHANGED
|
@@ -163,6 +163,11 @@ import {
|
|
|
163
163
|
UpdateLabelVMsRequestFromJSON,
|
|
164
164
|
UpdateLabelVMsRequestToJSON,
|
|
165
165
|
} from '../models/UpdateLabelVMsRequest.js';
|
|
166
|
+
import {
|
|
167
|
+
type VMFilterOptionsResponse,
|
|
168
|
+
VMFilterOptionsResponseFromJSON,
|
|
169
|
+
VMFilterOptionsResponseToJSON,
|
|
170
|
+
} from '../models/VMFilterOptionsResponse.js';
|
|
166
171
|
import {
|
|
167
172
|
type VMLabelsResponse,
|
|
168
173
|
VMLabelsResponseFromJSON,
|
|
@@ -887,6 +892,27 @@ export interface DefaultApiInterface {
|
|
|
887
892
|
*/
|
|
888
893
|
getVMs(requestParameters: GetVMsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineListResponse>;
|
|
889
894
|
|
|
895
|
+
/**
|
|
896
|
+
* Creates request options for getVMsFilterOptions without sending the request
|
|
897
|
+
* @throws {RequiredError}
|
|
898
|
+
* @memberof DefaultApiInterface
|
|
899
|
+
*/
|
|
900
|
+
getVMsFilterOptionsRequestOpts(): Promise<runtime.RequestOpts>;
|
|
901
|
+
|
|
902
|
+
/**
|
|
903
|
+
*
|
|
904
|
+
* @summary Get distinct filter option values for VMs
|
|
905
|
+
* @param {*} [options] Override http request option.
|
|
906
|
+
* @throws {RequiredError}
|
|
907
|
+
* @memberof DefaultApiInterface
|
|
908
|
+
*/
|
|
909
|
+
getVMsFilterOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VMFilterOptionsResponse>>;
|
|
910
|
+
|
|
911
|
+
/**
|
|
912
|
+
* Get distinct filter option values for VMs
|
|
913
|
+
*/
|
|
914
|
+
getVMsFilterOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VMFilterOptionsResponse>;
|
|
915
|
+
|
|
890
916
|
/**
|
|
891
917
|
* Creates request options for getVersion without sending the request
|
|
892
918
|
* @throws {RequiredError}
|
|
@@ -2366,6 +2392,43 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
|
|
|
2366
2392
|
return await response.value();
|
|
2367
2393
|
}
|
|
2368
2394
|
|
|
2395
|
+
/**
|
|
2396
|
+
* Creates request options for getVMsFilterOptions without sending the request
|
|
2397
|
+
*/
|
|
2398
|
+
async getVMsFilterOptionsRequestOpts(): Promise<runtime.RequestOpts> {
|
|
2399
|
+
const queryParameters: any = {};
|
|
2400
|
+
|
|
2401
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
2402
|
+
|
|
2403
|
+
|
|
2404
|
+
let urlPath = `/vms/filter-options`;
|
|
2405
|
+
|
|
2406
|
+
return {
|
|
2407
|
+
path: urlPath,
|
|
2408
|
+
method: 'GET',
|
|
2409
|
+
headers: headerParameters,
|
|
2410
|
+
query: queryParameters,
|
|
2411
|
+
};
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
/**
|
|
2415
|
+
* Get distinct filter option values for VMs
|
|
2416
|
+
*/
|
|
2417
|
+
async getVMsFilterOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VMFilterOptionsResponse>> {
|
|
2418
|
+
const requestOptions = await this.getVMsFilterOptionsRequestOpts();
|
|
2419
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
2420
|
+
|
|
2421
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => VMFilterOptionsResponseFromJSON(jsonValue));
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
/**
|
|
2425
|
+
* Get distinct filter option values for VMs
|
|
2426
|
+
*/
|
|
2427
|
+
async getVMsFilterOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VMFilterOptionsResponse> {
|
|
2428
|
+
const response = await this.getVMsFilterOptionsRaw(initOverrides);
|
|
2429
|
+
return await response.value();
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2369
2432
|
/**
|
|
2370
2433
|
* Creates request options for getVersion without sending the request
|
|
2371
2434
|
*/
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Assisted Migration Agent API
|
|
5
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: v1
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime.js';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @interface ClusterUtilization
|
|
20
|
+
*/
|
|
21
|
+
export interface ClusterUtilization {
|
|
22
|
+
/**
|
|
23
|
+
* Average CPU utilization percentage (0-100)
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @memberof ClusterUtilization
|
|
26
|
+
*/
|
|
27
|
+
cpu_avg: number;
|
|
28
|
+
/**
|
|
29
|
+
* 95th percentile CPU utilization percentage (0-100)
|
|
30
|
+
* @type {number}
|
|
31
|
+
* @memberof ClusterUtilization
|
|
32
|
+
*/
|
|
33
|
+
cpu_p95: number;
|
|
34
|
+
/**
|
|
35
|
+
* Maximum CPU utilization percentage (0-100)
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @memberof ClusterUtilization
|
|
38
|
+
*/
|
|
39
|
+
cpu_max: number;
|
|
40
|
+
/**
|
|
41
|
+
* Average memory utilization percentage (0-100)
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @memberof ClusterUtilization
|
|
44
|
+
*/
|
|
45
|
+
mem_avg: number;
|
|
46
|
+
/**
|
|
47
|
+
* 95th percentile memory utilization percentage (0-100)
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof ClusterUtilization
|
|
50
|
+
*/
|
|
51
|
+
mem_p95: number;
|
|
52
|
+
/**
|
|
53
|
+
* Maximum memory utilization percentage (0-100)
|
|
54
|
+
* @type {number}
|
|
55
|
+
* @memberof ClusterUtilization
|
|
56
|
+
*/
|
|
57
|
+
mem_max: number;
|
|
58
|
+
/**
|
|
59
|
+
* Data coverage confidence percentage (0-100), calculated as vCPU-weighted coverage
|
|
60
|
+
* @type {number}
|
|
61
|
+
* @memberof ClusterUtilization
|
|
62
|
+
*/
|
|
63
|
+
confidence: number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Check if a given object implements the ClusterUtilization interface.
|
|
68
|
+
*/
|
|
69
|
+
export function instanceOfClusterUtilization(value: object): value is ClusterUtilization {
|
|
70
|
+
if (!('cpu_avg' in value) || value['cpu_avg'] === undefined) return false;
|
|
71
|
+
if (!('cpu_p95' in value) || value['cpu_p95'] === undefined) return false;
|
|
72
|
+
if (!('cpu_max' in value) || value['cpu_max'] === undefined) return false;
|
|
73
|
+
if (!('mem_avg' in value) || value['mem_avg'] === undefined) return false;
|
|
74
|
+
if (!('mem_p95' in value) || value['mem_p95'] === undefined) return false;
|
|
75
|
+
if (!('mem_max' in value) || value['mem_max'] === undefined) return false;
|
|
76
|
+
if (!('confidence' in value) || value['confidence'] === undefined) return false;
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export function ClusterUtilizationFromJSON(json: any): ClusterUtilization {
|
|
81
|
+
return ClusterUtilizationFromJSONTyped(json, false);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function ClusterUtilizationFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClusterUtilization {
|
|
85
|
+
if (json == null) {
|
|
86
|
+
return json;
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
|
|
90
|
+
'cpu_avg': json['cpu_avg'],
|
|
91
|
+
'cpu_p95': json['cpu_p95'],
|
|
92
|
+
'cpu_max': json['cpu_max'],
|
|
93
|
+
'mem_avg': json['mem_avg'],
|
|
94
|
+
'mem_p95': json['mem_p95'],
|
|
95
|
+
'mem_max': json['mem_max'],
|
|
96
|
+
'confidence': json['confidence'],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export function ClusterUtilizationToJSON(json: any): ClusterUtilization {
|
|
101
|
+
return ClusterUtilizationToJSONTyped(json, false);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function ClusterUtilizationToJSONTyped(value?: ClusterUtilization | null, ignoreDiscriminator: boolean = false): any {
|
|
105
|
+
if (value == null) {
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return {
|
|
110
|
+
|
|
111
|
+
'cpu_avg': value['cpu_avg'],
|
|
112
|
+
'cpu_p95': value['cpu_p95'],
|
|
113
|
+
'cpu_max': value['cpu_max'],
|
|
114
|
+
'mem_avg': value['mem_avg'],
|
|
115
|
+
'mem_p95': value['mem_p95'],
|
|
116
|
+
'mem_max': value['mem_max'],
|
|
117
|
+
'confidence': value['confidence'],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
@@ -37,12 +37,6 @@ export interface CreateGroupRequest {
|
|
|
37
37
|
* @memberof CreateGroupRequest
|
|
38
38
|
*/
|
|
39
39
|
filter: string;
|
|
40
|
-
/**
|
|
41
|
-
* Tags to apply to matching VMs (only alphanumeric, underscore, and dot allowed)
|
|
42
|
-
* @type {Array<string>}
|
|
43
|
-
* @memberof CreateGroupRequest
|
|
44
|
-
*/
|
|
45
|
-
tags?: Array<string>;
|
|
46
40
|
}
|
|
47
41
|
|
|
48
42
|
/**
|
|
@@ -67,7 +61,6 @@ export function CreateGroupRequestFromJSONTyped(json: any, ignoreDiscriminator:
|
|
|
67
61
|
'name': json['name'],
|
|
68
62
|
'description': json['description'] == null ? undefined : json['description'],
|
|
69
63
|
'filter': json['filter'],
|
|
70
|
-
'tags': json['tags'] == null ? undefined : json['tags'],
|
|
71
64
|
};
|
|
72
65
|
}
|
|
73
66
|
|
|
@@ -85,7 +78,6 @@ export function CreateGroupRequestToJSONTyped(value?: CreateGroupRequest | null,
|
|
|
85
78
|
'name': value['name'],
|
|
86
79
|
'description': value['description'],
|
|
87
80
|
'filter': value['filter'],
|
|
88
|
-
'tags': value['tags'],
|
|
89
81
|
};
|
|
90
82
|
}
|
|
91
83
|
|
package/src/models/Group.ts
CHANGED
|
@@ -43,12 +43,6 @@ export interface Group {
|
|
|
43
43
|
* @memberof Group
|
|
44
44
|
*/
|
|
45
45
|
filter: string;
|
|
46
|
-
/**
|
|
47
|
-
* Tags associated with this group (applied to matching VMs)
|
|
48
|
-
* @type {Array<string>}
|
|
49
|
-
* @memberof Group
|
|
50
|
-
*/
|
|
51
|
-
tags?: Array<string>;
|
|
52
46
|
/**
|
|
53
47
|
* Timestamp when the group was created
|
|
54
48
|
* @type {Date}
|
|
@@ -87,7 +81,6 @@ export function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Gro
|
|
|
87
81
|
'name': json['name'],
|
|
88
82
|
'description': json['description'] == null ? undefined : json['description'],
|
|
89
83
|
'filter': json['filter'],
|
|
90
|
-
'tags': json['tags'] == null ? undefined : json['tags'],
|
|
91
84
|
'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
|
|
92
85
|
'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
|
|
93
86
|
};
|
|
@@ -108,7 +101,6 @@ export function GroupToJSONTyped(value?: Group | null, ignoreDiscriminator: bool
|
|
|
108
101
|
'name': value['name'],
|
|
109
102
|
'description': value['description'],
|
|
110
103
|
'filter': value['filter'],
|
|
111
|
-
'tags': value['tags'],
|
|
112
104
|
'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(),
|
|
113
105
|
'updatedAt': value['updatedAt'] == null ? value['updatedAt'] : value['updatedAt'].toISOString(),
|
|
114
106
|
};
|
|
@@ -20,6 +20,13 @@ import {
|
|
|
20
20
|
GroupToJSON,
|
|
21
21
|
GroupToJSONTyped,
|
|
22
22
|
} from './Group.js';
|
|
23
|
+
import type { Inventory } from './Inventory.js';
|
|
24
|
+
import {
|
|
25
|
+
InventoryFromJSON,
|
|
26
|
+
InventoryFromJSONTyped,
|
|
27
|
+
InventoryToJSON,
|
|
28
|
+
InventoryToJSONTyped,
|
|
29
|
+
} from './Inventory.js';
|
|
23
30
|
import type { VirtualMachine } from './VirtualMachine.js';
|
|
24
31
|
import {
|
|
25
32
|
VirtualMachineFromJSON,
|
|
@@ -40,6 +47,12 @@ export interface GroupResponse {
|
|
|
40
47
|
* @memberof GroupResponse
|
|
41
48
|
*/
|
|
42
49
|
group: Group;
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @type {Inventory}
|
|
53
|
+
* @memberof GroupResponse
|
|
54
|
+
*/
|
|
55
|
+
inventory?: Inventory;
|
|
43
56
|
/**
|
|
44
57
|
*
|
|
45
58
|
* @type {Array<VirtualMachine>}
|
|
@@ -89,6 +102,7 @@ export function GroupResponseFromJSONTyped(json: any, ignoreDiscriminator: boole
|
|
|
89
102
|
return {
|
|
90
103
|
|
|
91
104
|
'group': GroupFromJSON(json['group']),
|
|
105
|
+
'inventory': json['inventory'] == null ? undefined : InventoryFromJSON(json['inventory']),
|
|
92
106
|
'vms': ((json['vms'] as Array<any>).map(VirtualMachineFromJSON)),
|
|
93
107
|
'total': json['total'],
|
|
94
108
|
'page': json['page'],
|
|
@@ -108,6 +122,7 @@ export function GroupResponseToJSONTyped(value?: GroupResponse | null, ignoreDis
|
|
|
108
122
|
return {
|
|
109
123
|
|
|
110
124
|
'group': GroupToJSON(value['group']),
|
|
125
|
+
'inventory': InventoryToJSON(value['inventory']),
|
|
111
126
|
'vms': ((value['vms'] as Array<any>).map(VirtualMachineToJSON)),
|
|
112
127
|
'total': value['total'],
|
|
113
128
|
'page': value['page'],
|
|
@@ -27,6 +27,13 @@ import {
|
|
|
27
27
|
InfraToJSON,
|
|
28
28
|
InfraToJSONTyped,
|
|
29
29
|
} from './Infra.js';
|
|
30
|
+
import type { ClusterUtilization } from './ClusterUtilization.js';
|
|
31
|
+
import {
|
|
32
|
+
ClusterUtilizationFromJSON,
|
|
33
|
+
ClusterUtilizationFromJSONTyped,
|
|
34
|
+
ClusterUtilizationToJSON,
|
|
35
|
+
ClusterUtilizationToJSONTyped,
|
|
36
|
+
} from './ClusterUtilization.js';
|
|
30
37
|
import type { VMs } from './VMs.js';
|
|
31
38
|
import {
|
|
32
39
|
VMsFromJSON,
|
|
@@ -60,6 +67,12 @@ export interface InventoryData {
|
|
|
60
67
|
* @memberof InventoryData
|
|
61
68
|
*/
|
|
62
69
|
clusterFeatures?: ClusterFeatures;
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @type {ClusterUtilization}
|
|
73
|
+
* @memberof InventoryData
|
|
74
|
+
*/
|
|
75
|
+
clusterUtilization?: ClusterUtilization;
|
|
63
76
|
/**
|
|
64
77
|
*
|
|
65
78
|
* @type {VMs}
|
|
@@ -95,6 +108,7 @@ export function InventoryDataFromJSONTyped(json: any, ignoreDiscriminator: boole
|
|
|
95
108
|
|
|
96
109
|
'vcenter': json['vcenter'] == null ? undefined : VCenterFromJSON(json['vcenter']),
|
|
97
110
|
'clusterFeatures': json['clusterFeatures'] == null ? undefined : ClusterFeaturesFromJSON(json['clusterFeatures']),
|
|
111
|
+
'clusterUtilization': json['clusterUtilization'] == null ? undefined : ClusterUtilizationFromJSON(json['clusterUtilization']),
|
|
98
112
|
'vms': VMsFromJSON(json['vms']),
|
|
99
113
|
'infra': InfraFromJSON(json['infra']),
|
|
100
114
|
};
|
|
@@ -113,6 +127,7 @@ export function InventoryDataToJSONTyped(value?: InventoryData | null, ignoreDis
|
|
|
113
127
|
|
|
114
128
|
'vcenter': VCenterToJSON(value['vcenter']),
|
|
115
129
|
'clusterFeatures': ClusterFeaturesToJSON(value['clusterFeatures']),
|
|
130
|
+
'clusterUtilization': ClusterUtilizationToJSON(value['clusterUtilization']),
|
|
116
131
|
'vms': VMsToJSON(value['vms']),
|
|
117
132
|
'infra': InfraToJSON(value['infra']),
|
|
118
133
|
};
|
|
@@ -37,12 +37,6 @@ export interface UpdateGroupRequest {
|
|
|
37
37
|
* @memberof UpdateGroupRequest
|
|
38
38
|
*/
|
|
39
39
|
filter?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Tags to apply to matching VMs (only alphanumeric, underscore, and dot allowed)
|
|
42
|
-
* @type {Array<string>}
|
|
43
|
-
* @memberof UpdateGroupRequest
|
|
44
|
-
*/
|
|
45
|
-
tags?: Array<string>;
|
|
46
40
|
}
|
|
47
41
|
|
|
48
42
|
/**
|
|
@@ -65,7 +59,6 @@ export function UpdateGroupRequestFromJSONTyped(json: any, ignoreDiscriminator:
|
|
|
65
59
|
'name': json['name'] == null ? undefined : json['name'],
|
|
66
60
|
'description': json['description'] == null ? undefined : json['description'],
|
|
67
61
|
'filter': json['filter'] == null ? undefined : json['filter'],
|
|
68
|
-
'tags': json['tags'] == null ? undefined : json['tags'],
|
|
69
62
|
};
|
|
70
63
|
}
|
|
71
64
|
|
|
@@ -83,7 +76,6 @@ export function UpdateGroupRequestToJSONTyped(value?: UpdateGroupRequest | null,
|
|
|
83
76
|
'name': value['name'],
|
|
84
77
|
'description': value['description'],
|
|
85
78
|
'filter': value['filter'],
|
|
86
|
-
'tags': value['tags'],
|
|
87
79
|
};
|
|
88
80
|
}
|
|
89
81
|
|