@openshift-migration-advisor/agent-sdk 0.12.0-645d2fae3eee → 0.12.0-6a69e0e34d95

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 (68) 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/ClusterUtilization.d.ts +68 -0
  8. package/dist/esm/models/ClusterUtilization.js +67 -0
  9. package/dist/esm/models/CreateGroupRequest.d.ts +0 -6
  10. package/dist/esm/models/CreateGroupRequest.js +0 -2
  11. package/dist/esm/models/Group.d.ts +0 -6
  12. package/dist/esm/models/Group.js +0 -2
  13. package/dist/esm/models/GroupResponse.d.ts +7 -0
  14. package/dist/esm/models/GroupResponse.js +3 -0
  15. package/dist/esm/models/InventoryData.d.ts +7 -0
  16. package/dist/esm/models/InventoryData.js +3 -0
  17. package/dist/esm/models/UpdateGroupRequest.d.ts +0 -6
  18. package/dist/esm/models/UpdateGroupRequest.js +0 -2
  19. package/dist/esm/models/VMFilterOptionsResponse.d.ts +50 -0
  20. package/dist/esm/models/VMFilterOptionsResponse.js +55 -0
  21. package/dist/esm/models/VMNIC.d.ts +12 -0
  22. package/dist/esm/models/VMNIC.js +4 -0
  23. package/dist/esm/models/VirtualMachine.d.ts +14 -2
  24. package/dist/esm/models/VirtualMachine.js +6 -2
  25. package/dist/esm/models/index.d.ts +2 -0
  26. package/dist/esm/models/index.js +2 -0
  27. package/dist/models/ClusterUtilization.d.ts +68 -0
  28. package/dist/models/ClusterUtilization.js +74 -0
  29. package/dist/models/CreateGroupRequest.d.ts +0 -6
  30. package/dist/models/CreateGroupRequest.js +0 -2
  31. package/dist/models/Group.d.ts +0 -6
  32. package/dist/models/Group.js +0 -2
  33. package/dist/models/GroupResponse.d.ts +7 -0
  34. package/dist/models/GroupResponse.js +3 -0
  35. package/dist/models/InventoryData.d.ts +7 -0
  36. package/dist/models/InventoryData.js +3 -0
  37. package/dist/models/UpdateGroupRequest.d.ts +0 -6
  38. package/dist/models/UpdateGroupRequest.js +0 -2
  39. package/dist/models/VMFilterOptionsResponse.d.ts +50 -0
  40. package/dist/models/VMFilterOptionsResponse.js +62 -0
  41. package/dist/models/VMNIC.d.ts +12 -0
  42. package/dist/models/VMNIC.js +4 -0
  43. package/dist/models/VirtualMachine.d.ts +14 -2
  44. package/dist/models/VirtualMachine.js +6 -2
  45. package/dist/models/index.d.ts +2 -0
  46. package/dist/models/index.js +2 -0
  47. package/docs/ClusterUtilization.md +46 -0
  48. package/docs/CreateGroupRequest.md +0 -2
  49. package/docs/DefaultApi.md +128 -0
  50. package/docs/Group.md +0 -2
  51. package/docs/GroupResponse.md +2 -0
  52. package/docs/InventoryData.md +2 -0
  53. package/docs/UpdateGroupRequest.md +0 -2
  54. package/docs/VMFilterOptionsResponse.md +40 -0
  55. package/docs/VMNIC.md +4 -0
  56. package/docs/VirtualMachine.md +6 -2
  57. package/package.json +1 -1
  58. package/src/apis/DefaultApi.ts +135 -0
  59. package/src/models/ClusterUtilization.ts +120 -0
  60. package/src/models/CreateGroupRequest.ts +0 -8
  61. package/src/models/Group.ts +0 -8
  62. package/src/models/GroupResponse.ts +15 -0
  63. package/src/models/InventoryData.ts +15 -0
  64. package/src/models/UpdateGroupRequest.ts +0 -8
  65. package/src/models/VMFilterOptionsResponse.ts +93 -0
  66. package/src/models/VMNIC.ts +16 -0
  67. package/src/models/VirtualMachine.ts +20 -4
  68. package/src/models/index.ts +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openshift-migration-advisor/agent-sdk",
3
- "version": "0.12.0-645d2fae3eee",
3
+ "version": "0.12.0-6a69e0e34d95",
4
4
  "description": "OpenAPI client for @openshift-migration-advisor/agent-sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -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,
@@ -225,6 +230,10 @@ export interface DeleteLabelGloballyRequest {
225
230
  label: string;
226
231
  }
227
232
 
233
+ export interface GetClusterUtilizationRequest {
234
+ clusterId: string;
235
+ }
236
+
228
237
  export interface GetForecasterDatastoresRequest {
229
238
  forecasterDatastoresRequest?: ForecasterDatastoresRequest;
230
239
  }
@@ -476,6 +485,29 @@ export interface DefaultApiInterface {
476
485
  */
477
486
  getAgentStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AgentStatus>;
478
487
 
488
+ /**
489
+ * Creates request options for getClusterUtilization without sending the request
490
+ * @param {string} clusterId vSphere MoRef (e.g. \&quot;domain-c123\&quot;) or generated cluster ID (e.g. \&quot;cluster-a3f7b2c1d4e89012\&quot;)
491
+ * @throws {RequiredError}
492
+ * @memberof DefaultApiInterface
493
+ */
494
+ getClusterUtilizationRequestOpts(requestParameters: GetClusterUtilizationRequest): Promise<runtime.RequestOpts>;
495
+
496
+ /**
497
+ *
498
+ * @summary Get latest cluster utilization by cluster ID
499
+ * @param {string} clusterId vSphere MoRef (e.g. \&quot;domain-c123\&quot;) or generated cluster ID (e.g. \&quot;cluster-a3f7b2c1d4e89012\&quot;)
500
+ * @param {*} [options] Override http request option.
501
+ * @throws {RequiredError}
502
+ * @memberof DefaultApiInterface
503
+ */
504
+ getClusterUtilizationRaw(requestParameters: GetClusterUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterResponse>>;
505
+
506
+ /**
507
+ * Get latest cluster utilization by cluster ID
508
+ */
509
+ getClusterUtilization(requestParameters: GetClusterUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterResponse>;
510
+
479
511
  /**
480
512
  * Creates request options for getCollectorStatus without sending the request
481
513
  * @throws {RequiredError}
@@ -887,6 +919,27 @@ export interface DefaultApiInterface {
887
919
  */
888
920
  getVMs(requestParameters: GetVMsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualMachineListResponse>;
889
921
 
922
+ /**
923
+ * Creates request options for getVMsFilterOptions without sending the request
924
+ * @throws {RequiredError}
925
+ * @memberof DefaultApiInterface
926
+ */
927
+ getVMsFilterOptionsRequestOpts(): Promise<runtime.RequestOpts>;
928
+
929
+ /**
930
+ *
931
+ * @summary Get distinct filter option values for VMs
932
+ * @param {*} [options] Override http request option.
933
+ * @throws {RequiredError}
934
+ * @memberof DefaultApiInterface
935
+ */
936
+ getVMsFilterOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VMFilterOptionsResponse>>;
937
+
938
+ /**
939
+ * Get distinct filter option values for VMs
940
+ */
941
+ getVMsFilterOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VMFilterOptionsResponse>;
942
+
890
943
  /**
891
944
  * Creates request options for getVersion without sending the request
892
945
  * @throws {RequiredError}
@@ -1601,6 +1654,51 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
1601
1654
  return await response.value();
1602
1655
  }
1603
1656
 
1657
+ /**
1658
+ * Creates request options for getClusterUtilization without sending the request
1659
+ */
1660
+ async getClusterUtilizationRequestOpts(requestParameters: GetClusterUtilizationRequest): Promise<runtime.RequestOpts> {
1661
+ if (requestParameters['clusterId'] == null) {
1662
+ throw new runtime.RequiredError(
1663
+ 'clusterId',
1664
+ 'Required parameter "clusterId" was null or undefined when calling getClusterUtilization().'
1665
+ );
1666
+ }
1667
+
1668
+ const queryParameters: any = {};
1669
+
1670
+ const headerParameters: runtime.HTTPHeaders = {};
1671
+
1672
+
1673
+ let urlPath = `/clusters/{cluster_id}/utilization`;
1674
+ urlPath = urlPath.replace('{cluster_id}', encodeURIComponent(String(requestParameters['clusterId'])));
1675
+
1676
+ return {
1677
+ path: urlPath,
1678
+ method: 'GET',
1679
+ headers: headerParameters,
1680
+ query: queryParameters,
1681
+ };
1682
+ }
1683
+
1684
+ /**
1685
+ * Get latest cluster utilization by cluster ID
1686
+ */
1687
+ async getClusterUtilizationRaw(requestParameters: GetClusterUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RightsizingClusterResponse>> {
1688
+ const requestOptions = await this.getClusterUtilizationRequestOpts(requestParameters);
1689
+ const response = await this.request(requestOptions, initOverrides);
1690
+
1691
+ return new runtime.JSONApiResponse(response, (jsonValue) => RightsizingClusterResponseFromJSON(jsonValue));
1692
+ }
1693
+
1694
+ /**
1695
+ * Get latest cluster utilization by cluster ID
1696
+ */
1697
+ async getClusterUtilization(requestParameters: GetClusterUtilizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RightsizingClusterResponse> {
1698
+ const response = await this.getClusterUtilizationRaw(requestParameters, initOverrides);
1699
+ return await response.value();
1700
+ }
1701
+
1604
1702
  /**
1605
1703
  * Creates request options for getCollectorStatus without sending the request
1606
1704
  */
@@ -2366,6 +2464,43 @@ export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {
2366
2464
  return await response.value();
2367
2465
  }
2368
2466
 
2467
+ /**
2468
+ * Creates request options for getVMsFilterOptions without sending the request
2469
+ */
2470
+ async getVMsFilterOptionsRequestOpts(): Promise<runtime.RequestOpts> {
2471
+ const queryParameters: any = {};
2472
+
2473
+ const headerParameters: runtime.HTTPHeaders = {};
2474
+
2475
+
2476
+ let urlPath = `/vms/filter-options`;
2477
+
2478
+ return {
2479
+ path: urlPath,
2480
+ method: 'GET',
2481
+ headers: headerParameters,
2482
+ query: queryParameters,
2483
+ };
2484
+ }
2485
+
2486
+ /**
2487
+ * Get distinct filter option values for VMs
2488
+ */
2489
+ async getVMsFilterOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VMFilterOptionsResponse>> {
2490
+ const requestOptions = await this.getVMsFilterOptionsRequestOpts();
2491
+ const response = await this.request(requestOptions, initOverrides);
2492
+
2493
+ return new runtime.JSONApiResponse(response, (jsonValue) => VMFilterOptionsResponseFromJSON(jsonValue));
2494
+ }
2495
+
2496
+ /**
2497
+ * Get distinct filter option values for VMs
2498
+ */
2499
+ async getVMsFilterOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VMFilterOptionsResponse> {
2500
+ const response = await this.getVMsFilterOptionsRaw(initOverrides);
2501
+ return await response.value();
2502
+ }
2503
+
2369
2504
  /**
2370
2505
  * Creates request options for getVersion without sending the request
2371
2506
  */
@@ -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
 
@@ -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
 
@@ -0,0 +1,93 @@
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 VMFilterOptionsResponse
20
+ */
21
+ export interface VMFilterOptionsResponse {
22
+ /**
23
+ * Distinct cluster names
24
+ * @type {Array<string>}
25
+ * @memberof VMFilterOptionsResponse
26
+ */
27
+ clusters: Array<string>;
28
+ /**
29
+ * Distinct datacenter names
30
+ * @type {Array<string>}
31
+ * @memberof VMFilterOptionsResponse
32
+ */
33
+ datacenters: Array<string>;
34
+ /**
35
+ * Distinct concern labels
36
+ * @type {Array<string>}
37
+ * @memberof VMFilterOptionsResponse
38
+ */
39
+ concernLabels: Array<string>;
40
+ /**
41
+ * Distinct concern categories
42
+ * @type {Array<string>}
43
+ * @memberof VMFilterOptionsResponse
44
+ */
45
+ concernCategories: Array<string>;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the VMFilterOptionsResponse interface.
50
+ */
51
+ export function instanceOfVMFilterOptionsResponse(value: object): value is VMFilterOptionsResponse {
52
+ if (!('clusters' in value) || value['clusters'] === undefined) return false;
53
+ if (!('datacenters' in value) || value['datacenters'] === undefined) return false;
54
+ if (!('concernLabels' in value) || value['concernLabels'] === undefined) return false;
55
+ if (!('concernCategories' in value) || value['concernCategories'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function VMFilterOptionsResponseFromJSON(json: any): VMFilterOptionsResponse {
60
+ return VMFilterOptionsResponseFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function VMFilterOptionsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): VMFilterOptionsResponse {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'clusters': json['clusters'],
70
+ 'datacenters': json['datacenters'],
71
+ 'concernLabels': json['concernLabels'],
72
+ 'concernCategories': json['concernCategories'],
73
+ };
74
+ }
75
+
76
+ export function VMFilterOptionsResponseToJSON(json: any): VMFilterOptionsResponse {
77
+ return VMFilterOptionsResponseToJSONTyped(json, false);
78
+ }
79
+
80
+ export function VMFilterOptionsResponseToJSONTyped(value?: VMFilterOptionsResponse | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'clusters': value['clusters'],
88
+ 'datacenters': value['datacenters'],
89
+ 'concernLabels': value['concernLabels'],
90
+ 'concernCategories': value['concernCategories'],
91
+ };
92
+ }
93
+
@@ -37,6 +37,18 @@ export interface VMNIC {
37
37
  * @memberof VMNIC
38
38
  */
39
39
  index?: number;
40
+ /**
41
+ * IPv4 address of this NIC as reported by VMware Tools
42
+ * @type {string}
43
+ * @memberof VMNIC
44
+ */
45
+ ipv4Address?: string;
46
+ /**
47
+ * IPv6 address of this NIC as reported by VMware Tools
48
+ * @type {string}
49
+ * @memberof VMNIC
50
+ */
51
+ ipv6Address?: string;
40
52
  }
41
53
 
42
54
  /**
@@ -59,6 +71,8 @@ export function VMNICFromJSONTyped(json: any, ignoreDiscriminator: boolean): VMN
59
71
  'mac': json['mac'] == null ? undefined : json['mac'],
60
72
  'network': json['network'] == null ? undefined : json['network'],
61
73
  'index': json['index'] == null ? undefined : json['index'],
74
+ 'ipv4Address': json['ipv4Address'] == null ? undefined : json['ipv4Address'],
75
+ 'ipv6Address': json['ipv6Address'] == null ? undefined : json['ipv6Address'],
62
76
  };
63
77
  }
64
78
 
@@ -76,6 +90,8 @@ export function VMNICToJSONTyped(value?: VMNIC | null, ignoreDiscriminator: bool
76
90
  'mac': value['mac'],
77
91
  'network': value['network'],
78
92
  'index': value['index'],
93
+ 'ipv4Address': value['ipv4Address'],
94
+ 'ipv6Address': value['ipv6Address'],
79
95
  };
80
96
  }
81
97
 
@@ -106,11 +106,11 @@ export interface VirtualMachine {
106
106
  */
107
107
  inspectionConcernCount?: number;
108
108
  /**
109
- * Tags aggregated from matching groups
109
+ * Names of groups this VM matches
110
110
  * @type {Array<string>}
111
111
  * @memberof VirtualMachine
112
112
  */
113
- tags?: Array<string>;
113
+ groups?: Array<string>;
114
114
  /**
115
115
  * User-defined labels for this VM
116
116
  * @type {Array<string>}
@@ -129,6 +129,18 @@ export interface VirtualMachine {
129
129
  * @memberof VirtualMachine
130
130
  */
131
131
  utilization_mem_p95?: number;
132
+ /**
133
+ * CPU utilization at max (%); absent when no utilization data
134
+ * @type {number}
135
+ * @memberof VirtualMachine
136
+ */
137
+ utilization_cpu_max?: number;
138
+ /**
139
+ * Memory utilization at max (%); absent when no utilization data
140
+ * @type {number}
141
+ * @memberof VirtualMachine
142
+ */
143
+ utilization_mem_max?: number;
132
144
  /**
133
145
  * Disk utilization (%); absent when no utilization data
134
146
  * @type {number}
@@ -181,10 +193,12 @@ export function VirtualMachineFromJSONTyped(json: any, ignoreDiscriminator: bool
181
193
  'migrationExcluded': json['migrationExcluded'] == null ? undefined : json['migrationExcluded'],
182
194
  'inspectionStatus': json['inspectionStatus'] == null ? undefined : VmInspectionStatusFromJSON(json['inspectionStatus']),
183
195
  'inspectionConcernCount': json['inspectionConcernCount'] == null ? undefined : json['inspectionConcernCount'],
184
- 'tags': json['tags'] == null ? undefined : json['tags'],
196
+ 'groups': json['groups'] == null ? undefined : json['groups'],
185
197
  'labels': json['labels'] == null ? undefined : json['labels'],
186
198
  'utilization_cpu_p95': json['utilization_cpu_p95'] == null ? undefined : json['utilization_cpu_p95'],
187
199
  'utilization_mem_p95': json['utilization_mem_p95'] == null ? undefined : json['utilization_mem_p95'],
200
+ 'utilization_cpu_max': json['utilization_cpu_max'] == null ? undefined : json['utilization_cpu_max'],
201
+ 'utilization_mem_max': json['utilization_mem_max'] == null ? undefined : json['utilization_mem_max'],
188
202
  'utilization_disk': json['utilization_disk'] == null ? undefined : json['utilization_disk'],
189
203
  'utilization_confidence': json['utilization_confidence'] == null ? undefined : json['utilization_confidence'],
190
204
  };
@@ -214,10 +228,12 @@ export function VirtualMachineToJSONTyped(value?: VirtualMachine | null, ignoreD
214
228
  'migrationExcluded': value['migrationExcluded'],
215
229
  'inspectionStatus': VmInspectionStatusToJSON(value['inspectionStatus']),
216
230
  'inspectionConcernCount': value['inspectionConcernCount'],
217
- 'tags': value['tags'],
231
+ 'groups': value['groups'],
218
232
  'labels': value['labels'],
219
233
  'utilization_cpu_p95': value['utilization_cpu_p95'],
220
234
  'utilization_mem_p95': value['utilization_mem_p95'],
235
+ 'utilization_cpu_max': value['utilization_cpu_max'],
236
+ 'utilization_mem_max': value['utilization_mem_max'],
221
237
  'utilization_disk': value['utilization_disk'],
222
238
  'utilization_confidence': value['utilization_confidence'],
223
239
  };
@@ -4,6 +4,7 @@ export * from './AgentModeRequest.js';
4
4
  export * from './AgentStatus.js';
5
5
  export * from './BenchmarkRun.js';
6
6
  export * from './ClusterFeatures.js';
7
+ export * from './ClusterUtilization.js';
7
8
  export * from './CollectorStartRequest.js';
8
9
  export * from './CollectorStatus.js';
9
10
  export * from './CreateGroupRequest.js';
@@ -53,6 +54,7 @@ export * from './UpdateLabelVMsRequest.js';
53
54
  export * from './VCenter.js';
54
55
  export * from './VMDevice.js';
55
56
  export * from './VMDisk.js';
57
+ export * from './VMFilterOptionsResponse.js';
56
58
  export * from './VMIssue.js';
57
59
  export * from './VMLabelsResponse.js';
58
60
  export * from './VMNIC.js';