kb-cloud-client-typescript 2.4.0-alpha.93 → 2.4.0-alpha.94

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 (85) hide show
  1. package/dist/adminapi/models/component-item-create.d.ts +12 -0
  2. package/dist/adminapi/models/component-item-create.d.ts.map +1 -1
  3. package/dist/adminapi/models/component-item.d.ts +19 -0
  4. package/dist/adminapi/models/component-item.d.ts.map +1 -1
  5. package/dist/adminapi/models/index.d.ts +1 -0
  6. package/dist/adminapi/models/index.d.ts.map +1 -1
  7. package/dist/adminapi/models/index.js +1 -0
  8. package/dist/adminapi/models/index.js.map +1 -1
  9. package/dist/adminapi/models/instance-template-attribute.d.ts +0 -1
  10. package/dist/adminapi/models/instance-template-attribute.d.ts.map +1 -1
  11. package/dist/adminapi/models/instance-template-attribute.js +0 -1
  12. package/dist/adminapi/models/instance-template-attribute.js.map +1 -1
  13. package/dist/adminapi/models/instance-template-create.d.ts +9 -3
  14. package/dist/adminapi/models/instance-template-create.d.ts.map +1 -1
  15. package/dist/adminapi/models/instance.d.ts +6 -0
  16. package/dist/adminapi/models/instance.d.ts.map +1 -1
  17. package/dist/adminapi/models/mode-option.d.ts +7 -0
  18. package/dist/adminapi/models/mode-option.d.ts.map +1 -1
  19. package/dist/adminapi/models/placement-scope.d.ts +22 -0
  20. package/dist/adminapi/models/placement-scope.d.ts.map +1 -0
  21. package/dist/adminapi/models/placement-scope.js +26 -0
  22. package/dist/adminapi/models/placement-scope.js.map +1 -0
  23. package/dist/internalapi/models/component-item.d.ts +19 -0
  24. package/dist/internalapi/models/component-item.d.ts.map +1 -1
  25. package/dist/internalapi/models/index.d.ts +2 -0
  26. package/dist/internalapi/models/index.d.ts.map +1 -1
  27. package/dist/internalapi/models/index.js +2 -0
  28. package/dist/internalapi/models/index.js.map +1 -1
  29. package/dist/internalapi/models/instance-template-create-env-inner.d.ts +31 -0
  30. package/dist/internalapi/models/instance-template-create-env-inner.d.ts.map +1 -0
  31. package/dist/internalapi/models/instance-template-create-env-inner.js +16 -0
  32. package/dist/internalapi/models/instance-template-create-env-inner.js.map +1 -0
  33. package/dist/internalapi/models/instance-template-create.d.ts +72 -0
  34. package/dist/internalapi/models/instance-template-create.d.ts.map +1 -0
  35. package/dist/internalapi/models/instance-template-create.js +16 -0
  36. package/dist/internalapi/models/instance-template-create.js.map +1 -0
  37. package/dist/openapi/models/component-item-create.d.ts +12 -0
  38. package/dist/openapi/models/component-item-create.d.ts.map +1 -1
  39. package/dist/openapi/models/component-item.d.ts +19 -0
  40. package/dist/openapi/models/component-item.d.ts.map +1 -1
  41. package/dist/openapi/models/index.d.ts +1 -0
  42. package/dist/openapi/models/index.d.ts.map +1 -1
  43. package/dist/openapi/models/index.js +1 -0
  44. package/dist/openapi/models/index.js.map +1 -1
  45. package/dist/openapi/models/instance-template-attribute.d.ts +0 -1
  46. package/dist/openapi/models/instance-template-attribute.d.ts.map +1 -1
  47. package/dist/openapi/models/instance-template-attribute.js +0 -1
  48. package/dist/openapi/models/instance-template-attribute.js.map +1 -1
  49. package/dist/openapi/models/instance-template-create.d.ts +9 -3
  50. package/dist/openapi/models/instance-template-create.d.ts.map +1 -1
  51. package/dist/openapi/models/instance.d.ts +6 -0
  52. package/dist/openapi/models/instance.d.ts.map +1 -1
  53. package/dist/openapi/models/mode-option.d.ts +7 -0
  54. package/dist/openapi/models/mode-option.d.ts.map +1 -1
  55. package/dist/openapi/models/placement-scope.d.ts +22 -0
  56. package/dist/openapi/models/placement-scope.d.ts.map +1 -0
  57. package/dist/openapi/models/placement-scope.js +26 -0
  58. package/dist/openapi/models/placement-scope.js.map +1 -0
  59. package/package.json +1 -1
  60. package/src/adminapi/.openapi-generator/FILES +1 -0
  61. package/src/adminapi/models/component-item-create.ts +12 -0
  62. package/src/adminapi/models/component-item.ts +21 -0
  63. package/src/adminapi/models/index.ts +1 -0
  64. package/src/adminapi/models/instance-template-attribute.ts +0 -1
  65. package/src/adminapi/models/instance-template-create.ts +9 -3
  66. package/src/adminapi/models/instance.ts +6 -0
  67. package/src/adminapi/models/mode-option.ts +9 -0
  68. package/src/adminapi/models/placement-scope.ts +31 -0
  69. package/src/adminapi.yaml +35 -5
  70. package/src/internalapi/.openapi-generator/FILES +2 -0
  71. package/src/internalapi/models/component-item.ts +21 -0
  72. package/src/internalapi/models/index.ts +2 -0
  73. package/src/internalapi/models/instance-template-create-env-inner.ts +36 -0
  74. package/src/internalapi/models/instance-template-create.ts +75 -0
  75. package/src/internalapi.yaml +62 -0
  76. package/src/openapi/.openapi-generator/FILES +1 -0
  77. package/src/openapi/models/component-item-create.ts +12 -0
  78. package/src/openapi/models/component-item.ts +21 -0
  79. package/src/openapi/models/index.ts +1 -0
  80. package/src/openapi/models/instance-template-attribute.ts +0 -1
  81. package/src/openapi/models/instance-template-create.ts +9 -3
  82. package/src/openapi/models/instance.ts +6 -0
  83. package/src/openapi/models/mode-option.ts +9 -0
  84. package/src/openapi/models/placement-scope.ts +31 -0
  85. package/src/openapi.yaml +35 -5
@@ -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
@@ -26,6 +29,24 @@ import type { ComponentVolumeItem } from './component-volume-item';
26
29
  * @interface ComponentItem
27
30
  */
28
31
  export interface ComponentItem {
32
+ /**
33
+ * Optional host group in this environment. Explicit placement does not inherit an upper-level host group.
34
+ * @type {string}
35
+ * @memberof ComponentItem
36
+ */
37
+ 'nodeGroup'?: string;
38
+ /**
39
+ * Explicit component AZ selection, if configured.
40
+ * @type {string}
41
+ * @memberof ComponentItem
42
+ */
43
+ 'availabilityZone'?: string;
44
+ /**
45
+ * Instance template assignments with effective replicas, placement and storage class, and user-provided env, labels and annotations.
46
+ * @type {Array<InstanceTemplateCreate>}
47
+ * @memberof ComponentItem
48
+ */
49
+ 'instanceTemplates'?: Array<InstanceTemplateCreate>;
29
50
  /**
30
51
  * component name
31
52
  * @type {string}
@@ -855,6 +855,7 @@ export * from './persistent-volume-claim-list';
855
855
  export * from './pg-create-extension-opt';
856
856
  export * from './pg-extension';
857
857
  export * from './pg-extension-available-database-schema';
858
+ export * from './placement-scope';
858
859
  export * from './platform-component';
859
860
  export * from './platform-component-details';
860
861
  export * from './platform-component-pod';
@@ -24,7 +24,6 @@ export const InstanceTemplateAttribute = {
24
24
  env: 'env',
25
25
  annotations: 'annotations',
26
26
  labels: 'labels',
27
- availabilityZone: 'availabilityZone',
28
27
  storageClass: 'storageClass'
29
28
  } as const;
30
29
 
@@ -18,11 +18,17 @@
18
18
  import type { InstanceTemplateCreateEnvInner } from './instance-template-create-env-inner';
19
19
 
20
20
  /**
21
- * Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, and storageClass are optional overlays onto the chart-rendered instance. The request must include every chart-rendered instance template exactly once. A template with an explicit zone uses single-zone scheduling: hostname anti-affinity follows the scheduling policy, while explicit rules and additional topology keys are preserved. Component scheduling remains unchanged; templates without a zone inherit it, including its zone anti-affinity constraints. Chart instance scheduling policies are cleared; an omitted or empty availabilityZone leaves the instance policy unset to inherit the component policy.
21
+ * Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, nodeGroup and storageClass are optional overlays. The request must include every chart-rendered instance template exactly once. Explicit placement requires availabilityZone and optionally accepts nodeGroup, without inheriting upper-level AZ or NodeGroup. Omitting both leaves SchedulingPolicy unset for KubeBlocks default inheritance. Hostname, user scheduling rules and additional topology keys are preserved.
22
22
  * @export
23
23
  * @interface InstanceTemplateCreate
24
24
  */
25
25
  export interface InstanceTemplateCreate {
26
+ /**
27
+ * Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateCreate
30
+ */
31
+ 'nodeGroup'?: string;
26
32
  /**
27
33
  * Instance template name; must match a chart-rendered instance.
28
34
  * @type {string}
@@ -36,7 +42,7 @@ export interface InstanceTemplateCreate {
36
42
  */
37
43
  'replicas': number;
38
44
  /**
39
- * Availability zone for this template (topology.kubernetes.io/zone); omitted or empty inherits the component zone selection. Must be enabled in the environment. If the request explicitly supplies a non-empty cluster availabilityZones list, the template zone must also belong to that list.
45
+ * Single AZ for explicit template placement (topology.kubernetes.io/zone). Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the component or cluster host group. Omitting both leaves SchedulingPolicy unset for KubeBlocks inheritance.
40
46
  * @type {string}
41
47
  * @memberof InstanceTemplateCreate
42
48
  */
@@ -60,7 +66,7 @@ export interface InstanceTemplateCreate {
60
66
  */
61
67
  'annotations'?: { [key: string]: string; };
62
68
  /**
63
- * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
69
+ * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted. The apps.kubeblocks.io/instance-template label is managed by the system and must equal the template name if supplied.
64
70
  * @type {{ [key: string]: string; }}
65
71
  * @memberof InstanceTemplateCreate
66
72
  */
@@ -62,6 +62,12 @@ export interface Instance {
62
62
  * @memberof Instance
63
63
  */
64
64
  'componentDef'?: string;
65
+ /**
66
+ * Instance template name within the actual component. Omitted when no template identity is available.
67
+ * @type {string}
68
+ * @memberof Instance
69
+ */
70
+ 'instanceTemplate'?: string;
65
71
  /**
66
72
  * component type, refer to componentDef and support NamePrefix
67
73
  * @type {string}
@@ -40,6 +40,9 @@ import type { ModeOptionValuesMappings } from './mode-option-values-mappings';
40
40
  // May contain unused imports in some cases
41
41
  // @ts-ignore
42
42
  import type { ModeServiceRef } from './mode-service-ref';
43
+ // May contain unused imports in some cases
44
+ // @ts-ignore
45
+ import type { PlacementScope } from './placement-scope';
43
46
 
44
47
  /**
45
48
  *
@@ -47,6 +50,12 @@ import type { ModeServiceRef } from './mode-service-ref';
47
50
  * @interface ModeOption
48
51
  */
49
52
  export interface ModeOption {
53
+ /**
54
+ *
55
+ * @type {PlacementScope}
56
+ * @memberof ModeOption
57
+ */
58
+ 'placementScope'?: PlacementScope;
50
59
  /**
51
60
  *
52
61
  * @type {string}
@@ -0,0 +1,31 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Admin API
5
+ * The Admin API is used to manage the ApeCloud platform.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@apecloud.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * UI placement input scope for this mode. Omitted defaults to cluster. cluster displays AZ and NodeGroup selection for the cluster. component hides cluster placement and displays selection for each component, or for each instance template when the component declares templates. This does not restrict API placement overrides.
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const PlacementScope = {
24
+ cluster: 'cluster',
25
+ component: 'component'
26
+ } as const;
27
+
28
+ export type PlacementScope = typeof PlacementScope[keyof typeof PlacementScope];
29
+
30
+
31
+
package/src/adminapi.yaml CHANGED
@@ -30755,12 +30755,14 @@ components:
30755
30755
  instanceTemplateCreate:
30756
30756
  type: object
30757
30757
  additionalProperties: false
30758
- description: |
30759
- Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, and storageClass are optional overlays onto the chart-rendered instance. The request must include every chart-rendered instance template exactly once. A template with an explicit zone uses single-zone scheduling: hostname anti-affinity follows the scheduling policy, while explicit rules and additional topology keys are preserved. Component scheduling remains unchanged; templates without a zone inherit it, including its zone anti-affinity constraints. Chart instance scheduling policies are cleared; an omitted or empty availabilityZone leaves the instance policy unset to inherit the component policy.
30758
+ description: Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, nodeGroup and storageClass are optional overlays. The request must include every chart-rendered instance template exactly once. Explicit placement requires availabilityZone and optionally accepts nodeGroup, without inheriting upper-level AZ or NodeGroup. Omitting both leaves SchedulingPolicy unset for KubeBlocks default inheritance. Hostname, user scheduling rules and additional topology keys are preserved.
30760
30759
  required:
30761
30760
  - name
30762
30761
  - replicas
30763
30762
  properties:
30763
+ nodeGroup:
30764
+ type: string
30765
+ description: Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
30764
30766
  name:
30765
30767
  type: string
30766
30768
  minLength: 1
@@ -30771,7 +30773,7 @@ components:
30771
30773
  description: Replica count for this instance template.
30772
30774
  availabilityZone:
30773
30775
  type: string
30774
- description: Availability zone for this template (topology.kubernetes.io/zone); omitted or empty inherits the component zone selection. Must be enabled in the environment. If the request explicitly supplies a non-empty cluster availabilityZones list, the template zone must also belong to that list.
30776
+ description: Single AZ for explicit template placement (topology.kubernetes.io/zone). Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the component or cluster host group. Omitting both leaves SchedulingPolicy unset for KubeBlocks inheritance.
30775
30777
  storageClass:
30776
30778
  type: string
30777
30779
  description: StorageClass name for all persistent volumes in this template. Copied from component volumeClaimTemplates, preserving volume sizes and other settings while overriding storageClassName. Chart instance volume templates are cleared; omitted or empty leaves instance volumeClaimTemplates unset.
@@ -30799,7 +30801,7 @@ components:
30799
30801
  type: object
30800
30802
  additionalProperties:
30801
30803
  type: string
30802
- description: Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
30804
+ description: Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted. The apps.kubeblocks.io/instance-template label is managed by the system and must equal the template name if supplied.
30803
30805
  ioQuantity:
30804
30806
  description: IO Quantity describes IOPS and BPS of a volume
30805
30807
  properties:
@@ -30872,6 +30874,12 @@ components:
30872
30874
  required:
30873
30875
  - component
30874
30876
  properties:
30877
+ nodeGroup:
30878
+ type: string
30879
+ description: Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
30880
+ availabilityZone:
30881
+ type: string
30882
+ description: Single AZ for explicit component placement. Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the cluster host group. Omitting both retains cluster scheduling.
30875
30883
  component:
30876
30884
  type: string
30877
30885
  description: component type, refer to componentDef and support NamePrefix
@@ -31211,6 +31219,18 @@ components:
31211
31219
  type: object
31212
31220
  description: ComponentItem is the information of a component
31213
31221
  properties:
31222
+ nodeGroup:
31223
+ type: string
31224
+ description: Optional host group in this environment. Explicit placement does not inherit an upper-level host group.
31225
+ availabilityZone:
31226
+ type: string
31227
+ description: Explicit component AZ selection, if configured.
31228
+ instanceTemplates:
31229
+ type: array
31230
+ x-omitempty: true
31231
+ description: Instance template assignments with effective replicas, placement and storage class, and user-provided env, labels and annotations.
31232
+ items:
31233
+ $ref: '#/components/schemas/instanceTemplateCreate'
31214
31234
  name:
31215
31235
  type: string
31216
31236
  description: component name
@@ -31556,6 +31576,9 @@ components:
31556
31576
  componentDef:
31557
31577
  description: ComponentDefinition name
31558
31578
  type: string
31579
+ instanceTemplate:
31580
+ description: Instance template name within the actual component. Omitted when no template identity is available.
31581
+ type: string
31559
31582
  component:
31560
31583
  description: component type, refer to componentDef and support NamePrefix
31561
31584
  type: string
@@ -40198,6 +40221,12 @@ components:
40198
40221
  type: boolean
40199
40222
  description: whether the component supports custom secret
40200
40223
  x-nullable: false
40224
+ placementScope:
40225
+ type: string
40226
+ description: UI placement input scope for this mode. Omitted defaults to cluster. cluster displays AZ and NodeGroup selection for the cluster. component hides cluster placement and displays selection for each component, or for each instance template when the component declares templates. This does not restrict API placement overrides.
40227
+ enum:
40228
+ - cluster
40229
+ - component
40201
40230
  modeCompatibleKubeblocksVersion:
40202
40231
  type: string
40203
40232
  description: |
@@ -40219,7 +40248,6 @@ components:
40219
40248
  - env
40220
40249
  - annotations
40221
40250
  - labels
40222
- - availabilityZone
40223
40251
  - storageClass
40224
40252
  instanceTemplateEnv:
40225
40253
  type: object
@@ -40595,6 +40623,8 @@ components:
40595
40623
  - description
40596
40624
  - components
40597
40625
  properties:
40626
+ placementScope:
40627
+ $ref: '#/components/schemas/placementScope'
40598
40628
  name:
40599
40629
  type: string
40600
40630
  title:
@@ -62,6 +62,8 @@ models/http-body.ts
62
62
  models/image-registry.ts
63
63
  models/index.ts
64
64
  models/init-option-item.ts
65
+ models/instance-template-create-env-inner.ts
66
+ models/instance-template-create.ts
65
67
  models/io-quantity.ts
66
68
  models/ip-pool-provider.ts
67
69
  models/ip-pool-selection.ts
@@ -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
@@ -26,6 +29,24 @@ import type { ComponentVolumeItem } from './component-volume-item';
26
29
  * @interface ComponentItem
27
30
  */
28
31
  export interface ComponentItem {
32
+ /**
33
+ * Optional host group in this environment. Explicit placement does not inherit an upper-level host group.
34
+ * @type {string}
35
+ * @memberof ComponentItem
36
+ */
37
+ 'nodeGroup'?: string;
38
+ /**
39
+ * Explicit component AZ selection, if configured.
40
+ * @type {string}
41
+ * @memberof ComponentItem
42
+ */
43
+ 'availabilityZone'?: string;
44
+ /**
45
+ * Instance template assignments with effective replicas, placement and storage class, and user-provided env, labels and annotations.
46
+ * @type {Array<InstanceTemplateCreate>}
47
+ * @memberof ComponentItem
48
+ */
49
+ 'instanceTemplates'?: Array<InstanceTemplateCreate>;
29
50
  /**
30
51
  * component name
31
52
  * @type {string}
@@ -35,6 +35,8 @@ export * from './grafana-datasource-create';
35
35
  export * from './http-body';
36
36
  export * from './image-registry';
37
37
  export * from './init-option-item';
38
+ export * from './instance-template-create';
39
+ export * from './instance-template-create-env-inner';
38
40
  export * from './io-quantity';
39
41
  export * from './ip-pool-provider';
40
42
  export * from './ip-pool-selection';
@@ -0,0 +1,36 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * KubeBlocks Cloud Internal API
5
+ * The Internal API is using for interaction of ApeCloud platform microservices.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
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,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * KubeBlocks Cloud Internal API
5
+ * The Internal API is using for interaction of ApeCloud platform microservices.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
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, labels, availabilityZone, nodeGroup and storageClass are optional overlays. The request must include every chart-rendered instance template exactly once. Explicit placement requires availabilityZone and optionally accepts nodeGroup, without inheriting upper-level AZ or NodeGroup. Omitting both leaves SchedulingPolicy unset for KubeBlocks default inheritance. Hostname, user scheduling rules and additional topology keys are preserved.
22
+ * @export
23
+ * @interface InstanceTemplateCreate
24
+ */
25
+ export interface InstanceTemplateCreate {
26
+ /**
27
+ * Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateCreate
30
+ */
31
+ 'nodeGroup'?: string;
32
+ /**
33
+ * Instance template name; must match a chart-rendered instance.
34
+ * @type {string}
35
+ * @memberof InstanceTemplateCreate
36
+ */
37
+ 'name': string;
38
+ /**
39
+ * Replica count for this instance template.
40
+ * @type {number}
41
+ * @memberof InstanceTemplateCreate
42
+ */
43
+ 'replicas': number;
44
+ /**
45
+ * Single AZ for explicit template placement (topology.kubernetes.io/zone). Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the component or cluster host group. Omitting both leaves SchedulingPolicy unset for KubeBlocks inheritance.
46
+ * @type {string}
47
+ * @memberof InstanceTemplateCreate
48
+ */
49
+ 'availabilityZone'?: string;
50
+ /**
51
+ * StorageClass name for all persistent volumes in this template. Copied from component volumeClaimTemplates, preserving volume sizes and other settings while overriding storageClassName. Chart instance volume templates are cleared; omitted or empty leaves instance volumeClaimTemplates unset.
52
+ * @type {string}
53
+ * @memberof InstanceTemplateCreate
54
+ */
55
+ 'storageClass'?: string;
56
+ /**
57
+ * Simple env vars (name and value only) merged into this template. valueFrom is not supported; overlaying a name clears any chart valueFrom.
58
+ * @type {Array<InstanceTemplateCreateEnvInner>}
59
+ * @memberof InstanceTemplateCreate
60
+ */
61
+ 'env'?: Array<InstanceTemplateCreateEnvInner>;
62
+ /**
63
+ * Annotation map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
64
+ * @type {{ [key: string]: string; }}
65
+ * @memberof InstanceTemplateCreate
66
+ */
67
+ 'annotations'?: { [key: string]: string; };
68
+ /**
69
+ * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted. The apps.kubeblocks.io/instance-template label is managed by the system and must equal the template name if supplied.
70
+ * @type {{ [key: string]: string; }}
71
+ * @memberof InstanceTemplateCreate
72
+ */
73
+ 'labels'?: { [key: string]: string; };
74
+ }
75
+
@@ -1373,6 +1373,56 @@ components:
1373
1373
  enum:
1374
1374
  - DoNotTerminate
1375
1375
  - Delete
1376
+ instanceTemplateCreate:
1377
+ type: object
1378
+ additionalProperties: false
1379
+ description: Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, nodeGroup and storageClass are optional overlays. The request must include every chart-rendered instance template exactly once. Explicit placement requires availabilityZone and optionally accepts nodeGroup, without inheriting upper-level AZ or NodeGroup. Omitting both leaves SchedulingPolicy unset for KubeBlocks default inheritance. Hostname, user scheduling rules and additional topology keys are preserved.
1380
+ required:
1381
+ - name
1382
+ - replicas
1383
+ properties:
1384
+ nodeGroup:
1385
+ type: string
1386
+ description: Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
1387
+ name:
1388
+ type: string
1389
+ minLength: 1
1390
+ description: Instance template name; must match a chart-rendered instance.
1391
+ replicas:
1392
+ type: integer
1393
+ minimum: 0
1394
+ description: Replica count for this instance template.
1395
+ availabilityZone:
1396
+ type: string
1397
+ description: Single AZ for explicit template placement (topology.kubernetes.io/zone). Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the component or cluster host group. Omitting both leaves SchedulingPolicy unset for KubeBlocks inheritance.
1398
+ storageClass:
1399
+ type: string
1400
+ description: StorageClass name for all persistent volumes in this template. Copied from component volumeClaimTemplates, preserving volume sizes and other settings while overriding storageClassName. Chart instance volume templates are cleared; omitted or empty leaves instance volumeClaimTemplates unset.
1401
+ env:
1402
+ type: array
1403
+ description: Simple env vars (name and value only) merged into this template. valueFrom is not supported; overlaying a name clears any chart valueFrom.
1404
+ items:
1405
+ type: object
1406
+ required:
1407
+ - name
1408
+ - value
1409
+ properties:
1410
+ name:
1411
+ type: string
1412
+ value:
1413
+ type: string
1414
+ minLength: 1
1415
+ description: Plain string value only. valueFrom is not supported.
1416
+ annotations:
1417
+ type: object
1418
+ additionalProperties:
1419
+ type: string
1420
+ description: Annotation map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
1421
+ labels:
1422
+ type: object
1423
+ additionalProperties:
1424
+ type: string
1425
+ description: Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted. The apps.kubeblocks.io/instance-template label is managed by the system and must equal the template name if supplied.
1376
1426
  ioQuantity:
1377
1427
  description: IO Quantity describes IOPS and BPS of a volume
1378
1428
  properties:
@@ -1443,6 +1493,18 @@ components:
1443
1493
  type: object
1444
1494
  description: ComponentItem is the information of a component
1445
1495
  properties:
1496
+ nodeGroup:
1497
+ type: string
1498
+ description: Optional host group in this environment. Explicit placement does not inherit an upper-level host group.
1499
+ availabilityZone:
1500
+ type: string
1501
+ description: Explicit component AZ selection, if configured.
1502
+ instanceTemplates:
1503
+ type: array
1504
+ x-omitempty: true
1505
+ description: Instance template assignments with effective replicas, placement and storage class, and user-provided env, labels and annotations.
1506
+ items:
1507
+ $ref: '#/components/schemas/instanceTemplateCreate'
1446
1508
  name:
1447
1509
  type: string
1448
1510
  description: component name
@@ -853,6 +853,7 @@ models/pg-extension-available-database-schema.ts
853
853
  models/pg-extension.ts
854
854
  models/pgbench.ts
855
855
  models/phone-verification-request.ts
856
+ models/placement-scope.ts
856
857
  models/platform-parameter-constraints.ts
857
858
  models/platform-parameter-list.ts
858
859
  models/platform-parameter.ts
@@ -29,6 +29,18 @@ import type { InstanceTemplateCreate } from './instance-template-create';
29
29
  * @interface ComponentItemCreate
30
30
  */
31
31
  export interface ComponentItemCreate {
32
+ /**
33
+ * Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
34
+ * @type {string}
35
+ * @memberof ComponentItemCreate
36
+ */
37
+ 'nodeGroup'?: string;
38
+ /**
39
+ * Single AZ for explicit component placement. Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the cluster host group. Omitting both retains cluster scheduling.
40
+ * @type {string}
41
+ * @memberof ComponentItemCreate
42
+ */
43
+ 'availabilityZone'?: string;
32
44
  /**
33
45
  * component type, refer to componentDef and support NamePrefix
34
46
  * @type {string}
@@ -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
@@ -26,6 +29,24 @@ import type { ComponentVolumeItem } from './component-volume-item';
26
29
  * @interface ComponentItem
27
30
  */
28
31
  export interface ComponentItem {
32
+ /**
33
+ * Optional host group in this environment. Explicit placement does not inherit an upper-level host group.
34
+ * @type {string}
35
+ * @memberof ComponentItem
36
+ */
37
+ 'nodeGroup'?: string;
38
+ /**
39
+ * Explicit component AZ selection, if configured.
40
+ * @type {string}
41
+ * @memberof ComponentItem
42
+ */
43
+ 'availabilityZone'?: string;
44
+ /**
45
+ * Instance template assignments with effective replicas, placement and storage class, and user-provided env, labels and annotations.
46
+ * @type {Array<InstanceTemplateCreate>}
47
+ * @memberof ComponentItem
48
+ */
49
+ 'instanceTemplates'?: Array<InstanceTemplateCreate>;
29
50
  /**
30
51
  * component name
31
52
  * @type {string}
@@ -758,6 +758,7 @@ export * from './pg-extension';
758
758
  export * from './pg-extension-available-database-schema';
759
759
  export * from './pgbench';
760
760
  export * from './phone-verification-request';
761
+ export * from './placement-scope';
761
762
  export * from './platform-parameter';
762
763
  export * from './platform-parameter-constraints';
763
764
  export * from './platform-parameter-list';
@@ -24,7 +24,6 @@ export const InstanceTemplateAttribute = {
24
24
  env: 'env',
25
25
  annotations: 'annotations',
26
26
  labels: 'labels',
27
- availabilityZone: 'availabilityZone',
28
27
  storageClass: 'storageClass'
29
28
  } as const;
30
29
 
@@ -18,11 +18,17 @@
18
18
  import type { InstanceTemplateCreateEnvInner } from './instance-template-create-env-inner';
19
19
 
20
20
  /**
21
- * Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, and storageClass are optional overlays onto the chart-rendered instance. The request must include every chart-rendered instance template exactly once. A template with an explicit zone uses single-zone scheduling: hostname anti-affinity follows the scheduling policy, while explicit rules and additional topology keys are preserved. Component scheduling remains unchanged; templates without a zone inherit it, including its zone anti-affinity constraints. Chart instance scheduling policies are cleared; an omitted or empty availabilityZone leaves the instance policy unset to inherit the component policy.
21
+ * Create assignment for one instance template. name and replicas are required. env, annotations, labels, availabilityZone, nodeGroup and storageClass are optional overlays. The request must include every chart-rendered instance template exactly once. Explicit placement requires availabilityZone and optionally accepts nodeGroup, without inheriting upper-level AZ or NodeGroup. Omitting both leaves SchedulingPolicy unset for KubeBlocks default inheritance. Hostname, user scheduling rules and additional topology keys are preserved.
22
22
  * @export
23
23
  * @interface InstanceTemplateCreate
24
24
  */
25
25
  export interface InstanceTemplateCreate {
26
+ /**
27
+ * Optional host group in this environment and the explicitly selected availabilityZone. Requires availabilityZone; no upper-level host group is inherited.
28
+ * @type {string}
29
+ * @memberof InstanceTemplateCreate
30
+ */
31
+ 'nodeGroup'?: string;
26
32
  /**
27
33
  * Instance template name; must match a chart-rendered instance.
28
34
  * @type {string}
@@ -36,7 +42,7 @@ export interface InstanceTemplateCreate {
36
42
  */
37
43
  'replicas': number;
38
44
  /**
39
- * Availability zone for this template (topology.kubernetes.io/zone); omitted or empty inherits the component zone selection. Must be enabled in the environment. If the request explicitly supplies a non-empty cluster availabilityZones list, the template zone must also belong to that list.
45
+ * Single AZ for explicit template placement (topology.kubernetes.io/zone). Must be enabled in the environment and is required when nodeGroup is specified. An omitted nodeGroup does not inherit the component or cluster host group. Omitting both leaves SchedulingPolicy unset for KubeBlocks inheritance.
40
46
  * @type {string}
41
47
  * @memberof InstanceTemplateCreate
42
48
  */
@@ -60,7 +66,7 @@ export interface InstanceTemplateCreate {
60
66
  */
61
67
  'annotations'?: { [key: string]: string; };
62
68
  /**
63
- * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted.
69
+ * Label map (string key to string value). Merged into this template; same-name keys overwritten. Chart keys are not deleted. The apps.kubeblocks.io/instance-template label is managed by the system and must equal the template name if supplied.
64
70
  * @type {{ [key: string]: string; }}
65
71
  * @memberof InstanceTemplateCreate
66
72
  */
@@ -62,6 +62,12 @@ export interface Instance {
62
62
  * @memberof Instance
63
63
  */
64
64
  'componentDef'?: string;
65
+ /**
66
+ * Instance template name within the actual component. Omitted when no template identity is available.
67
+ * @type {string}
68
+ * @memberof Instance
69
+ */
70
+ 'instanceTemplate'?: string;
65
71
  /**
66
72
  * component type, refer to componentDef and support NamePrefix
67
73
  * @type {string}