kb-cloud-client-typescript 2.3.31 → 2.3.32

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 (132) hide show
  1. package/dist/adminapi/apis/vip-pool-api.d.ts +72 -0
  2. package/dist/adminapi/apis/vip-pool-api.d.ts.map +1 -1
  3. package/dist/adminapi/apis/vip-pool-api.js +80 -0
  4. package/dist/adminapi/apis/vip-pool-api.js.map +1 -1
  5. package/dist/adminapi/models/cluster-create.d.ts +6 -0
  6. package/dist/adminapi/models/cluster-create.d.ts.map +1 -1
  7. package/dist/adminapi/models/component-item-create.d.ts +8 -1
  8. package/dist/adminapi/models/component-item-create.d.ts.map +1 -1
  9. package/dist/adminapi/models/index.d.ts +8 -0
  10. package/dist/adminapi/models/index.d.ts.map +1 -1
  11. package/dist/adminapi/models/index.js +8 -0
  12. package/dist/adminapi/models/index.js.map +1 -1
  13. package/dist/adminapi/models/instance-template-attribute.d.ts +23 -0
  14. package/dist/adminapi/models/instance-template-attribute.d.ts.map +1 -0
  15. package/dist/adminapi/models/instance-template-attribute.js +27 -0
  16. package/dist/adminapi/models/instance-template-attribute.js.map +1 -0
  17. package/dist/adminapi/models/instance-template-create-env-inner.d.ts +31 -0
  18. package/dist/adminapi/models/instance-template-create-env-inner.d.ts.map +1 -0
  19. package/dist/adminapi/models/instance-template-create-env-inner.js +16 -0
  20. package/dist/adminapi/models/instance-template-create-env-inner.js.map +1 -0
  21. package/dist/adminapi/models/instance-template-create.d.ts +54 -0
  22. package/dist/adminapi/models/instance-template-create.d.ts.map +1 -0
  23. package/dist/adminapi/models/instance-template-create.js +16 -0
  24. package/dist/adminapi/models/instance-template-create.js.map +1 -0
  25. package/dist/adminapi/models/instance-template-env.d.ts +50 -0
  26. package/dist/adminapi/models/instance-template-env.d.ts.map +1 -0
  27. package/dist/adminapi/models/instance-template-env.js +16 -0
  28. package/dist/adminapi/models/instance-template-env.js.map +1 -0
  29. package/dist/adminapi/models/instance-template-op.d.ts +22 -0
  30. package/dist/adminapi/models/instance-template-op.d.ts.map +1 -0
  31. package/dist/adminapi/models/instance-template-op.js +26 -0
  32. package/dist/adminapi/models/instance-template-op.js.map +1 -0
  33. package/dist/adminapi/models/instance-template-replicas.d.ts +31 -0
  34. package/dist/adminapi/models/instance-template-replicas.d.ts.map +1 -0
  35. package/dist/adminapi/models/instance-template-replicas.js +16 -0
  36. package/dist/adminapi/models/instance-template-replicas.js.map +1 -0
  37. package/dist/adminapi/models/mode-component-instance-template.d.ts +46 -0
  38. package/dist/adminapi/models/mode-component-instance-template.d.ts.map +1 -0
  39. package/dist/adminapi/models/mode-component-instance-template.js +16 -0
  40. package/dist/adminapi/models/mode-component-instance-template.js.map +1 -0
  41. package/dist/adminapi/models/mode-component.d.ts +7 -0
  42. package/dist/adminapi/models/mode-component.d.ts.map +1 -1
  43. package/dist/adminapi/models/ops-hscale.d.ts +8 -1
  44. package/dist/adminapi/models/ops-hscale.d.ts.map +1 -1
  45. package/dist/adminapi/models/ops-vscale.d.ts +1 -1
  46. package/dist/adminapi/models/vip-pool-create.d.ts +6 -0
  47. package/dist/adminapi/models/vip-pool-create.d.ts.map +1 -1
  48. package/dist/adminapi/models/vip-pool-update.d.ts +25 -0
  49. package/dist/adminapi/models/vip-pool-update.d.ts.map +1 -0
  50. package/dist/adminapi/models/vip-pool-update.js +16 -0
  51. package/dist/adminapi/models/vip-pool-update.js.map +1 -0
  52. package/dist/adminapi/models/vip-pool.d.ts +12 -0
  53. package/dist/adminapi/models/vip-pool.d.ts.map +1 -1
  54. package/dist/openapi/models/cluster-create.d.ts +6 -0
  55. package/dist/openapi/models/cluster-create.d.ts.map +1 -1
  56. package/dist/openapi/models/component-item-create.d.ts +8 -1
  57. package/dist/openapi/models/component-item-create.d.ts.map +1 -1
  58. package/dist/openapi/models/index.d.ts +7 -0
  59. package/dist/openapi/models/index.d.ts.map +1 -1
  60. package/dist/openapi/models/index.js +7 -0
  61. package/dist/openapi/models/index.js.map +1 -1
  62. package/dist/openapi/models/instance-template-attribute.d.ts +23 -0
  63. package/dist/openapi/models/instance-template-attribute.d.ts.map +1 -0
  64. package/dist/openapi/models/instance-template-attribute.js +27 -0
  65. package/dist/openapi/models/instance-template-attribute.js.map +1 -0
  66. package/dist/openapi/models/instance-template-create-env-inner.d.ts +31 -0
  67. package/dist/openapi/models/instance-template-create-env-inner.d.ts.map +1 -0
  68. package/dist/openapi/models/instance-template-create-env-inner.js +16 -0
  69. package/dist/openapi/models/instance-template-create-env-inner.js.map +1 -0
  70. package/dist/openapi/models/instance-template-create.d.ts +54 -0
  71. package/dist/openapi/models/instance-template-create.d.ts.map +1 -0
  72. package/dist/openapi/models/instance-template-create.js +16 -0
  73. package/dist/openapi/models/instance-template-create.js.map +1 -0
  74. package/dist/openapi/models/instance-template-env.d.ts +50 -0
  75. package/dist/openapi/models/instance-template-env.d.ts.map +1 -0
  76. package/dist/openapi/models/instance-template-env.js +16 -0
  77. package/dist/openapi/models/instance-template-env.js.map +1 -0
  78. package/dist/openapi/models/instance-template-op.d.ts +22 -0
  79. package/dist/openapi/models/instance-template-op.d.ts.map +1 -0
  80. package/dist/openapi/models/instance-template-op.js +26 -0
  81. package/dist/openapi/models/instance-template-op.js.map +1 -0
  82. package/dist/openapi/models/instance-template-replicas.d.ts +31 -0
  83. package/dist/openapi/models/instance-template-replicas.d.ts.map +1 -0
  84. package/dist/openapi/models/instance-template-replicas.js +16 -0
  85. package/dist/openapi/models/instance-template-replicas.js.map +1 -0
  86. package/dist/openapi/models/mode-component-instance-template.d.ts +46 -0
  87. package/dist/openapi/models/mode-component-instance-template.d.ts.map +1 -0
  88. package/dist/openapi/models/mode-component-instance-template.js +16 -0
  89. package/dist/openapi/models/mode-component-instance-template.js.map +1 -0
  90. package/dist/openapi/models/mode-component.d.ts +7 -0
  91. package/dist/openapi/models/mode-component.d.ts.map +1 -1
  92. package/dist/openapi/models/ops-hscale.d.ts +8 -1
  93. package/dist/openapi/models/ops-hscale.d.ts.map +1 -1
  94. package/dist/openapi/models/ops-vscale.d.ts +1 -1
  95. package/dist/openapi/models/vip-pool.d.ts +12 -0
  96. package/dist/openapi/models/vip-pool.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/src/adminapi/.openapi-generator/FILES +8 -0
  99. package/src/adminapi/apis/vip-pool-api.ts +128 -0
  100. package/src/adminapi/models/cluster-create.ts +6 -0
  101. package/src/adminapi/models/component-item-create.ts +10 -1
  102. package/src/adminapi/models/index.ts +8 -0
  103. package/src/adminapi/models/instance-template-attribute.ts +32 -0
  104. package/src/adminapi/models/instance-template-create-env-inner.ts +36 -0
  105. package/src/adminapi/models/instance-template-create.ts +57 -0
  106. package/src/adminapi/models/instance-template-env.ts +57 -0
  107. package/src/adminapi/models/instance-template-op.ts +31 -0
  108. package/src/adminapi/models/instance-template-replicas.ts +36 -0
  109. package/src/adminapi/models/mode-component-instance-template.ts +57 -0
  110. package/src/adminapi/models/mode-component.ts +9 -0
  111. package/src/adminapi/models/ops-hscale.ts +10 -1
  112. package/src/adminapi/models/ops-vscale.ts +1 -1
  113. package/src/adminapi/models/vip-pool-create.ts +6 -0
  114. package/src/adminapi/models/vip-pool-update.ts +30 -0
  115. package/src/adminapi/models/vip-pool.ts +12 -0
  116. package/src/adminapi.yaml +228 -3
  117. package/src/openapi/.openapi-generator/FILES +7 -0
  118. package/src/openapi/models/cluster-create.ts +6 -0
  119. package/src/openapi/models/component-item-create.ts +10 -1
  120. package/src/openapi/models/index.ts +7 -0
  121. package/src/openapi/models/instance-template-attribute.ts +32 -0
  122. package/src/openapi/models/instance-template-create-env-inner.ts +36 -0
  123. package/src/openapi/models/instance-template-create.ts +57 -0
  124. package/src/openapi/models/instance-template-env.ts +57 -0
  125. package/src/openapi/models/instance-template-op.ts +31 -0
  126. package/src/openapi/models/instance-template-replicas.ts +36 -0
  127. package/src/openapi/models/mode-component-instance-template.ts +57 -0
  128. package/src/openapi/models/mode-component.ts +9 -0
  129. package/src/openapi/models/ops-hscale.ts +10 -1
  130. package/src/openapi/models/ops-vscale.ts +1 -1
  131. package/src/openapi/models/vip-pool.ts +12 -0
  132. package/src/openapi.yaml +175 -3
@@ -511,6 +511,12 @@ export * from './instance-metrics';
511
511
  export * from './instance-metrics-list';
512
512
  export * from './instance-status';
513
513
  export * from './instance-storage-item';
514
+ export * from './instance-template-attribute';
515
+ export * from './instance-template-create';
516
+ export * from './instance-template-create-env-inner';
517
+ export * from './instance-template-env';
518
+ export * from './instance-template-op';
519
+ export * from './instance-template-replicas';
514
520
  export * from './integer-option';
515
521
  export * from './international-desc';
516
522
  export * from './io-quantity';
@@ -573,6 +579,7 @@ export * from './milvus-role-list';
573
579
  export * from './milvus-role-request';
574
580
  export * from './mode-compatible-kubeblocks-version';
575
581
  export * from './mode-component';
582
+ export * from './mode-component-instance-template';
576
583
  export * from './mode-object-storage';
577
584
  export * from './mode-object-storage-additional-helm-value-path';
578
585
  export * from './mode-object-storage-service-ref';
@@ -0,0 +1,32 @@
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
+ * Heterogeneous attribute the frontend may render on an instance template at create.
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const InstanceTemplateAttribute = {
24
+ env: 'env',
25
+ annotations: 'annotations',
26
+ labels: 'labels'
27
+ } as const;
28
+
29
+ export type InstanceTemplateAttribute = typeof InstanceTemplateAttribute[keyof typeof InstanceTemplateAttribute];
30
+
31
+
32
+
@@ -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
+ *
19
+ * @export
20
+ * @interface InstanceTemplateCreateEnvInner
21
+ */
22
+ export interface InstanceTemplateCreateEnvInner {
23
+ /**
24
+ *
25
+ * @type {string}
26
+ * @memberof InstanceTemplateCreateEnvInner
27
+ */
28
+ 'name': string;
29
+ /**
30
+ * Plain string value only. valueFrom is not supported.
31
+ * @type {string}
32
+ * @memberof InstanceTemplateCreateEnvInner
33
+ */
34
+ 'value': string;
35
+ }
36
+
@@ -0,0 +1,57 @@
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 { InstanceTemplateCreateEnvInner } from './instance-template-create-env-inner';
19
+
20
+ /**
21
+ * Create assignment for one instance template. name and replicas are required. env, annotations, and labels are optional overlays onto the chart-rendered instance. The request must include every chart-rendered instance template exactly once.
22
+ * @export
23
+ * @interface InstanceTemplateCreate
24
+ */
25
+ export interface InstanceTemplateCreate {
26
+ /**
27
+ * Instance template name; must match a chart-rendered instance.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateCreate
30
+ */
31
+ 'name': string;
32
+ /**
33
+ * Replica count for this instance template.
34
+ * @type {number}
35
+ * @memberof InstanceTemplateCreate
36
+ */
37
+ 'replicas': number;
38
+ /**
39
+ * Simple env vars (name and value only) merged into this template. valueFrom is not supported; overlaying a name clears any chart valueFrom.
40
+ * @type {Array<InstanceTemplateCreateEnvInner>}
41
+ * @memberof InstanceTemplateCreate
42
+ */
43
+ 'env'?: Array<InstanceTemplateCreateEnvInner>;
44
+ /**
45
+ * Annotation map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
46
+ * @type {{ [key: string]: string; }}
47
+ * @memberof InstanceTemplateCreate
48
+ */
49
+ 'annotations'?: { [key: string]: string; };
50
+ /**
51
+ * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
52
+ * @type {{ [key: string]: string; }}
53
+ * @memberof InstanceTemplateCreate
54
+ */
55
+ 'labels'?: { [key: string]: string; };
56
+ }
57
+
@@ -0,0 +1,57 @@
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 { LocalizedDescription } from './localized-description';
19
+
20
+ /**
21
+ * One fillable env var on an instance template, for frontend rendering.
22
+ * @export
23
+ * @interface InstanceTemplateEnv
24
+ */
25
+ export interface InstanceTemplateEnv {
26
+ /**
27
+ * Env var name written to the instance template.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateEnv
30
+ */
31
+ 'name': string;
32
+ /**
33
+ *
34
+ * @type {LocalizedDescription}
35
+ * @memberof InstanceTemplateEnv
36
+ */
37
+ 'label'?: LocalizedDescription;
38
+ /**
39
+ *
40
+ * @type {LocalizedDescription}
41
+ * @memberof InstanceTemplateEnv
42
+ */
43
+ 'description'?: LocalizedDescription;
44
+ /**
45
+ * If true, the frontend should treat this env as required. Create does not re-check.
46
+ * @type {boolean}
47
+ * @memberof InstanceTemplateEnv
48
+ */
49
+ 'required'?: boolean;
50
+ /**
51
+ * Default value shown by the frontend.
52
+ * @type {string}
53
+ * @memberof InstanceTemplateEnv
54
+ */
55
+ 'default'?: string;
56
+ }
57
+
@@ -0,0 +1,31 @@
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
+ * Operation that can be declared on instanceTemplate.ops.
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const InstanceTemplateOp = {
24
+ hscale: 'hscale',
25
+ vscale: 'vscale'
26
+ } as const;
27
+
28
+ export type InstanceTemplateOp = typeof InstanceTemplateOp[keyof typeof InstanceTemplateOp];
29
+
30
+
31
+
@@ -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
+ * HScale assignment for one instance template. name and replicas only.
19
+ * @export
20
+ * @interface InstanceTemplateReplicas
21
+ */
22
+ export interface InstanceTemplateReplicas {
23
+ /**
24
+ * Instance template name on the live Cluster spec.
25
+ * @type {string}
26
+ * @memberof InstanceTemplateReplicas
27
+ */
28
+ 'name': string;
29
+ /**
30
+ * Target replica count for this instance template.
31
+ * @type {number}
32
+ * @memberof InstanceTemplateReplicas
33
+ */
34
+ 'replicas': number;
35
+ }
36
+
@@ -0,0 +1,57 @@
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 { InstanceTemplateAttribute } from './instance-template-attribute';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { InstanceTemplateEnv } from './instance-template-env';
22
+ // May contain unused imports in some cases
23
+ // @ts-ignore
24
+ import type { InstanceTemplateOp } from './instance-template-op';
25
+
26
+ /**
27
+ * Frontend catalog of instance templates for this mode component. names, ops, attributes, and env are for UI rendering. Create validates the request against chart-rendered Cluster instances, not this catalog. HScale does not re-check this catalog; it builds the OpsRequest from the request and the live Cluster. HScale instanceTemplates still requires top-level replicas. ops lists hscale and vscale for the UI (vscale is reserved; class stays component-level). Only HScale processes instance templates. VolumeExpansion, VScale, Upgrade, Restart, and other operations silently ignore instance templates and keep their component-level behavior. Template-level volumeexpansion is not implemented. The platform does not even-split or fill in missing templates. When absent, the frontend should use component-level operations.
28
+ * @export
29
+ * @interface ModeComponentInstanceTemplate
30
+ */
31
+ export interface ModeComponentInstanceTemplate {
32
+ /**
33
+ * Instance template names the frontend should render. Create and hscale check names against the chart or live Cluster, not this list.
34
+ * @type {Set<string>}
35
+ * @memberof ModeComponentInstanceTemplate
36
+ */
37
+ 'names': Set<string>;
38
+ /**
39
+ * Operations the frontend should offer per template: hscale, vscale. Not re-checked when creating a cluster or building an hscale OpsRequest. Only hscale currently acts per template; vscale is reserved. VolumeExpansion, VScale, Upgrade, and Restart ignore instance templates and keep their component-level behavior.
40
+ * @type {Array<InstanceTemplateOp>}
41
+ * @memberof ModeComponentInstanceTemplate
42
+ */
43
+ 'ops': Array<InstanceTemplateOp>;
44
+ /**
45
+ * Heterogeneous attributes the frontend should render on each instance template at create. Omitted or empty means only name and replicas. Create overlays the request onto the chart and does not re-check this list.
46
+ * @type {Set<InstanceTemplateAttribute>}
47
+ * @memberof ModeComponentInstanceTemplate
48
+ */
49
+ 'attributes'?: Set<InstanceTemplateAttribute>;
50
+ /**
51
+ * Env vars the frontend may render when attributes includes env. Create does not re-check this list.
52
+ * @type {Array<InstanceTemplateEnv>}
53
+ * @memberof ModeComponentInstanceTemplate
54
+ */
55
+ 'env'?: Array<InstanceTemplateEnv>;
56
+ }
57
+
@@ -13,6 +13,9 @@
13
13
  */
14
14
 
15
15
 
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { ModeComponentInstanceTemplate } from './mode-component-instance-template';
16
19
  // May contain unused imports in some cases
17
20
  // @ts-ignore
18
21
  import type { ModeReadonlyEndpoint } from './mode-readonly-endpoint';
@@ -41,6 +44,12 @@ export interface ModeComponent {
41
44
  * @memberof ModeComponent
42
45
  */
43
46
  'hideOnCreate': boolean;
47
+ /**
48
+ *
49
+ * @type {ModeComponentInstanceTemplate}
50
+ * @memberof ModeComponent
51
+ */
52
+ 'instanceTemplate'?: ModeComponentInstanceTemplate;
44
53
  /**
45
54
  * the name of the serviceRef defined in mode\'s serviceRefs. If set, it means a serviceRef can be used to replace this component.
46
55
  * @type {string}
@@ -13,12 +13,15 @@
13
13
  */
14
14
 
15
15
 
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { InstanceTemplateReplicas } from './instance-template-replicas';
16
19
  // May contain unused imports in some cases
17
20
  // @ts-ignore
18
21
  import type { TaskSchedule } from './task-schedule';
19
22
 
20
23
  /**
21
- * OpsHScale is the payload to horizontally scale a KubeBlocks cluster. It requires specifying either the number of replicas or the number of shards.
24
+ * OpsHScale is the payload to horizontally scale a KubeBlocks cluster. Specify replicas or shards. instanceTemplates is an optional overlay and requires top-level replicas.
22
25
  * @export
23
26
  * @interface OpsHScale
24
27
  */
@@ -41,6 +44,12 @@ export interface OpsHScale {
41
44
  * @memberof OpsHScale
42
45
  */
43
46
  'replicas'?: number | null;
47
+ /**
48
+ * Target replica count for named instance templates. Requires top-level replicas. Mapped onto the live Cluster spec to build scaleIn/scaleOut.instances. Required for replica scaling when the live component has instance templates. Names must exactly match all live instance templates, without missing, extra, or duplicate names; order does not matter. Top-level replicas must equal the sum of all requested template replica counts. Shard-count scaling does not check templates and cannot include this list.
49
+ * @type {Array<InstanceTemplateReplicas>}
50
+ * @memberof OpsHScale
51
+ */
52
+ 'instanceTemplates'?: Array<InstanceTemplateReplicas>;
44
53
  /**
45
54
  * List of online instance names to be switched to offline during scaling in.
46
55
  * @type {Array<string>}
@@ -42,7 +42,7 @@ export interface OpsVScale {
42
42
  */
43
43
  'memory'?: string;
44
44
  /**
45
- * class code of the cluster
45
+ * Class code for component-level vertical scaling.
46
46
  * @type {string}
47
47
  * @memberof OpsVScale
48
48
  */
@@ -32,6 +32,18 @@ export interface VipPool {
32
32
  * @memberof VipPool
33
33
  */
34
34
  'id'?: string;
35
+ /**
36
+ * Name of VIP Pool. It is the MetalLB IPAddressPool resource name, generated as kb-<id>.
37
+ * @type {string}
38
+ * @memberof VipPool
39
+ */
40
+ 'name'?: string;
41
+ /**
42
+ * User facing name of the VIP Pool, used to select the pool when creating a cluster. It falls back to the IPAddressPool resource name.
43
+ * @type {string}
44
+ * @memberof VipPool
45
+ */
46
+ 'poolName'?: string;
35
47
  /**
36
48
  * Total number of IP addresses
37
49
  * @type {number}
package/src/openapi.yaml CHANGED
@@ -24467,6 +24467,14 @@ components:
24467
24467
  description: ID of VIP Pool
24468
24468
  title: ID
24469
24469
  type: string
24470
+ name:
24471
+ description: Name of VIP Pool. It is the MetalLB IPAddressPool resource name, generated as kb-<id>.
24472
+ title: Name
24473
+ type: string
24474
+ poolName:
24475
+ description: User facing name of the VIP Pool, used to select the pool when creating a cluster. It falls back to the IPAddressPool resource name.
24476
+ title: Pool Name
24477
+ type: string
24470
24478
  total:
24471
24479
  description: Total number of IP addresses
24472
24480
  format: int64
@@ -25512,6 +25520,48 @@ components:
25512
25520
  enum:
25513
25521
  - DoNotTerminate
25514
25522
  - Delete
25523
+ instanceTemplateCreate:
25524
+ type: object
25525
+ additionalProperties: false
25526
+ description: |
25527
+ Create assignment for one instance template. name and replicas are required. env, annotations, and labels are optional overlays onto the chart-rendered instance. The request must include every chart-rendered instance template exactly once.
25528
+ required:
25529
+ - name
25530
+ - replicas
25531
+ properties:
25532
+ name:
25533
+ type: string
25534
+ minLength: 1
25535
+ description: Instance template name; must match a chart-rendered instance.
25536
+ replicas:
25537
+ type: integer
25538
+ minimum: 0
25539
+ description: Replica count for this instance template.
25540
+ env:
25541
+ type: array
25542
+ description: Simple env vars (name and value only) merged into this template. valueFrom is not supported; overlaying a name clears any chart valueFrom.
25543
+ items:
25544
+ type: object
25545
+ required:
25546
+ - name
25547
+ - value
25548
+ properties:
25549
+ name:
25550
+ type: string
25551
+ value:
25552
+ type: string
25553
+ minLength: 1
25554
+ description: Plain string value only. valueFrom is not supported.
25555
+ annotations:
25556
+ type: object
25557
+ additionalProperties:
25558
+ type: string
25559
+ description: Annotation map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
25560
+ labels:
25561
+ type: object
25562
+ additionalProperties:
25563
+ type: string
25564
+ description: Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
25515
25565
  ioQuantity:
25516
25566
  description: IO Quantity describes IOPS and BPS of a volume
25517
25567
  properties:
@@ -25589,7 +25639,13 @@ components:
25589
25639
  replicas:
25590
25640
  title: Replicas
25591
25641
  type: integer
25592
- description: The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3.
25642
+ description: The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3. If the rendered component has instance templates, this must equal the sum of all template replica counts in the complete instanceTemplates list.
25643
+ instanceTemplates:
25644
+ type: array
25645
+ minItems: 1
25646
+ description: Per-template replicas and optional overlays (env, annotations, labels). Required when the chart renders instance templates. Names must exactly match all chart-rendered instances, without missing, extra, or duplicate names; order does not matter. Component replicas must equal the sum of all requested instance template replica counts.
25647
+ items:
25648
+ $ref: '#/components/schemas/instanceTemplateCreate'
25593
25649
  skipResourceConstraints:
25594
25650
  type: boolean
25595
25651
  description: Whether to skip resource constraint validation when creating cluster
@@ -25870,6 +25926,10 @@ components:
25870
25926
  networkMode:
25871
25927
  description: Specify the network mode for intra-cluster communication
25872
25928
  $ref: '#/components/schemas/networkMode'
25929
+ vipPoolName:
25930
+ title: VIP Pool Name
25931
+ description: Name of the VIP Pool (VIP Pool poolName) used as the MetalLB address pool for LoadBalancer services. Only effective when networkMode is LoadBalancer.
25932
+ type: string
25873
25933
  serviceRefs:
25874
25934
  type: array
25875
25935
  items:
@@ -26493,8 +26553,23 @@ components:
26493
26553
  x-nullable: true
26494
26554
  required:
26495
26555
  - type
26556
+ instanceTemplateReplicas:
26557
+ type: object
26558
+ description: HScale assignment for one instance template. name and replicas only.
26559
+ required:
26560
+ - name
26561
+ - replicas
26562
+ properties:
26563
+ name:
26564
+ type: string
26565
+ minLength: 1
26566
+ description: Instance template name on the live Cluster spec.
26567
+ replicas:
26568
+ type: integer
26569
+ minimum: 0
26570
+ description: Target replica count for this instance template.
26496
26571
  opsHScale:
26497
- description: OpsHScale is the payload to horizontally scale a KubeBlocks cluster. It requires specifying either the number of replicas or the number of shards.
26572
+ description: OpsHScale is the payload to horizontally scale a KubeBlocks cluster. Specify replicas or shards. instanceTemplates is an optional overlay and requires top-level replicas.
26498
26573
  required:
26499
26574
  - component
26500
26575
  properties:
@@ -26510,6 +26585,12 @@ components:
26510
26585
  description: number of replicas
26511
26586
  type: integer
26512
26587
  nullable: true
26588
+ instanceTemplates:
26589
+ type: array
26590
+ minItems: 1
26591
+ description: Target replica count for named instance templates. Requires top-level replicas. Mapped onto the live Cluster spec to build scaleIn/scaleOut.instances. Required for replica scaling when the live component has instance templates. Names must exactly match all live instance templates, without missing, extra, or duplicate names; order does not matter. Top-level replicas must equal the sum of all requested template replica counts. Shard-count scaling does not check templates and cannot include this list.
26592
+ items:
26593
+ $ref: '#/components/schemas/instanceTemplateReplicas'
26513
26594
  onlineInstancesToOffline:
26514
26595
  type: array
26515
26596
  items:
@@ -27472,7 +27553,7 @@ components:
27472
27553
  description: memory size
27473
27554
  type: string
27474
27555
  classCode:
27475
- description: class code of the cluster
27556
+ description: Class code for component-level vertical scaling.
27476
27557
  type: string
27477
27558
  schedule:
27478
27559
  $ref: '#/components/schemas/taskSchedule'
@@ -32704,6 +32785,39 @@ components:
32704
32785
  enum:
32705
32786
  - '0.9'
32706
32787
  - '1.0'
32788
+ instanceTemplateOp:
32789
+ type: string
32790
+ description: Operation that can be declared on instanceTemplate.ops.
32791
+ enum:
32792
+ - hscale
32793
+ - vscale
32794
+ instanceTemplateAttribute:
32795
+ type: string
32796
+ description: Heterogeneous attribute the frontend may render on an instance template at create.
32797
+ enum:
32798
+ - env
32799
+ - annotations
32800
+ - labels
32801
+ instanceTemplateEnv:
32802
+ type: object
32803
+ description: One fillable env var on an instance template, for frontend rendering.
32804
+ required:
32805
+ - name
32806
+ properties:
32807
+ name:
32808
+ type: string
32809
+ minLength: 1
32810
+ description: Env var name written to the instance template.
32811
+ label:
32812
+ $ref: '#/components/schemas/localizedDescription'
32813
+ description:
32814
+ $ref: '#/components/schemas/localizedDescription'
32815
+ required:
32816
+ type: boolean
32817
+ description: If true, the frontend should treat this env as required. Create does not re-check.
32818
+ default:
32819
+ type: string
32820
+ description: Default value shown by the frontend.
32707
32821
  modeReadonlyEndpoint:
32708
32822
  type: object
32709
32823
  required:
@@ -32725,6 +32839,64 @@ components:
32725
32839
  type: boolean
32726
32840
  hideOnCreate:
32727
32841
  type: boolean
32842
+ instanceTemplate:
32843
+ type: object
32844
+ description: |
32845
+ Frontend catalog of instance templates for this mode component.
32846
+ names, ops, attributes, and env are for UI rendering. Create
32847
+ validates the request against chart-rendered Cluster instances,
32848
+ not this catalog. HScale does not re-check this catalog; it
32849
+ builds the OpsRequest from the request and the live Cluster.
32850
+ HScale instanceTemplates still requires top-level replicas.
32851
+ ops lists hscale and vscale for the UI (vscale is reserved;
32852
+ class stays component-level). Only HScale processes instance templates.
32853
+ VolumeExpansion, VScale, Upgrade, Restart, and other operations silently
32854
+ ignore instance templates and keep their component-level behavior.
32855
+ Template-level volumeexpansion is not implemented.
32856
+ The platform does not even-split or fill in missing templates.
32857
+ When absent, the frontend should use component-level operations.
32858
+ required:
32859
+ - names
32860
+ - ops
32861
+ properties:
32862
+ names:
32863
+ type: array
32864
+ minItems: 1
32865
+ uniqueItems: true
32866
+ items:
32867
+ type: string
32868
+ description: |
32869
+ Instance template names the frontend should render.
32870
+ Create and hscale check names against the chart or live Cluster,
32871
+ not this list.
32872
+ ops:
32873
+ type: array
32874
+ minItems: 1
32875
+ items:
32876
+ $ref: '#/components/schemas/instanceTemplateOp'
32877
+ description: |
32878
+ Operations the frontend should offer per template: hscale, vscale.
32879
+ Not re-checked when creating a cluster or building an hscale OpsRequest.
32880
+ Only hscale currently acts per template; vscale is reserved.
32881
+ VolumeExpansion, VScale, Upgrade, and Restart ignore instance templates
32882
+ and keep their component-level behavior.
32883
+ attributes:
32884
+ type: array
32885
+ uniqueItems: true
32886
+ items:
32887
+ $ref: '#/components/schemas/instanceTemplateAttribute'
32888
+ description: |
32889
+ Heterogeneous attributes the frontend should render on each
32890
+ instance template at create. Omitted or empty means only name
32891
+ and replicas. Create overlays the request onto the chart and
32892
+ does not re-check this list.
32893
+ env:
32894
+ type: array
32895
+ description: |
32896
+ Env vars the frontend may render when attributes includes env.
32897
+ Create does not re-check this list.
32898
+ items:
32899
+ $ref: '#/components/schemas/instanceTemplateEnv'
32728
32900
  serviceRef:
32729
32901
  type: string
32730
32902
  description: |