kb-cloud-client-typescript 2.4.0-alpha.65 → 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 (146) hide show
  1. package/dist/adminapi/apis/environment-api.d.ts +95 -0
  2. package/dist/adminapi/apis/environment-api.d.ts.map +1 -1
  3. package/dist/adminapi/apis/environment-api.js +93 -0
  4. package/dist/adminapi/apis/environment-api.js.map +1 -1
  5. package/dist/adminapi/apis/parameter-template-api.d.ts +18 -10
  6. package/dist/adminapi/apis/parameter-template-api.d.ts.map +1 -1
  7. package/dist/adminapi/apis/parameter-template-api.js +16 -11
  8. package/dist/adminapi/apis/parameter-template-api.js.map +1 -1
  9. package/dist/adminapi/apis/vip-pool-api.d.ts +72 -0
  10. package/dist/adminapi/apis/vip-pool-api.d.ts.map +1 -1
  11. package/dist/adminapi/apis/vip-pool-api.js +80 -0
  12. package/dist/adminapi/apis/vip-pool-api.js.map +1 -1
  13. package/dist/adminapi/models/cluster-create.d.ts +6 -0
  14. package/dist/adminapi/models/cluster-create.d.ts.map +1 -1
  15. package/dist/adminapi/models/component-item-create.d.ts +8 -1
  16. package/dist/adminapi/models/component-item-create.d.ts.map +1 -1
  17. package/dist/adminapi/models/engine-option-history.d.ts +5 -4
  18. package/dist/adminapi/models/engine-option-history.d.ts.map +1 -1
  19. package/dist/adminapi/models/index.d.ts +8 -0
  20. package/dist/adminapi/models/index.d.ts.map +1 -1
  21. package/dist/adminapi/models/index.js +8 -0
  22. package/dist/adminapi/models/index.js.map +1 -1
  23. package/dist/adminapi/models/instance-template-attribute.d.ts +23 -0
  24. package/dist/adminapi/models/instance-template-attribute.d.ts.map +1 -0
  25. package/dist/adminapi/models/instance-template-attribute.js +27 -0
  26. package/dist/adminapi/models/instance-template-attribute.js.map +1 -0
  27. package/dist/adminapi/models/instance-template-create-env-inner.d.ts +31 -0
  28. package/dist/adminapi/models/instance-template-create-env-inner.d.ts.map +1 -0
  29. package/dist/adminapi/models/instance-template-create-env-inner.js +16 -0
  30. package/dist/adminapi/models/instance-template-create-env-inner.js.map +1 -0
  31. package/dist/adminapi/models/instance-template-create.d.ts +54 -0
  32. package/dist/adminapi/models/instance-template-create.d.ts.map +1 -0
  33. package/dist/adminapi/models/instance-template-create.js +16 -0
  34. package/dist/adminapi/models/instance-template-create.js.map +1 -0
  35. package/dist/adminapi/models/instance-template-env.d.ts +50 -0
  36. package/dist/adminapi/models/instance-template-env.d.ts.map +1 -0
  37. package/dist/adminapi/models/instance-template-env.js +16 -0
  38. package/dist/adminapi/models/instance-template-env.js.map +1 -0
  39. package/dist/adminapi/models/instance-template-op.d.ts +22 -0
  40. package/dist/adminapi/models/instance-template-op.d.ts.map +1 -0
  41. package/dist/adminapi/models/instance-template-op.js +26 -0
  42. package/dist/adminapi/models/instance-template-op.js.map +1 -0
  43. package/dist/adminapi/models/instance-template-replicas.d.ts +31 -0
  44. package/dist/adminapi/models/instance-template-replicas.d.ts.map +1 -0
  45. package/dist/adminapi/models/instance-template-replicas.js +16 -0
  46. package/dist/adminapi/models/instance-template-replicas.js.map +1 -0
  47. package/dist/adminapi/models/mode-component-instance-template.d.ts +46 -0
  48. package/dist/adminapi/models/mode-component-instance-template.d.ts.map +1 -0
  49. package/dist/adminapi/models/mode-component-instance-template.js +16 -0
  50. package/dist/adminapi/models/mode-component-instance-template.js.map +1 -0
  51. package/dist/adminapi/models/mode-component.d.ts +7 -0
  52. package/dist/adminapi/models/mode-component.d.ts.map +1 -1
  53. package/dist/adminapi/models/ops-hscale.d.ts +8 -1
  54. package/dist/adminapi/models/ops-hscale.d.ts.map +1 -1
  55. package/dist/adminapi/models/ops-vscale.d.ts +1 -1
  56. package/dist/adminapi/models/vip-pool-create.d.ts +6 -0
  57. package/dist/adminapi/models/vip-pool-create.d.ts.map +1 -1
  58. package/dist/adminapi/models/vip-pool-update.d.ts +25 -0
  59. package/dist/adminapi/models/vip-pool-update.d.ts.map +1 -0
  60. package/dist/adminapi/models/vip-pool-update.js +16 -0
  61. package/dist/adminapi/models/vip-pool-update.js.map +1 -0
  62. package/dist/adminapi/models/vip-pool.d.ts +12 -0
  63. package/dist/adminapi/models/vip-pool.d.ts.map +1 -1
  64. package/dist/openapi/models/cluster-create.d.ts +6 -0
  65. package/dist/openapi/models/cluster-create.d.ts.map +1 -1
  66. package/dist/openapi/models/component-item-create.d.ts +8 -1
  67. package/dist/openapi/models/component-item-create.d.ts.map +1 -1
  68. package/dist/openapi/models/index.d.ts +7 -0
  69. package/dist/openapi/models/index.d.ts.map +1 -1
  70. package/dist/openapi/models/index.js +7 -0
  71. package/dist/openapi/models/index.js.map +1 -1
  72. package/dist/openapi/models/instance-template-attribute.d.ts +23 -0
  73. package/dist/openapi/models/instance-template-attribute.d.ts.map +1 -0
  74. package/dist/openapi/models/instance-template-attribute.js +27 -0
  75. package/dist/openapi/models/instance-template-attribute.js.map +1 -0
  76. package/dist/openapi/models/instance-template-create-env-inner.d.ts +31 -0
  77. package/dist/openapi/models/instance-template-create-env-inner.d.ts.map +1 -0
  78. package/dist/openapi/models/instance-template-create-env-inner.js +16 -0
  79. package/dist/openapi/models/instance-template-create-env-inner.js.map +1 -0
  80. package/dist/openapi/models/instance-template-create.d.ts +54 -0
  81. package/dist/openapi/models/instance-template-create.d.ts.map +1 -0
  82. package/dist/openapi/models/instance-template-create.js +16 -0
  83. package/dist/openapi/models/instance-template-create.js.map +1 -0
  84. package/dist/openapi/models/instance-template-env.d.ts +50 -0
  85. package/dist/openapi/models/instance-template-env.d.ts.map +1 -0
  86. package/dist/openapi/models/instance-template-env.js +16 -0
  87. package/dist/openapi/models/instance-template-env.js.map +1 -0
  88. package/dist/openapi/models/instance-template-op.d.ts +22 -0
  89. package/dist/openapi/models/instance-template-op.d.ts.map +1 -0
  90. package/dist/openapi/models/instance-template-op.js +26 -0
  91. package/dist/openapi/models/instance-template-op.js.map +1 -0
  92. package/dist/openapi/models/instance-template-replicas.d.ts +31 -0
  93. package/dist/openapi/models/instance-template-replicas.d.ts.map +1 -0
  94. package/dist/openapi/models/instance-template-replicas.js +16 -0
  95. package/dist/openapi/models/instance-template-replicas.js.map +1 -0
  96. package/dist/openapi/models/mode-component-instance-template.d.ts +46 -0
  97. package/dist/openapi/models/mode-component-instance-template.d.ts.map +1 -0
  98. package/dist/openapi/models/mode-component-instance-template.js +16 -0
  99. package/dist/openapi/models/mode-component-instance-template.js.map +1 -0
  100. package/dist/openapi/models/mode-component.d.ts +7 -0
  101. package/dist/openapi/models/mode-component.d.ts.map +1 -1
  102. package/dist/openapi/models/ops-hscale.d.ts +8 -1
  103. package/dist/openapi/models/ops-hscale.d.ts.map +1 -1
  104. package/dist/openapi/models/ops-vscale.d.ts +1 -1
  105. package/dist/openapi/models/vip-pool.d.ts +12 -0
  106. package/dist/openapi/models/vip-pool.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/src/adminapi/.openapi-generator/FILES +8 -0
  109. package/src/adminapi/apis/environment-api.ts +155 -0
  110. package/src/adminapi/apis/parameter-template-api.ts +26 -13
  111. package/src/adminapi/apis/vip-pool-api.ts +128 -0
  112. package/src/adminapi/models/cluster-create.ts +6 -0
  113. package/src/adminapi/models/component-item-create.ts +10 -1
  114. package/src/adminapi/models/engine-option-history.ts +3 -6
  115. package/src/adminapi/models/index.ts +8 -0
  116. package/src/adminapi/models/instance-template-attribute.ts +32 -0
  117. package/src/adminapi/models/instance-template-create-env-inner.ts +36 -0
  118. package/src/adminapi/models/instance-template-create.ts +57 -0
  119. package/src/adminapi/models/instance-template-env.ts +57 -0
  120. package/src/adminapi/models/instance-template-op.ts +31 -0
  121. package/src/adminapi/models/instance-template-replicas.ts +36 -0
  122. package/src/adminapi/models/mode-component-instance-template.ts +57 -0
  123. package/src/adminapi/models/mode-component.ts +9 -0
  124. package/src/adminapi/models/ops-hscale.ts +10 -1
  125. package/src/adminapi/models/ops-vscale.ts +1 -1
  126. package/src/adminapi/models/vip-pool-create.ts +6 -0
  127. package/src/adminapi/models/vip-pool-update.ts +30 -0
  128. package/src/adminapi/models/vip-pool.ts +12 -0
  129. package/src/adminapi.yaml +369 -69
  130. package/src/internalapi.yaml +2 -4
  131. package/src/openapi/.openapi-generator/FILES +7 -0
  132. package/src/openapi/models/cluster-create.ts +6 -0
  133. package/src/openapi/models/component-item-create.ts +10 -1
  134. package/src/openapi/models/index.ts +7 -0
  135. package/src/openapi/models/instance-template-attribute.ts +32 -0
  136. package/src/openapi/models/instance-template-create-env-inner.ts +36 -0
  137. package/src/openapi/models/instance-template-create.ts +57 -0
  138. package/src/openapi/models/instance-template-env.ts +57 -0
  139. package/src/openapi/models/instance-template-op.ts +31 -0
  140. package/src/openapi/models/instance-template-replicas.ts +36 -0
  141. package/src/openapi/models/mode-component-instance-template.ts +57 -0
  142. package/src/openapi/models/mode-component.ts +9 -0
  143. package/src/openapi/models/ops-hscale.ts +10 -1
  144. package/src/openapi/models/ops-vscale.ts +1 -1
  145. package/src/openapi/models/vip-pool.ts +12 -0
  146. package/src/openapi.yaml +240 -62
@@ -705,11 +705,9 @@ paths:
705
705
  content: {}
706
706
  description: Returned when project is deleted successfully.
707
707
  '401':
708
- content: {}
709
- description: Unauthorized
708
+ $ref: '#/components/responses/401'
710
709
  '403':
711
- content: {}
712
- description: Forbidden
710
+ $ref: '#/components/responses/403'
713
711
  tags:
714
712
  - environment
715
713
  /internal/v1/status:
@@ -604,6 +604,12 @@ models/instance-metrics-list.ts
604
604
  models/instance-metrics.ts
605
605
  models/instance-status.ts
606
606
  models/instance-storage-item.ts
607
+ models/instance-template-attribute.ts
608
+ models/instance-template-create-env-inner.ts
609
+ models/instance-template-create.ts
610
+ models/instance-template-env.ts
611
+ models/instance-template-op.ts
612
+ models/instance-template-replicas.ts
607
613
  models/instance.ts
608
614
  models/integer-option.ts
609
615
  models/international-desc.ts
@@ -666,6 +672,7 @@ models/milvus-role-list.ts
666
672
  models/milvus-role-request.ts
667
673
  models/milvus-role.ts
668
674
  models/mode-compatible-kubeblocks-version.ts
675
+ models/mode-component-instance-template.ts
669
676
  models/mode-component.ts
670
677
  models/mode-object-storage-additional-helm-value-path.ts
671
678
  models/mode-object-storage-service-ref.ts
@@ -191,6 +191,12 @@ export interface ClusterCreate {
191
191
  * @memberof ClusterCreate
192
192
  */
193
193
  'networkMode'?: NetworkMode;
194
+ /**
195
+ * Name of the VIP Pool (VIP Pool poolName) used as the MetalLB address pool for LoadBalancer services. Only effective when networkMode is LoadBalancer.
196
+ * @type {string}
197
+ * @memberof ClusterCreate
198
+ */
199
+ 'vipPoolName'?: string;
194
200
  /**
195
201
  *
196
202
  * @type {Array<ServiceRef>}
@@ -19,6 +19,9 @@ import type { ComponentNetwork } from './component-network';
19
19
  // May contain unused imports in some cases
20
20
  // @ts-ignore
21
21
  import type { ComponentVolumeItem } from './component-volume-item';
22
+ // May contain unused imports in some cases
23
+ // @ts-ignore
24
+ import type { InstanceTemplateCreate } from './instance-template-create';
22
25
 
23
26
  /**
24
27
  * ComponentItem is the information of a component
@@ -39,11 +42,17 @@ export interface ComponentItemCreate {
39
42
  */
40
43
  'compNum'?: number;
41
44
  /**
42
- * Omit to use the cluster chart default. Set zero to disable the component when its resource constraints allow zero replicas.
45
+ * 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.
43
46
  * @type {number}
44
47
  * @memberof ComponentItemCreate
45
48
  */
46
49
  'replicas'?: number | null;
50
+ /**
51
+ * 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.
52
+ * @type {Array<InstanceTemplateCreate>}
53
+ * @memberof ComponentItemCreate
54
+ */
55
+ 'instanceTemplates'?: Array<InstanceTemplateCreate>;
47
56
  /**
48
57
  * Whether to skip resource constraint validation when creating cluster
49
58
  * @type {boolean}
@@ -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}