kb-cloud-client-typescript 0.0.0-support-instance-template-ops.20260920.1113 → 0.0.0-support-instance-template-ops.20260921.645

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 (101) hide show
  1. package/dist/adminapi/models/component-item-create.d.ts +1 -1
  2. package/dist/adminapi/models/index.d.ts +4 -2
  3. package/dist/adminapi/models/index.d.ts.map +1 -1
  4. package/dist/adminapi/models/index.js +4 -2
  5. package/dist/adminapi/models/index.js.map +1 -1
  6. package/dist/adminapi/models/{instance-template-overlay-field.d.ts → instance-template-attribute.d.ts} +6 -5
  7. package/dist/adminapi/models/instance-template-attribute.d.ts.map +1 -0
  8. package/dist/adminapi/models/{instance-template-overlay-field.js → instance-template-attribute.js} +7 -6
  9. package/dist/adminapi/models/instance-template-attribute.js.map +1 -0
  10. package/dist/adminapi/models/instance-template-create.d.ts +9 -3
  11. package/dist/adminapi/models/instance-template-create.d.ts.map +1 -1
  12. package/dist/adminapi/models/instance-template-op.d.ts +2 -0
  13. package/dist/adminapi/models/instance-template-op.d.ts.map +1 -1
  14. package/dist/adminapi/models/instance-template-op.js +3 -1
  15. package/dist/adminapi/models/instance-template-op.js.map +1 -1
  16. package/dist/adminapi/models/{ops-volume-expand-volumes-inner.d.ts → instance-template-volume-expand-volumes-inner.d.ts} +5 -5
  17. package/dist/adminapi/models/instance-template-volume-expand-volumes-inner.d.ts.map +1 -0
  18. package/dist/adminapi/models/instance-template-volume-expand-volumes-inner.js +16 -0
  19. package/dist/adminapi/models/instance-template-volume-expand-volumes-inner.js.map +1 -0
  20. package/dist/adminapi/models/instance-template-volume-expand.d.ts +32 -0
  21. package/dist/adminapi/models/instance-template-volume-expand.d.ts.map +1 -0
  22. package/dist/adminapi/models/{ops-volume-expand-volumes-inner.js → instance-template-volume-expand.js} +1 -1
  23. package/dist/adminapi/models/instance-template-volume-expand.js.map +1 -0
  24. package/dist/adminapi/models/instance-template-vscale.d.ts +31 -0
  25. package/dist/adminapi/models/instance-template-vscale.d.ts.map +1 -0
  26. package/dist/adminapi/models/instance-template-vscale.js +16 -0
  27. package/dist/adminapi/models/instance-template-vscale.js.map +1 -0
  28. package/dist/adminapi/models/mode-component-instance-template.d.ts +7 -7
  29. package/dist/adminapi/models/mode-component-instance-template.d.ts.map +1 -1
  30. package/dist/adminapi/models/ops-volume-expand.d.ts +10 -3
  31. package/dist/adminapi/models/ops-volume-expand.d.ts.map +1 -1
  32. package/dist/adminapi/models/ops-vscale.d.ts +7 -0
  33. package/dist/adminapi/models/ops-vscale.d.ts.map +1 -1
  34. package/dist/openapi/models/component-item-create.d.ts +1 -1
  35. package/dist/openapi/models/index.d.ts +4 -2
  36. package/dist/openapi/models/index.d.ts.map +1 -1
  37. package/dist/openapi/models/index.js +4 -2
  38. package/dist/openapi/models/index.js.map +1 -1
  39. package/dist/openapi/models/{instance-template-overlay-field.d.ts → instance-template-attribute.d.ts} +6 -5
  40. package/dist/openapi/models/instance-template-attribute.d.ts.map +1 -0
  41. package/dist/openapi/models/{instance-template-overlay-field.js → instance-template-attribute.js} +7 -6
  42. package/dist/openapi/models/instance-template-attribute.js.map +1 -0
  43. package/dist/openapi/models/instance-template-create.d.ts +9 -3
  44. package/dist/openapi/models/instance-template-create.d.ts.map +1 -1
  45. package/dist/openapi/models/instance-template-op.d.ts +2 -0
  46. package/dist/openapi/models/instance-template-op.d.ts.map +1 -1
  47. package/dist/openapi/models/instance-template-op.js +3 -1
  48. package/dist/openapi/models/instance-template-op.js.map +1 -1
  49. package/dist/openapi/models/{ops-volume-expand-volumes-inner.d.ts → instance-template-volume-expand-volumes-inner.d.ts} +5 -5
  50. package/dist/openapi/models/instance-template-volume-expand-volumes-inner.d.ts.map +1 -0
  51. package/dist/openapi/models/instance-template-volume-expand-volumes-inner.js +16 -0
  52. package/dist/openapi/models/instance-template-volume-expand-volumes-inner.js.map +1 -0
  53. package/dist/openapi/models/instance-template-volume-expand.d.ts +32 -0
  54. package/dist/openapi/models/instance-template-volume-expand.d.ts.map +1 -0
  55. package/dist/openapi/models/{ops-volume-expand-volumes-inner.js → instance-template-volume-expand.js} +1 -1
  56. package/dist/openapi/models/instance-template-volume-expand.js.map +1 -0
  57. package/dist/openapi/models/instance-template-vscale.d.ts +31 -0
  58. package/dist/openapi/models/instance-template-vscale.d.ts.map +1 -0
  59. package/dist/openapi/models/instance-template-vscale.js +16 -0
  60. package/dist/openapi/models/instance-template-vscale.js.map +1 -0
  61. package/dist/openapi/models/mode-component-instance-template.d.ts +7 -7
  62. package/dist/openapi/models/mode-component-instance-template.d.ts.map +1 -1
  63. package/dist/openapi/models/ops-volume-expand.d.ts +10 -3
  64. package/dist/openapi/models/ops-volume-expand.d.ts.map +1 -1
  65. package/dist/openapi/models/ops-vscale.d.ts +7 -0
  66. package/dist/openapi/models/ops-vscale.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/src/adminapi/.openapi-generator/FILES +4 -2
  69. package/src/adminapi/models/component-item-create.ts +1 -1
  70. package/src/adminapi/models/index.ts +4 -2
  71. package/src/adminapi/models/{instance-template-overlay-field.ts → instance-template-attribute.ts} +6 -5
  72. package/src/adminapi/models/instance-template-create.ts +9 -3
  73. package/src/adminapi/models/instance-template-op.ts +3 -1
  74. package/src/adminapi/models/{ops-volume-expand-volumes-inner.ts → instance-template-volume-expand-volumes-inner.ts} +4 -4
  75. package/src/adminapi/models/instance-template-volume-expand.ts +39 -0
  76. package/src/adminapi/models/instance-template-vscale.ts +36 -0
  77. package/src/adminapi/models/mode-component-instance-template.ts +9 -9
  78. package/src/adminapi/models/ops-volume-expand.ts +12 -3
  79. package/src/adminapi/models/ops-vscale.ts +9 -0
  80. package/src/adminapi.yaml +78 -18
  81. package/src/openapi/.openapi-generator/FILES +4 -2
  82. package/src/openapi/models/component-item-create.ts +1 -1
  83. package/src/openapi/models/index.ts +4 -2
  84. package/src/openapi/models/{instance-template-overlay-field.ts → instance-template-attribute.ts} +6 -5
  85. package/src/openapi/models/instance-template-create.ts +9 -3
  86. package/src/openapi/models/instance-template-op.ts +3 -1
  87. package/src/openapi/models/{ops-volume-expand-volumes-inner.ts → instance-template-volume-expand-volumes-inner.ts} +4 -4
  88. package/src/openapi/models/instance-template-volume-expand.ts +39 -0
  89. package/src/openapi/models/instance-template-vscale.ts +36 -0
  90. package/src/openapi/models/mode-component-instance-template.ts +9 -9
  91. package/src/openapi/models/ops-volume-expand.ts +12 -3
  92. package/src/openapi/models/ops-vscale.ts +9 -0
  93. package/src/openapi.yaml +78 -18
  94. package/dist/adminapi/models/instance-template-overlay-field.d.ts.map +0 -1
  95. package/dist/adminapi/models/instance-template-overlay-field.js.map +0 -1
  96. package/dist/adminapi/models/ops-volume-expand-volumes-inner.d.ts.map +0 -1
  97. package/dist/adminapi/models/ops-volume-expand-volumes-inner.js.map +0 -1
  98. package/dist/openapi/models/instance-template-overlay-field.d.ts.map +0 -1
  99. package/dist/openapi/models/instance-template-overlay-field.js.map +0 -1
  100. package/dist/openapi/models/ops-volume-expand-volumes-inner.d.ts.map +0 -1
  101. package/dist/openapi/models/ops-volume-expand-volumes-inner.js.map +0 -1
@@ -15,20 +15,21 @@
15
15
 
16
16
 
17
17
  /**
18
- * Overlay field the frontend may render on an instance template.
18
+ * Heterogeneous attribute the frontend may render on an instance template at create.
19
19
  * @export
20
20
  * @enum {string}
21
21
  */
22
22
 
23
- export const InstanceTemplateOverlayField = {
24
- storageClass: 'storageClass',
23
+ export const InstanceTemplateAttribute = {
24
+ storageClassName: 'storageClassName',
25
25
  availabilityZone: 'availabilityZone',
26
26
  env: 'env',
27
27
  annotations: 'annotations',
28
- labels: 'labels'
28
+ labels: 'labels',
29
+ classCode: 'classCode'
29
30
  } as const;
30
31
 
31
- export type InstanceTemplateOverlayField = typeof InstanceTemplateOverlayField[keyof typeof InstanceTemplateOverlayField];
32
+ export type InstanceTemplateAttribute = typeof InstanceTemplateAttribute[keyof typeof InstanceTemplateAttribute];
32
33
 
33
34
 
34
35
 
@@ -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, annotations, and labels are optional overlays; omitted fields inherit the component. Node group is cluster-level. Class stays on the component so later component-level vscale applies. Volume sizes are copied onto each template. The request list fully replaces chart instances.
21
+ * Create assignment for one instance template. name and replicas are required. storageClassName, availabilityZone, env, annotations, labels, and classCode are optional overlays gated by instanceTemplate.attributes; omitted values inherit the component. Node group is cluster-level. Volume sizes are copied onto each template. The request list fully replaces chart instances.
22
22
  * @export
23
23
  * @interface InstanceTemplateCreate
24
24
  */
@@ -36,11 +36,17 @@ export interface InstanceTemplateCreate {
36
36
  */
37
37
  'replicas': number;
38
38
  /**
39
- * StorageClass for this template. Omit to inherit the component storageClass.
39
+ * StorageClassName for this template. Omit to inherit the component storageClass.
40
40
  * @type {string}
41
41
  * @memberof InstanceTemplateCreate
42
42
  */
43
- 'storageClass'?: string;
43
+ 'storageClassName'?: string;
44
+ /**
45
+ * Class code for this template. Omit to inherit the component class.
46
+ * @type {string}
47
+ * @memberof InstanceTemplateCreate
48
+ */
49
+ 'classCode'?: string;
44
50
  /**
45
51
  * Availability zone for this template. Omit to inherit component scheduling (no default zone is invented).
46
52
  * @type {string}
@@ -21,7 +21,9 @@
21
21
  */
22
22
 
23
23
  export const InstanceTemplateOp = {
24
- hscale: 'hscale'
24
+ hscale: 'hscale',
25
+ vscale: 'vscale',
26
+ volumeexpansion: 'volumeexpansion'
25
27
  } as const;
26
28
 
27
29
  export type InstanceTemplateOp = typeof InstanceTemplateOp[keyof typeof InstanceTemplateOp];
@@ -17,19 +17,19 @@
17
17
  /**
18
18
  *
19
19
  * @export
20
- * @interface OpsVolumeExpandVolumesInner
20
+ * @interface InstanceTemplateVolumeExpandVolumesInner
21
21
  */
22
- export interface OpsVolumeExpandVolumesInner {
22
+ export interface InstanceTemplateVolumeExpandVolumesInner {
23
23
  /**
24
24
  * volume name
25
25
  * @type {string}
26
- * @memberof OpsVolumeExpandVolumesInner
26
+ * @memberof InstanceTemplateVolumeExpandVolumesInner
27
27
  */
28
28
  'name': string;
29
29
  /**
30
30
  * Storage size, the unit is Gi.
31
31
  * @type {string}
32
- * @memberof OpsVolumeExpandVolumesInner
32
+ * @memberof InstanceTemplateVolumeExpandVolumesInner
33
33
  */
34
34
  'storage': string;
35
35
  }
@@ -0,0 +1,39 @@
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
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { InstanceTemplateVolumeExpandVolumesInner } from './instance-template-volume-expand-volumes-inner';
19
+
20
+ /**
21
+ * Volume expansion assignment for one instance template.
22
+ * @export
23
+ * @interface InstanceTemplateVolumeExpand
24
+ */
25
+ export interface InstanceTemplateVolumeExpand {
26
+ /**
27
+ * Instance template name declared on the engine option.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateVolumeExpand
30
+ */
31
+ 'name': string;
32
+ /**
33
+ *
34
+ * @type {Array<InstanceTemplateVolumeExpandVolumesInner>}
35
+ * @memberof InstanceTemplateVolumeExpand
36
+ */
37
+ 'volumes': Array<InstanceTemplateVolumeExpandVolumesInner>;
38
+ }
39
+
@@ -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.
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 for this instance template.
31
+ * @type {string}
32
+ * @memberof InstanceTemplateVScale
33
+ */
34
+ 'classCode': string;
35
+ }
36
+
@@ -15,16 +15,16 @@
15
15
 
16
16
  // May contain unused imports in some cases
17
17
  // @ts-ignore
18
- import type { InstanceTemplateEnv } from './instance-template-env';
18
+ import type { InstanceTemplateAttribute } from './instance-template-attribute';
19
19
  // May contain unused imports in some cases
20
20
  // @ts-ignore
21
- import type { InstanceTemplateOp } from './instance-template-op';
21
+ import type { InstanceTemplateEnv } from './instance-template-env';
22
22
  // May contain unused imports in some cases
23
23
  // @ts-ignore
24
- import type { InstanceTemplateOverlayField } from './instance-template-overlay-field';
24
+ import type { InstanceTemplateOp } from './instance-template-op';
25
25
 
26
26
  /**
27
- * Declares instance-template support for this mode component. Create requires instanceTemplates for every declared name; component replicas must equal the sum of those replica counts. HScale: instanceTemplates requires top-level replicas. Named templates attach as scaleIn/scaleOut.instances; omit names for component-level only. VScale is component-level only (no per-template class). 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 for every declared name; component replicas must equal the sum of those replica counts. HScale: instanceTemplates requires top-level replicas. Named templates attach as scaleIn/scaleOut.instances. ops catalogs hscale, vscale, and volumeexpansion; upgrade and restart stay component-level. volumeexpansion via instance templates is 400 until implemented. attributes catalogs create-time overlays. The platform does not even-split or fill in missing templates. When absent, the component uses component-level operations.
28
28
  * @export
29
29
  * @interface ModeComponentInstanceTemplate
30
30
  */
@@ -36,19 +36,19 @@ export interface ModeComponentInstanceTemplate {
36
36
  */
37
37
  'names': Set<string>;
38
38
  /**
39
- * Operations supported via instance templates. Currently only hscale.
39
+ * Operations supported via instance templates: hscale, vscale, volumeexpansion. Upgrade and restart stay component-level.
40
40
  * @type {Array<InstanceTemplateOp>}
41
41
  * @memberof ModeComponentInstanceTemplate
42
42
  */
43
43
  'ops': Array<InstanceTemplateOp>;
44
44
  /**
45
- * Overlay fields the frontend should render on each instance template. Omitted or empty means only name and replicas. Request fields not listed here are rejected. Includes storageClass, availabilityZone, env, annotations, labels.
46
- * @type {Set<InstanceTemplateOverlayField>}
45
+ * Heterogeneous attributes the frontend should render on each instance template at create. Omitted or empty means only name and replicas. Request attributes not listed here are rejected.
46
+ * @type {Set<InstanceTemplateAttribute>}
47
47
  * @memberof ModeComponentInstanceTemplate
48
48
  */
49
- 'fields'?: Set<InstanceTemplateOverlayField>;
49
+ 'attributes'?: Set<InstanceTemplateAttribute>;
50
50
  /**
51
- * Env vars the frontend may render when fields includes env. Each item is one fillable env name. Request env names must be in this list.
51
+ * Env vars the frontend may render when attributes includes env. Each item is one fillable env name. Request env names must be in this list.
52
52
  * @type {Array<InstanceTemplateEnv>}
53
53
  * @memberof ModeComponentInstanceTemplate
54
54
  */
@@ -15,7 +15,10 @@
15
15
 
16
16
  // May contain unused imports in some cases
17
17
  // @ts-ignore
18
- import type { OpsVolumeExpandVolumesInner } from './ops-volume-expand-volumes-inner';
18
+ import type { InstanceTemplateVolumeExpand } from './instance-template-volume-expand';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { InstanceTemplateVolumeExpandVolumesInner } from './instance-template-volume-expand-volumes-inner';
19
22
 
20
23
  /**
21
24
  * OpsVolumeExpand is the payload to expand volume for a KubeBlocks cluster
@@ -29,11 +32,17 @@ export interface OpsVolumeExpand {
29
32
  * @memberof OpsVolumeExpand
30
33
  */
31
34
  'component': string;
35
+ /**
36
+ * Per-template volume expansion. Schema is complete; apiserver currently returns 400 until instance-template volumeexpansion is implemented.
37
+ * @type {Array<InstanceTemplateVolumeExpand>}
38
+ * @memberof OpsVolumeExpand
39
+ */
40
+ 'instanceTemplates'?: Array<InstanceTemplateVolumeExpand>;
32
41
  /**
33
42
  *
34
- * @type {Array<OpsVolumeExpandVolumesInner>}
43
+ * @type {Array<InstanceTemplateVolumeExpandVolumesInner>}
35
44
  * @memberof OpsVolumeExpand
36
45
  */
37
- 'volumes': Array<OpsVolumeExpandVolumesInner>;
46
+ 'volumes': Array<InstanceTemplateVolumeExpandVolumesInner>;
38
47
  }
39
48
 
@@ -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';
@@ -47,6 +50,12 @@ export interface OpsVScale {
47
50
  * @memberof OpsVScale
48
51
  */
49
52
  'classCode'?: string;
53
+ /**
54
+ * Per-template classCode. Requires instanceTemplate.ops to include vscale. Names must be unique and declared.
55
+ * @type {Array<InstanceTemplateVScale>}
56
+ * @memberof OpsVScale
57
+ */
58
+ 'instanceTemplates'?: Array<InstanceTemplateVScale>;
50
59
  /**
51
60
  *
52
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, annotations, and labels are optional overlays; omitted fields inherit the component. Node group is cluster-level. Class stays on the component so later component-level vscale applies. Volume sizes are copied onto each template. The request list fully replaces chart instances.
24615
+ Create assignment for one instance template. name and replicas are required. storageClassName, availabilityZone, env, annotations, labels, and classCode are optional overlays gated by instanceTemplate.attributes; omitted values inherit the component. Node group is cluster-level. Volume sizes are copied onto each template. The request list fully replaces chart instances.
24616
24616
  required:
24617
24617
  - name
24618
24618
  - replicas
@@ -24625,9 +24625,12 @@ components:
24625
24625
  type: integer
24626
24626
  minimum: 1
24627
24627
  description: Replica count for this instance template.
24628
- storageClass:
24628
+ storageClassName:
24629
+ type: string
24630
+ description: StorageClassName for this template. Omit to inherit the component storageClass.
24631
+ classCode:
24629
24632
  type: string
24630
- description: StorageClass for this template. Omit to inherit the component storageClass.
24633
+ description: Class code for this template. Omit to inherit the component class.
24631
24634
  availabilityZone:
24632
24635
  type: string
24633
24636
  description: Availability zone for this template. Omit to inherit component scheduling (no default zone is invented).
@@ -24735,7 +24738,7 @@ components:
24735
24738
  instanceTemplates:
24736
24739
  type: array
24737
24740
  minItems: 1
24738
- description: Per-template replicas and optional overlays (storageClass, availabilityZone, env, annotations, labels). Node group is cluster-level and inherited. Required when the engine option declares instanceTemplate. Request instances fully replace the Helm chart instances list. Names must be in instanceTemplate.names. Component replicas must equal the sum of these replica counts.
24741
+ description: Per-template replicas and optional overlays (storageClassName, availabilityZone, env, annotations, labels, classCode). Node group is cluster-level and inherited. Required when the engine option declares instanceTemplate. Request instances fully replace the Helm chart instances list. Names must be in instanceTemplate.names. Component replicas must equal the sum of these replica counts.
24739
24742
  items:
24740
24743
  $ref: '#/components/schemas/instanceTemplateCreate'
24741
24744
  availabilityZone:
@@ -26601,12 +26604,44 @@ components:
26601
26604
  type: array
26602
26605
  items:
26603
26606
  $ref: '#/components/schemas/engineServiceVersionsItem'
26607
+ instanceTemplateVolumeExpand:
26608
+ type: object
26609
+ description: Volume expansion assignment for one instance template.
26610
+ required:
26611
+ - name
26612
+ - volumes
26613
+ properties:
26614
+ name:
26615
+ type: string
26616
+ minLength: 1
26617
+ description: Instance template name declared on the engine option.
26618
+ volumes:
26619
+ type: array
26620
+ minItems: 1
26621
+ items:
26622
+ type: object
26623
+ required:
26624
+ - name
26625
+ - storage
26626
+ properties:
26627
+ name:
26628
+ type: string
26629
+ description: volume name
26630
+ storage:
26631
+ type: string
26632
+ description: Storage size, the unit is Gi.
26604
26633
  opsVolumeExpand:
26605
26634
  description: OpsVolumeExpand is the payload to expand volume for a KubeBlocks cluster
26606
26635
  properties:
26607
26636
  component:
26608
26637
  type: string
26609
26638
  minLength: 1
26639
+ instanceTemplates:
26640
+ type: array
26641
+ minItems: 1
26642
+ description: Per-template volume expansion. Schema is complete; apiserver currently returns 400 until instance-template volumeexpansion is implemented.
26643
+ items:
26644
+ $ref: '#/components/schemas/instanceTemplateVolumeExpand'
26610
26645
  volumes:
26611
26646
  type: array
26612
26647
  minItems: 1
@@ -26626,6 +26661,21 @@ components:
26626
26661
  - volumes
26627
26662
  - component
26628
26663
  type: object
26664
+ instanceTemplateVScale:
26665
+ type: object
26666
+ description: VScale assignment for one instance template. name and classCode.
26667
+ required:
26668
+ - name
26669
+ - classCode
26670
+ properties:
26671
+ name:
26672
+ type: string
26673
+ minLength: 1
26674
+ description: Instance template name declared on the engine option.
26675
+ classCode:
26676
+ type: string
26677
+ minLength: 1
26678
+ description: Class code for this instance template.
26629
26679
  opsVScale:
26630
26680
  description: OpsVScale is the payload to vertically scale a KubeBlocks cluster
26631
26681
  required:
@@ -26644,6 +26694,12 @@ components:
26644
26694
  classCode:
26645
26695
  description: Class code for component-level vertical scaling.
26646
26696
  type: string
26697
+ instanceTemplates:
26698
+ type: array
26699
+ minItems: 1
26700
+ description: Per-template classCode. Requires instanceTemplate.ops to include vscale. Names must be unique and declared.
26701
+ items:
26702
+ $ref: '#/components/schemas/instanceTemplateVScale'
26647
26703
  schedule:
26648
26704
  $ref: '#/components/schemas/taskSchedule'
26649
26705
  type: object
@@ -31838,15 +31894,18 @@ components:
31838
31894
  description: Operation that can be declared on instanceTemplate.ops.
31839
31895
  enum:
31840
31896
  - hscale
31841
- instanceTemplateOverlayField:
31897
+ - vscale
31898
+ - volumeexpansion
31899
+ instanceTemplateAttribute:
31842
31900
  type: string
31843
- description: Overlay field the frontend may render on an instance template.
31901
+ description: Heterogeneous attribute the frontend may render on an instance template at create.
31844
31902
  enum:
31845
- - storageClass
31903
+ - storageClassName
31846
31904
  - availabilityZone
31847
31905
  - env
31848
31906
  - annotations
31849
31907
  - labels
31908
+ - classCode
31850
31909
  instanceTemplateEnv:
31851
31910
  type: object
31852
31911
  description: One fillable env var on an instance template, for frontend rendering.
@@ -31895,10 +31954,11 @@ components:
31895
31954
  Create requires instanceTemplates for every declared name; component
31896
31955
  replicas must equal the sum of those replica counts.
31897
31956
  HScale: instanceTemplates requires top-level replicas. Named templates
31898
- attach as scaleIn/scaleOut.instances; omit names for component-level only.
31899
- VScale is component-level only (no per-template class).
31957
+ attach as scaleIn/scaleOut.instances.
31958
+ ops catalogs hscale, vscale, and volumeexpansion; upgrade and restart
31959
+ stay component-level. volumeexpansion via instance templates is 400
31960
+ until implemented. attributes catalogs create-time overlays.
31900
31961
  The platform does not even-split or fill in missing templates.
31901
- Instance online/offline can be set together with instanceTemplates.
31902
31962
  When absent, the component uses component-level operations.
31903
31963
  required:
31904
31964
  - names
@@ -31920,21 +31980,21 @@ components:
31920
31980
  items:
31921
31981
  $ref: '#/components/schemas/instanceTemplateOp'
31922
31982
  description: |
31923
- Operations supported via instance templates. Currently only hscale.
31924
- fields:
31983
+ Operations supported via instance templates: hscale, vscale,
31984
+ volumeexpansion. Upgrade and restart stay component-level.
31985
+ attributes:
31925
31986
  type: array
31926
31987
  uniqueItems: true
31927
31988
  items:
31928
- $ref: '#/components/schemas/instanceTemplateOverlayField'
31989
+ $ref: '#/components/schemas/instanceTemplateAttribute'
31929
31990
  description: |
31930
- Overlay fields the frontend should render on each instance template.
31931
- Omitted or empty means only name and replicas. Request fields not
31932
- listed here are rejected. Includes storageClass,
31933
- availabilityZone, env, annotations, labels.
31991
+ Heterogeneous attributes the frontend should render on each
31992
+ instance template at create. Omitted or empty means only name
31993
+ and replicas. Request attributes not listed here are rejected.
31934
31994
  env:
31935
31995
  type: array
31936
31996
  description: |
31937
- Env vars the frontend may render when fields includes env.
31997
+ Env vars the frontend may render when attributes includes env.
31938
31998
  Each item is one fillable env name. Request env names must be in
31939
31999
  this list.
31940
32000
  items:
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-template-overlay-field.d.ts","sourceRoot":"","sources":["../../../src/adminapi/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-template-overlay-field.js","sourceRoot":"","sources":["../../../src/adminapi/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;IAC1B,MAAM,EAAE,QAAQ;CACV,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops-volume-expand-volumes-inner.d.ts","sourceRoot":"","sources":["../../../src/adminapi/models/ops-volume-expand-volumes-inner.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAIH;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops-volume-expand-volumes-inner.js","sourceRoot":"","sources":["../../../src/adminapi/models/ops-volume-expand-volumes-inner.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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;IAC1B,MAAM,EAAE,QAAQ;CACV,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops-volume-expand-volumes-inner.d.ts","sourceRoot":"","sources":["../../../src/openapi/models/ops-volume-expand-volumes-inner.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAIH;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops-volume-expand-volumes-inner.js","sourceRoot":"","sources":["../../../src/openapi/models/ops-volume-expand-volumes-inner.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG"}