kb-cloud-client-typescript 2.4.0-alpha.66 → 2.4.0-alpha.67

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
@@ -510,6 +510,12 @@ export * from './instance-metrics';
510
510
  export * from './instance-metrics-list';
511
511
  export * from './instance-status';
512
512
  export * from './instance-storage-item';
513
+ export * from './instance-template-attribute';
514
+ export * from './instance-template-create';
515
+ export * from './instance-template-create-env-inner';
516
+ export * from './instance-template-env';
517
+ export * from './instance-template-op';
518
+ export * from './instance-template-replicas';
513
519
  export * from './integer-option';
514
520
  export * from './international-desc';
515
521
  export * from './io-quantity';
@@ -572,6 +578,7 @@ export * from './milvus-role-list';
572
578
  export * from './milvus-role-request';
573
579
  export * from './mode-compatible-kubeblocks-version';
574
580
  export * from './mode-component';
581
+ export * from './mode-component-instance-template';
575
582
  export * from './mode-object-storage';
576
583
  export * from './mode-object-storage-additional-helm-value-path';
577
584
  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
@@ -24661,6 +24661,14 @@ components:
24661
24661
  description: ID of VIP Pool
24662
24662
  title: ID
24663
24663
  type: string
24664
+ name:
24665
+ description: Name of VIP Pool. It is the MetalLB IPAddressPool resource name, generated as kb-<id>.
24666
+ title: Name
24667
+ type: string
24668
+ poolName:
24669
+ 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.
24670
+ title: Pool Name
24671
+ type: string
24664
24672
  total:
24665
24673
  description: Total number of IP addresses
24666
24674
  format: int64
@@ -25706,6 +25714,48 @@ components:
25706
25714
  enum:
25707
25715
  - DoNotTerminate
25708
25716
  - Delete
25717
+ instanceTemplateCreate:
25718
+ type: object
25719
+ additionalProperties: false
25720
+ description: |
25721
+ 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.
25722
+ required:
25723
+ - name
25724
+ - replicas
25725
+ properties:
25726
+ name:
25727
+ type: string
25728
+ minLength: 1
25729
+ description: Instance template name; must match a chart-rendered instance.
25730
+ replicas:
25731
+ type: integer
25732
+ minimum: 0
25733
+ description: Replica count for this instance template.
25734
+ env:
25735
+ type: array
25736
+ description: Simple env vars (name and value only) merged into this template. valueFrom is not supported; overlaying a name clears any chart valueFrom.
25737
+ items:
25738
+ type: object
25739
+ required:
25740
+ - name
25741
+ - value
25742
+ properties:
25743
+ name:
25744
+ type: string
25745
+ value:
25746
+ type: string
25747
+ minLength: 1
25748
+ description: Plain string value only. valueFrom is not supported.
25749
+ annotations:
25750
+ type: object
25751
+ additionalProperties:
25752
+ type: string
25753
+ description: Annotation map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
25754
+ labels:
25755
+ type: object
25756
+ additionalProperties:
25757
+ type: string
25758
+ description: Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
25709
25759
  ioQuantity:
25710
25760
  description: IO Quantity describes IOPS and BPS of a volume
25711
25761
  properties:
@@ -25784,7 +25834,13 @@ components:
25784
25834
  title: Replicas
25785
25835
  type: integer
25786
25836
  x-nullable: true
25787
- description: Omit to use the cluster chart default. Set zero to disable the component when its resource constraints allow zero replicas.
25837
+ description: Omit to use the cluster chart default. Set zero to disable the component when its resource constraints allow zero replicas. If the rendered component has instance templates, this must equal the sum of all template replica counts in the complete instanceTemplates list.
25838
+ instanceTemplates:
25839
+ type: array
25840
+ minItems: 1
25841
+ 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.
25842
+ items:
25843
+ $ref: '#/components/schemas/instanceTemplateCreate'
25788
25844
  skipResourceConstraints:
25789
25845
  type: boolean
25790
25846
  description: Whether to skip resource constraint validation when creating cluster
@@ -26065,6 +26121,10 @@ components:
26065
26121
  networkMode:
26066
26122
  description: Specify the network mode for intra-cluster communication
26067
26123
  $ref: '#/components/schemas/networkMode'
26124
+ vipPoolName:
26125
+ title: VIP Pool Name
26126
+ description: Name of the VIP Pool (VIP Pool poolName) used as the MetalLB address pool for LoadBalancer services. Only effective when networkMode is LoadBalancer.
26127
+ type: string
26068
26128
  serviceRefs:
26069
26129
  type: array
26070
26130
  items:
@@ -26688,8 +26748,23 @@ components:
26688
26748
  x-nullable: true
26689
26749
  required:
26690
26750
  - type
26751
+ instanceTemplateReplicas:
26752
+ type: object
26753
+ description: HScale assignment for one instance template. name and replicas only.
26754
+ required:
26755
+ - name
26756
+ - replicas
26757
+ properties:
26758
+ name:
26759
+ type: string
26760
+ minLength: 1
26761
+ description: Instance template name on the live Cluster spec.
26762
+ replicas:
26763
+ type: integer
26764
+ minimum: 0
26765
+ description: Target replica count for this instance template.
26691
26766
  opsHScale:
26692
- description: OpsHScale is the payload to horizontally scale a KubeBlocks cluster. It requires specifying either the number of replicas or the number of shards.
26767
+ 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.
26693
26768
  required:
26694
26769
  - component
26695
26770
  properties:
@@ -26705,6 +26780,12 @@ components:
26705
26780
  description: number of replicas
26706
26781
  type: integer
26707
26782
  nullable: true
26783
+ instanceTemplates:
26784
+ type: array
26785
+ minItems: 1
26786
+ 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.
26787
+ items:
26788
+ $ref: '#/components/schemas/instanceTemplateReplicas'
26708
26789
  onlineInstancesToOffline:
26709
26790
  type: array
26710
26791
  items:
@@ -27665,7 +27746,7 @@ components:
27665
27746
  description: memory size
27666
27747
  type: string
27667
27748
  classCode:
27668
- description: class code of the cluster
27749
+ description: Class code for component-level vertical scaling.
27669
27750
  type: string
27670
27751
  schedule:
27671
27752
  $ref: '#/components/schemas/taskSchedule'
@@ -32856,6 +32937,39 @@ components:
32856
32937
  enum:
32857
32938
  - '0.9'
32858
32939
  - '1.0'
32940
+ instanceTemplateOp:
32941
+ type: string
32942
+ description: Operation that can be declared on instanceTemplate.ops.
32943
+ enum:
32944
+ - hscale
32945
+ - vscale
32946
+ instanceTemplateAttribute:
32947
+ type: string
32948
+ description: Heterogeneous attribute the frontend may render on an instance template at create.
32949
+ enum:
32950
+ - env
32951
+ - annotations
32952
+ - labels
32953
+ instanceTemplateEnv:
32954
+ type: object
32955
+ description: One fillable env var on an instance template, for frontend rendering.
32956
+ required:
32957
+ - name
32958
+ properties:
32959
+ name:
32960
+ type: string
32961
+ minLength: 1
32962
+ description: Env var name written to the instance template.
32963
+ label:
32964
+ $ref: '#/components/schemas/localizedDescription'
32965
+ description:
32966
+ $ref: '#/components/schemas/localizedDescription'
32967
+ required:
32968
+ type: boolean
32969
+ description: If true, the frontend should treat this env as required. Create does not re-check.
32970
+ default:
32971
+ type: string
32972
+ description: Default value shown by the frontend.
32859
32973
  modeReadonlyEndpoint:
32860
32974
  type: object
32861
32975
  required:
@@ -32877,6 +32991,64 @@ components:
32877
32991
  type: boolean
32878
32992
  hideOnCreate:
32879
32993
  type: boolean
32994
+ instanceTemplate:
32995
+ type: object
32996
+ description: |
32997
+ Frontend catalog of instance templates for this mode component.
32998
+ names, ops, attributes, and env are for UI rendering. Create
32999
+ validates the request against chart-rendered Cluster instances,
33000
+ not this catalog. HScale does not re-check this catalog; it
33001
+ builds the OpsRequest from the request and the live Cluster.
33002
+ HScale instanceTemplates still requires top-level replicas.
33003
+ ops lists hscale and vscale for the UI (vscale is reserved;
33004
+ class stays component-level). Only HScale processes instance templates.
33005
+ VolumeExpansion, VScale, Upgrade, Restart, and other operations silently
33006
+ ignore instance templates and keep their component-level behavior.
33007
+ Template-level volumeexpansion is not implemented.
33008
+ The platform does not even-split or fill in missing templates.
33009
+ When absent, the frontend should use component-level operations.
33010
+ required:
33011
+ - names
33012
+ - ops
33013
+ properties:
33014
+ names:
33015
+ type: array
33016
+ minItems: 1
33017
+ uniqueItems: true
33018
+ items:
33019
+ type: string
33020
+ description: |
33021
+ Instance template names the frontend should render.
33022
+ Create and hscale check names against the chart or live Cluster,
33023
+ not this list.
33024
+ ops:
33025
+ type: array
33026
+ minItems: 1
33027
+ items:
33028
+ $ref: '#/components/schemas/instanceTemplateOp'
33029
+ description: |
33030
+ Operations the frontend should offer per template: hscale, vscale.
33031
+ Not re-checked when creating a cluster or building an hscale OpsRequest.
33032
+ Only hscale currently acts per template; vscale is reserved.
33033
+ VolumeExpansion, VScale, Upgrade, and Restart ignore instance templates
33034
+ and keep their component-level behavior.
33035
+ attributes:
33036
+ type: array
33037
+ uniqueItems: true
33038
+ items:
33039
+ $ref: '#/components/schemas/instanceTemplateAttribute'
33040
+ description: |
33041
+ Heterogeneous attributes the frontend should render on each
33042
+ instance template at create. Omitted or empty means only name
33043
+ and replicas. Create overlays the request onto the chart and
33044
+ does not re-check this list.
33045
+ env:
33046
+ type: array
33047
+ description: |
33048
+ Env vars the frontend may render when attributes includes env.
33049
+ Create does not re-check this list.
33050
+ items:
33051
+ $ref: '#/components/schemas/instanceTemplateEnv'
32880
33052
  serviceRef:
32881
33053
  type: string
32882
33054
  description: |