kb-cloud-client-typescript 0.0.0-support-instance-template-ops.20260920.613 → 0.0.0-support-instance-template-ops.20260920.626

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 (55) hide show
  1. package/dist/adminapi/models/component-item-create.d.ts +1 -1
  2. package/dist/adminapi/models/index.d.ts +1 -0
  3. package/dist/adminapi/models/index.d.ts.map +1 -1
  4. package/dist/adminapi/models/index.js +1 -0
  5. package/dist/adminapi/models/index.js.map +1 -1
  6. package/dist/adminapi/models/instance-template-create.d.ts +7 -1
  7. package/dist/adminapi/models/instance-template-create.d.ts.map +1 -1
  8. package/dist/adminapi/models/instance-template-overlay-field.d.ts +1 -0
  9. package/dist/adminapi/models/instance-template-overlay-field.d.ts.map +1 -1
  10. package/dist/adminapi/models/instance-template-overlay-field.js +1 -0
  11. package/dist/adminapi/models/instance-template-overlay-field.js.map +1 -1
  12. package/dist/adminapi/models/instance-template-vscale.d.ts +31 -0
  13. package/dist/adminapi/models/instance-template-vscale.d.ts.map +1 -0
  14. package/dist/adminapi/models/instance-template-vscale.js +16 -0
  15. package/dist/adminapi/models/instance-template-vscale.js.map +1 -0
  16. package/dist/adminapi/models/mode-component-instance-template.d.ts +1 -1
  17. package/dist/adminapi/models/ops-vscale.d.ts +5 -4
  18. package/dist/adminapi/models/ops-vscale.d.ts.map +1 -1
  19. package/dist/openapi/models/component-item-create.d.ts +1 -1
  20. package/dist/openapi/models/index.d.ts +1 -0
  21. package/dist/openapi/models/index.d.ts.map +1 -1
  22. package/dist/openapi/models/index.js +1 -0
  23. package/dist/openapi/models/index.js.map +1 -1
  24. package/dist/openapi/models/instance-template-create.d.ts +7 -1
  25. package/dist/openapi/models/instance-template-create.d.ts.map +1 -1
  26. package/dist/openapi/models/instance-template-overlay-field.d.ts +1 -0
  27. package/dist/openapi/models/instance-template-overlay-field.d.ts.map +1 -1
  28. package/dist/openapi/models/instance-template-overlay-field.js +1 -0
  29. package/dist/openapi/models/instance-template-overlay-field.js.map +1 -1
  30. package/dist/openapi/models/instance-template-vscale.d.ts +31 -0
  31. package/dist/openapi/models/instance-template-vscale.d.ts.map +1 -0
  32. package/dist/openapi/models/instance-template-vscale.js +16 -0
  33. package/dist/openapi/models/instance-template-vscale.js.map +1 -0
  34. package/dist/openapi/models/mode-component-instance-template.d.ts +1 -1
  35. package/dist/openapi/models/ops-vscale.d.ts +5 -4
  36. package/dist/openapi/models/ops-vscale.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/adminapi/.openapi-generator/FILES +1 -0
  39. package/src/adminapi/models/component-item-create.ts +1 -1
  40. package/src/adminapi/models/index.ts +1 -0
  41. package/src/adminapi/models/instance-template-create.ts +7 -1
  42. package/src/adminapi/models/instance-template-overlay-field.ts +1 -0
  43. package/src/adminapi/models/instance-template-vscale.ts +36 -0
  44. package/src/adminapi/models/mode-component-instance-template.ts +1 -1
  45. package/src/adminapi/models/ops-vscale.ts +7 -4
  46. package/src/adminapi.yaml +25 -7
  47. package/src/openapi/.openapi-generator/FILES +1 -0
  48. package/src/openapi/models/component-item-create.ts +1 -1
  49. package/src/openapi/models/index.ts +1 -0
  50. package/src/openapi/models/instance-template-create.ts +7 -1
  51. package/src/openapi/models/instance-template-overlay-field.ts +1 -0
  52. package/src/openapi/models/instance-template-vscale.ts +36 -0
  53. package/src/openapi/models/mode-component-instance-template.ts +1 -1
  54. package/src/openapi/models/ops-vscale.ts +7 -4
  55. package/src/openapi.yaml +25 -7
@@ -1 +1 @@
1
- {"version":3,"file":"instance-template-create.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-create.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C;;;;OAIG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;CAC9C"}
1
+ {"version":3,"file":"instance-template-create.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-create.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C;;;;OAIG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;CAC9C"}
@@ -15,6 +15,7 @@
15
15
  * @enum {string}
16
16
  */
17
17
  export declare const InstanceTemplateOverlayField: {
18
+ readonly classCode: "classCode";
18
19
  readonly storageClass: "storageClass";
19
20
  readonly availabilityZone: "availabilityZone";
20
21
  readonly env: "env";
@@ -1 +1 @@
1
- {"version":3,"file":"instance-template-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-overlay-field.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAIH;;;;GAIG;AAEH,eAAO,MAAM,4BAA4B;;;;;CAK/B,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"instance-template-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-overlay-field.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAIH;;;;GAIG;AAEH,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;AAEX,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC"}
@@ -20,6 +20,7 @@ exports.InstanceTemplateOverlayField = void 0;
20
20
  * @enum {string}
21
21
  */
22
22
  exports.InstanceTemplateOverlayField = {
23
+ classCode: 'classCode',
23
24
  storageClass: 'storageClass',
24
25
  availabilityZone: 'availabilityZone',
25
26
  env: 'env',
@@ -1 +1 @@
1
- {"version":3,"file":"instance-template-overlay-field.js","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-overlay-field.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;;;AAIH;;;;GAIG;AAEU,QAAA,4BAA4B,GAAG;IACxC,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,aAAa;CACpB,CAAC"}
1
+ {"version":3,"file":"instance-template-overlay-field.js","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-overlay-field.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;;;AAIH;;;;GAIG;AAEU,QAAA,4BAA4B,GAAG;IACxC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,aAAa;CACpB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * KubeBlocks Cloud API
3
+ * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs. We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@apecloud.com
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
+ * VScale assignment for one instance template. name and classCode are required.
14
+ * @export
15
+ * @interface InstanceTemplateVScale
16
+ */
17
+ export interface InstanceTemplateVScale {
18
+ /**
19
+ * Instance template name declared on the engine option.
20
+ * @type {string}
21
+ * @memberof InstanceTemplateVScale
22
+ */
23
+ 'name': string;
24
+ /**
25
+ * Class code to apply to this instance template.
26
+ * @type {string}
27
+ * @memberof InstanceTemplateVScale
28
+ */
29
+ 'classCode': string;
30
+ }
31
+ //# sourceMappingURL=instance-template-vscale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-template-vscale.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-vscale.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAIH;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * KubeBlocks Cloud API
6
+ * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs. We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ * Contact: support@apecloud.com
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
+ //# sourceMappingURL=instance-template-vscale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-template-vscale.js","sourceRoot":"","sources":["../../../src/openapi/models/instance-template-vscale.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG"}
@@ -13,7 +13,7 @@ import type { InstanceTemplateEnv } from './instance-template-env';
13
13
  import type { InstanceTemplateOp } from './instance-template-op';
14
14
  import type { InstanceTemplateOverlayField } from './instance-template-overlay-field';
15
15
  /**
16
- * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale uses one classCode and requires instanceTemplates names; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
16
+ * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale requires instanceTemplates with name and classCode; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
17
17
  * @export
18
18
  * @interface ModeComponentInstanceTemplate
19
19
  */
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { InstanceTemplateVScale } from './instance-template-vscale';
12
13
  import type { TaskSchedule } from './task-schedule';
13
14
  /**
14
15
  * OpsVScale is the payload to vertically scale a KubeBlocks cluster
@@ -35,17 +36,17 @@ export interface OpsVScale {
35
36
  */
36
37
  'memory'?: string;
37
38
  /**
38
- * Class code for this vscale. One classCode per request; all targeted instance templates receive the same resources.
39
+ * Class code for component-level vscale. Required when instanceTemplates is omitted. Ignored for instance-template vscale; each template sets its own classCode.
39
40
  * @type {string}
40
41
  * @memberof OpsVScale
41
42
  */
42
43
  'classCode'?: string;
43
44
  /**
44
- * Instance template names to apply the single classCode to. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Names must be unique and declared.
45
- * @type {Set<string>}
45
+ * Per-template classCode assignments. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Each item sets name and classCode independently.
46
+ * @type {Array<InstanceTemplateVScale>}
46
47
  * @memberof OpsVScale
47
48
  */
48
- 'instanceTemplates'?: Set<string> | null;
49
+ 'instanceTemplates'?: Array<InstanceTemplateVScale> | null;
49
50
  /**
50
51
  *
51
52
  * @type {TaskSchedule}
@@ -1 +1 @@
1
- {"version":3,"file":"ops-vscale.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/ops-vscale.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;CAC7B"}
1
+ {"version":3,"file":"ops-vscale.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/ops-vscale.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;IAC3D;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kb-cloud-client-typescript",
3
- "version": "0.0.0-support-instance-template-ops.20260920.613",
3
+ "version": "0.0.0-support-instance-template-ops.20260920.626",
4
4
  "description": "Auto-generated TypeScript SDK for KubeBlocks Cloud API",
5
5
  "private": false,
6
6
  "license": "Apache-2.0",
@@ -689,6 +689,7 @@ models/instance-template-env.ts
689
689
  models/instance-template-op.ts
690
690
  models/instance-template-overlay-field.ts
691
691
  models/instance-template-replicas.ts
692
+ models/instance-template-vscale.ts
692
693
  models/instance.ts
693
694
  models/integer-option.ts
694
695
  models/international-desc.ts
@@ -48,7 +48,7 @@ export interface ComponentItemCreate {
48
48
  */
49
49
  'replicas'?: number | null;
50
50
  /**
51
- * Per-template replicas and optional overlays (storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
51
+ * Per-template replicas and optional overlays (classCode, storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
52
52
  * @type {Array<InstanceTemplateCreate>}
53
53
  * @memberof ComponentItemCreate
54
54
  */
@@ -584,6 +584,7 @@ export * from './instance-template-env';
584
584
  export * from './instance-template-op';
585
585
  export * from './instance-template-overlay-field';
586
586
  export * from './instance-template-replicas';
587
+ export * from './instance-template-vscale';
587
588
  export * from './integer-option';
588
589
  export * from './international-desc';
589
590
  export * from './io-quantity';
@@ -18,7 +18,7 @@
18
18
  import type { InstanceTemplateCreateEnvInner } from './instance-template-create-env-inner';
19
19
 
20
20
  /**
21
- * Create assignment for one instance template. name and replicas are required. storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. classCode and volume sizes are defined once on the component and copied onto each template.
21
+ * Create assignment for one instance template. name and replicas are required. classCode, storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. Volume sizes are defined once on the component and copied onto each template.
22
22
  * @export
23
23
  * @interface InstanceTemplateCreate
24
24
  */
@@ -35,6 +35,12 @@ export interface InstanceTemplateCreate {
35
35
  * @memberof InstanceTemplateCreate
36
36
  */
37
37
  'replicas': number;
38
+ /**
39
+ * Class code for this template. Omit to inherit the component classCode.
40
+ * @type {string}
41
+ * @memberof InstanceTemplateCreate
42
+ */
43
+ 'classCode'?: string;
38
44
  /**
39
45
  * StorageClass for this template. Omit to inherit the component storageClass.
40
46
  * @type {string}
@@ -21,6 +21,7 @@
21
21
  */
22
22
 
23
23
  export const InstanceTemplateOverlayField = {
24
+ classCode: 'classCode',
24
25
  storageClass: 'storageClass',
25
26
  availabilityZone: 'availabilityZone',
26
27
  env: 'env',
@@ -0,0 +1,36 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Admin API
5
+ * The Admin API is used to manage the ApeCloud platform.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@apecloud.com
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
+
16
+
17
+ /**
18
+ * VScale assignment for one instance template. name and classCode are required.
19
+ * @export
20
+ * @interface InstanceTemplateVScale
21
+ */
22
+ export interface InstanceTemplateVScale {
23
+ /**
24
+ * Instance template name declared on the engine option.
25
+ * @type {string}
26
+ * @memberof InstanceTemplateVScale
27
+ */
28
+ 'name': string;
29
+ /**
30
+ * Class code to apply to this instance template.
31
+ * @type {string}
32
+ * @memberof InstanceTemplateVScale
33
+ */
34
+ 'classCode': string;
35
+ }
36
+
@@ -24,7 +24,7 @@ import type { InstanceTemplateOp } from './instance-template-op';
24
24
  import type { InstanceTemplateOverlayField } from './instance-template-overlay-field';
25
25
 
26
26
  /**
27
- * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale uses one classCode and requires instanceTemplates names; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
27
+ * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale requires instanceTemplates with name and classCode; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
28
28
  * @export
29
29
  * @interface ModeComponentInstanceTemplate
30
30
  */
@@ -13,6 +13,9 @@
13
13
  */
14
14
 
15
15
 
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { InstanceTemplateVScale } from './instance-template-vscale';
16
19
  // May contain unused imports in some cases
17
20
  // @ts-ignore
18
21
  import type { TaskSchedule } from './task-schedule';
@@ -42,17 +45,17 @@ export interface OpsVScale {
42
45
  */
43
46
  'memory'?: string;
44
47
  /**
45
- * Class code for this vscale. One classCode per request; all targeted instance templates receive the same resources.
48
+ * Class code for component-level vscale. Required when instanceTemplates is omitted. Ignored for instance-template vscale; each template sets its own classCode.
46
49
  * @type {string}
47
50
  * @memberof OpsVScale
48
51
  */
49
52
  'classCode'?: string;
50
53
  /**
51
- * Instance template names to apply the single classCode to. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Names must be unique and declared.
52
- * @type {Set<string>}
54
+ * Per-template classCode assignments. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Each item sets name and classCode independently.
55
+ * @type {Array<InstanceTemplateVScale>}
53
56
  * @memberof OpsVScale
54
57
  */
55
- 'instanceTemplates'?: Set<string> | null;
58
+ 'instanceTemplates'?: Array<InstanceTemplateVScale> | null;
56
59
  /**
57
60
  *
58
61
  * @type {TaskSchedule}
package/src/adminapi.yaml CHANGED
@@ -28950,7 +28950,7 @@ components:
28950
28950
  instanceTemplateCreate:
28951
28951
  type: object
28952
28952
  description: |
28953
- Create assignment for one instance template. name and replicas are required. storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. classCode and volume sizes are defined once on the component and copied onto each template.
28953
+ Create assignment for one instance template. name and replicas are required. classCode, storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. Volume sizes are defined once on the component and copied onto each template.
28954
28954
  required:
28955
28955
  - name
28956
28956
  - replicas
@@ -28963,6 +28963,9 @@ components:
28963
28963
  type: integer
28964
28964
  minimum: 1
28965
28965
  description: Replica count for this instance template.
28966
+ classCode:
28967
+ type: string
28968
+ description: Class code for this template. Omit to inherit the component classCode.
28966
28969
  storageClass:
28967
28970
  type: string
28968
28971
  description: StorageClass for this template. Omit to inherit the component storageClass.
@@ -29073,7 +29076,7 @@ components:
29073
29076
  instanceTemplates:
29074
29077
  type: array
29075
29078
  minItems: 1
29076
- description: Per-template replicas and optional overlays (storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
29079
+ description: Per-template replicas and optional overlays (classCode, storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
29077
29080
  items:
29078
29081
  $ref: '#/components/schemas/instanceTemplateCreate'
29079
29082
  availabilityZone:
@@ -34513,6 +34516,21 @@ components:
34513
34516
  - volumes
34514
34517
  - component
34515
34518
  type: object
34519
+ instanceTemplateVScale:
34520
+ type: object
34521
+ description: VScale assignment for one instance template. name and classCode are required.
34522
+ required:
34523
+ - name
34524
+ - classCode
34525
+ properties:
34526
+ name:
34527
+ type: string
34528
+ minLength: 1
34529
+ description: Instance template name declared on the engine option.
34530
+ classCode:
34531
+ type: string
34532
+ minLength: 1
34533
+ description: Class code to apply to this instance template.
34516
34534
  opsVScale:
34517
34535
  description: OpsVScale is the payload to vertically scale a KubeBlocks cluster
34518
34536
  required:
@@ -34530,15 +34548,14 @@ components:
34530
34548
  type: string
34531
34549
  classCode:
34532
34550
  description: |
34533
- Class code for this vscale. One classCode per request; all targeted instance templates receive the same resources.
34551
+ Class code for component-level vscale. Required when instanceTemplates is omitted. Ignored for instance-template vscale; each template sets its own classCode.
34534
34552
  type: string
34535
34553
  instanceTemplates:
34536
34554
  type: array
34537
34555
  minItems: 1
34538
- uniqueItems: true
34539
34556
  items:
34540
- type: string
34541
- description: Instance template names to apply the single classCode to. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Names must be unique and declared.
34557
+ $ref: '#/components/schemas/instanceTemplateVScale'
34558
+ description: Per-template classCode assignments. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Each item sets name and classCode independently.
34542
34559
  nullable: true
34543
34560
  schedule:
34544
34561
  $ref: '#/components/schemas/taskSchedule'
@@ -38226,6 +38243,7 @@ components:
38226
38243
  type: string
38227
38244
  description: Overlay field the frontend may render on an instance template.
38228
38245
  enum:
38246
+ - classCode
38229
38247
  - storageClass
38230
38248
  - availabilityZone
38231
38249
  - env
@@ -38278,7 +38296,7 @@ components:
38278
38296
  Create requires instanceTemplates with name and replicas.
38279
38297
  HScale replica changes require instanceTemplates with name and replicas;
38280
38298
  shard-count changes use shards and cannot be combined with instanceTemplates.
38281
- VScale uses one classCode and requires instanceTemplates names;
38299
+ VScale requires instanceTemplates with name and classCode;
38282
38300
  only those names are updated.
38283
38301
  The platform does not even-split or fill in missing templates.
38284
38302
  Instance online/offline can be set together with instanceTemplates.
@@ -600,6 +600,7 @@ models/instance-template-env.ts
600
600
  models/instance-template-op.ts
601
601
  models/instance-template-overlay-field.ts
602
602
  models/instance-template-replicas.ts
603
+ models/instance-template-vscale.ts
603
604
  models/instance.ts
604
605
  models/integer-option.ts
605
606
  models/international-desc.ts
@@ -48,7 +48,7 @@ export interface ComponentItemCreate {
48
48
  */
49
49
  'replicas'?: number | null;
50
50
  /**
51
- * Per-template replicas and optional overlays (storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
51
+ * Per-template replicas and optional overlays (classCode, storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
52
52
  * @type {Array<InstanceTemplateCreate>}
53
53
  * @memberof ComponentItemCreate
54
54
  */
@@ -508,6 +508,7 @@ export * from './instance-template-env';
508
508
  export * from './instance-template-op';
509
509
  export * from './instance-template-overlay-field';
510
510
  export * from './instance-template-replicas';
511
+ export * from './instance-template-vscale';
511
512
  export * from './integer-option';
512
513
  export * from './international-desc';
513
514
  export * from './io-quantity';
@@ -18,7 +18,7 @@
18
18
  import type { InstanceTemplateCreateEnvInner } from './instance-template-create-env-inner';
19
19
 
20
20
  /**
21
- * Create assignment for one instance template. name and replicas are required. storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. classCode and volume sizes are defined once on the component and copied onto each template.
21
+ * Create assignment for one instance template. name and replicas are required. classCode, storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. Volume sizes are defined once on the component and copied onto each template.
22
22
  * @export
23
23
  * @interface InstanceTemplateCreate
24
24
  */
@@ -35,6 +35,12 @@ export interface InstanceTemplateCreate {
35
35
  * @memberof InstanceTemplateCreate
36
36
  */
37
37
  'replicas': number;
38
+ /**
39
+ * Class code for this template. Omit to inherit the component classCode.
40
+ * @type {string}
41
+ * @memberof InstanceTemplateCreate
42
+ */
43
+ 'classCode'?: string;
38
44
  /**
39
45
  * StorageClass for this template. Omit to inherit the component storageClass.
40
46
  * @type {string}
@@ -21,6 +21,7 @@
21
21
  */
22
22
 
23
23
  export const InstanceTemplateOverlayField = {
24
+ classCode: 'classCode',
24
25
  storageClass: 'storageClass',
25
26
  availabilityZone: 'availabilityZone',
26
27
  env: 'env',
@@ -0,0 +1,36 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * KubeBlocks Cloud API
5
+ * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs. We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@apecloud.com
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
+
16
+
17
+ /**
18
+ * VScale assignment for one instance template. name and classCode are required.
19
+ * @export
20
+ * @interface InstanceTemplateVScale
21
+ */
22
+ export interface InstanceTemplateVScale {
23
+ /**
24
+ * Instance template name declared on the engine option.
25
+ * @type {string}
26
+ * @memberof InstanceTemplateVScale
27
+ */
28
+ 'name': string;
29
+ /**
30
+ * Class code to apply to this instance template.
31
+ * @type {string}
32
+ * @memberof InstanceTemplateVScale
33
+ */
34
+ 'classCode': string;
35
+ }
36
+
@@ -24,7 +24,7 @@ import type { InstanceTemplateOp } from './instance-template-op';
24
24
  import type { InstanceTemplateOverlayField } from './instance-template-overlay-field';
25
25
 
26
26
  /**
27
- * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale uses one classCode and requires instanceTemplates names; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
27
+ * Declares instance-template support for this mode component. Create requires instanceTemplates with name and replicas. HScale replica changes require instanceTemplates with name and replicas; shard-count changes use shards and cannot be combined with instanceTemplates. VScale requires instanceTemplates with name and classCode; only those names are updated. The platform does not even-split or fill in missing templates. Instance online/offline can be set together with instanceTemplates. When absent, the component uses component-level operations.
28
28
  * @export
29
29
  * @interface ModeComponentInstanceTemplate
30
30
  */
@@ -13,6 +13,9 @@
13
13
  */
14
14
 
15
15
 
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { InstanceTemplateVScale } from './instance-template-vscale';
16
19
  // May contain unused imports in some cases
17
20
  // @ts-ignore
18
21
  import type { TaskSchedule } from './task-schedule';
@@ -42,17 +45,17 @@ export interface OpsVScale {
42
45
  */
43
46
  'memory'?: string;
44
47
  /**
45
- * Class code for this vscale. One classCode per request; all targeted instance templates receive the same resources.
48
+ * Class code for component-level vscale. Required when instanceTemplates is omitted. Ignored for instance-template vscale; each template sets its own classCode.
46
49
  * @type {string}
47
50
  * @memberof OpsVScale
48
51
  */
49
52
  'classCode'?: string;
50
53
  /**
51
- * Instance template names to apply the single classCode to. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Names must be unique and declared.
52
- * @type {Set<string>}
54
+ * Per-template classCode assignments. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Each item sets name and classCode independently.
55
+ * @type {Array<InstanceTemplateVScale>}
53
56
  * @memberof OpsVScale
54
57
  */
55
- 'instanceTemplates'?: Set<string> | null;
58
+ 'instanceTemplates'?: Array<InstanceTemplateVScale> | null;
56
59
  /**
57
60
  *
58
61
  * @type {TaskSchedule}
package/src/openapi.yaml CHANGED
@@ -24612,7 +24612,7 @@ components:
24612
24612
  instanceTemplateCreate:
24613
24613
  type: object
24614
24614
  description: |
24615
- Create assignment for one instance template. name and replicas are required. storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. classCode and volume sizes are defined once on the component and copied onto each template.
24615
+ Create assignment for one instance template. name and replicas are required. classCode, storageClass, availabilityZone, env, and annotations are optional overlays; omitted fields inherit the component. Node group is cluster-level and is inherited by every component and template. Volume sizes are defined once on the component and copied onto each template.
24616
24616
  required:
24617
24617
  - name
24618
24618
  - replicas
@@ -24625,6 +24625,9 @@ components:
24625
24625
  type: integer
24626
24626
  minimum: 1
24627
24627
  description: Replica count for this instance template.
24628
+ classCode:
24629
+ type: string
24630
+ description: Class code for this template. Omit to inherit the component classCode.
24628
24631
  storageClass:
24629
24632
  type: string
24630
24633
  description: StorageClass for this template. Omit to inherit the component storageClass.
@@ -24730,7 +24733,7 @@ components:
24730
24733
  instanceTemplates:
24731
24734
  type: array
24732
24735
  minItems: 1
24733
- description: Per-template replicas and optional overlays (storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
24736
+ description: Per-template replicas and optional overlays (classCode, storageClass, availabilityZone, env, annotations). Node group is cluster-level and inherited by every component and template. Required when the engine option declares instanceTemplate. Names must match instanceTemplate.names exactly. classCode and volumes on the component are copied onto each template; the apiserver does not even-split replicas.
24734
24737
  items:
24735
24738
  $ref: '#/components/schemas/instanceTemplateCreate'
24736
24739
  availabilityZone:
@@ -26621,6 +26624,21 @@ components:
26621
26624
  - volumes
26622
26625
  - component
26623
26626
  type: object
26627
+ instanceTemplateVScale:
26628
+ type: object
26629
+ description: VScale assignment for one instance template. name and classCode are required.
26630
+ required:
26631
+ - name
26632
+ - classCode
26633
+ properties:
26634
+ name:
26635
+ type: string
26636
+ minLength: 1
26637
+ description: Instance template name declared on the engine option.
26638
+ classCode:
26639
+ type: string
26640
+ minLength: 1
26641
+ description: Class code to apply to this instance template.
26624
26642
  opsVScale:
26625
26643
  description: OpsVScale is the payload to vertically scale a KubeBlocks cluster
26626
26644
  required:
@@ -26638,15 +26656,14 @@ components:
26638
26656
  type: string
26639
26657
  classCode:
26640
26658
  description: |
26641
- Class code for this vscale. One classCode per request; all targeted instance templates receive the same resources.
26659
+ Class code for component-level vscale. Required when instanceTemplates is omitted. Ignored for instance-template vscale; each template sets its own classCode.
26642
26660
  type: string
26643
26661
  instanceTemplates:
26644
26662
  type: array
26645
26663
  minItems: 1
26646
- uniqueItems: true
26647
26664
  items:
26648
- type: string
26649
- description: Instance template names to apply the single classCode to. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Names must be unique and declared.
26665
+ $ref: '#/components/schemas/instanceTemplateVScale'
26666
+ description: Per-template classCode assignments. Required when the engine option declares instanceTemplate with vscale. Only these names are updated. Each item sets name and classCode independently.
26650
26667
  nullable: true
26651
26668
  schedule:
26652
26669
  $ref: '#/components/schemas/taskSchedule'
@@ -31847,6 +31864,7 @@ components:
31847
31864
  type: string
31848
31865
  description: Overlay field the frontend may render on an instance template.
31849
31866
  enum:
31867
+ - classCode
31850
31868
  - storageClass
31851
31869
  - availabilityZone
31852
31870
  - env
@@ -31899,7 +31917,7 @@ components:
31899
31917
  Create requires instanceTemplates with name and replicas.
31900
31918
  HScale replica changes require instanceTemplates with name and replicas;
31901
31919
  shard-count changes use shards and cannot be combined with instanceTemplates.
31902
- VScale uses one classCode and requires instanceTemplates names;
31920
+ VScale requires instanceTemplates with name and classCode;
31903
31921
  only those names are updated.
31904
31922
  The platform does not even-split or fill in missing templates.
31905
31923
  Instance online/offline can be set together with instanceTemplates.