kb-cloud-client-typescript 2.3.0-alpha.185 → 2.3.0-alpha.187

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 (164) hide show
  1. package/dist/adminapi/apis/environment-api.d.ts +56 -0
  2. package/dist/adminapi/apis/environment-api.d.ts.map +1 -1
  3. package/dist/adminapi/apis/environment-api.js +69 -0
  4. package/dist/adminapi/apis/environment-api.js.map +1 -1
  5. package/dist/adminapi/models/component-item-create.d.ts +7 -0
  6. package/dist/adminapi/models/component-item-create.d.ts.map +1 -1
  7. package/dist/adminapi/models/component-item.d.ts +7 -0
  8. package/dist/adminapi/models/component-item.d.ts.map +1 -1
  9. package/dist/adminapi/models/component-network.d.ts +26 -0
  10. package/dist/adminapi/models/component-network.d.ts.map +1 -0
  11. package/dist/adminapi/models/component-network.js +16 -0
  12. package/dist/adminapi/models/component-network.js.map +1 -0
  13. package/dist/adminapi/models/environment-create.d.ts +7 -0
  14. package/dist/adminapi/models/environment-create.d.ts.map +1 -1
  15. package/dist/adminapi/models/environment-update.d.ts +7 -0
  16. package/dist/adminapi/models/environment-update.d.ts.map +1 -1
  17. package/dist/adminapi/models/environment.d.ts +7 -0
  18. package/dist/adminapi/models/environment.d.ts.map +1 -1
  19. package/dist/adminapi/models/index.d.ts +9 -0
  20. package/dist/adminapi/models/index.d.ts.map +1 -1
  21. package/dist/adminapi/models/index.js +9 -0
  22. package/dist/adminapi/models/index.js.map +1 -1
  23. package/dist/adminapi/models/ip-pool-ipfamily.d.ts +22 -0
  24. package/dist/adminapi/models/ip-pool-ipfamily.d.ts.map +1 -0
  25. package/dist/adminapi/models/ip-pool-ipfamily.js +26 -0
  26. package/dist/adminapi/models/ip-pool-ipfamily.js.map +1 -0
  27. package/dist/adminapi/models/ip-pool-list.d.ts +26 -0
  28. package/dist/adminapi/models/ip-pool-list.d.ts.map +1 -0
  29. package/dist/adminapi/models/ip-pool-list.js +16 -0
  30. package/dist/adminapi/models/ip-pool-list.js.map +1 -0
  31. package/dist/adminapi/models/ip-pool-provider-list.d.ts +40 -0
  32. package/dist/adminapi/models/ip-pool-provider-list.d.ts.map +1 -0
  33. package/dist/adminapi/models/ip-pool-provider-list.js +16 -0
  34. package/dist/adminapi/models/ip-pool-provider-list.js.map +1 -0
  35. package/dist/adminapi/models/ip-pool-provider.d.ts +21 -0
  36. package/dist/adminapi/models/ip-pool-provider.d.ts.map +1 -0
  37. package/dist/adminapi/models/ip-pool-provider.js +25 -0
  38. package/dist/adminapi/models/ip-pool-provider.js.map +1 -0
  39. package/dist/adminapi/models/ip-pool-selection-policy.d.ts +32 -0
  40. package/dist/adminapi/models/ip-pool-selection-policy.d.ts.map +1 -0
  41. package/dist/adminapi/models/ip-pool-selection-policy.js +16 -0
  42. package/dist/adminapi/models/ip-pool-selection-policy.js.map +1 -0
  43. package/dist/adminapi/models/ip-pool-selection-requirement.d.ts +23 -0
  44. package/dist/adminapi/models/ip-pool-selection-requirement.d.ts.map +1 -0
  45. package/dist/adminapi/models/ip-pool-selection-requirement.js +27 -0
  46. package/dist/adminapi/models/ip-pool-selection-requirement.js.map +1 -0
  47. package/dist/adminapi/models/ip-pool-selection.d.ts +38 -0
  48. package/dist/adminapi/models/ip-pool-selection.d.ts.map +1 -0
  49. package/dist/adminapi/models/ip-pool-selection.js +16 -0
  50. package/dist/adminapi/models/ip-pool-selection.js.map +1 -0
  51. package/dist/adminapi/models/ip-pool.d.ts +80 -0
  52. package/dist/adminapi/models/ip-pool.d.ts.map +1 -0
  53. package/dist/adminapi/models/ip-pool.js +16 -0
  54. package/dist/adminapi/models/ip-pool.js.map +1 -0
  55. package/dist/internalapi/models/component-item.d.ts +7 -0
  56. package/dist/internalapi/models/component-item.d.ts.map +1 -1
  57. package/dist/internalapi/models/component-network.d.ts +26 -0
  58. package/dist/internalapi/models/component-network.d.ts.map +1 -0
  59. package/dist/internalapi/models/component-network.js +16 -0
  60. package/dist/internalapi/models/component-network.js.map +1 -0
  61. package/dist/internalapi/models/index.d.ts +3 -0
  62. package/dist/internalapi/models/index.d.ts.map +1 -1
  63. package/dist/internalapi/models/index.js +3 -0
  64. package/dist/internalapi/models/index.js.map +1 -1
  65. package/dist/internalapi/models/ip-pool-provider.d.ts +21 -0
  66. package/dist/internalapi/models/ip-pool-provider.d.ts.map +1 -0
  67. package/dist/internalapi/models/ip-pool-provider.js +25 -0
  68. package/dist/internalapi/models/ip-pool-provider.js.map +1 -0
  69. package/dist/internalapi/models/ip-pool-selection.d.ts +38 -0
  70. package/dist/internalapi/models/ip-pool-selection.d.ts.map +1 -0
  71. package/dist/internalapi/models/ip-pool-selection.js +16 -0
  72. package/dist/internalapi/models/ip-pool-selection.js.map +1 -0
  73. package/dist/openapi/apis/environment-api.d.ts +64 -0
  74. package/dist/openapi/apis/environment-api.d.ts.map +1 -1
  75. package/dist/openapi/apis/environment-api.js +74 -0
  76. package/dist/openapi/apis/environment-api.js.map +1 -1
  77. package/dist/openapi/models/component-item-create.d.ts +7 -0
  78. package/dist/openapi/models/component-item-create.d.ts.map +1 -1
  79. package/dist/openapi/models/component-item.d.ts +7 -0
  80. package/dist/openapi/models/component-item.d.ts.map +1 -1
  81. package/dist/openapi/models/component-network.d.ts +26 -0
  82. package/dist/openapi/models/component-network.d.ts.map +1 -0
  83. package/dist/openapi/models/component-network.js +16 -0
  84. package/dist/openapi/models/component-network.js.map +1 -0
  85. package/dist/openapi/models/environment.d.ts +7 -0
  86. package/dist/openapi/models/environment.d.ts.map +1 -1
  87. package/dist/openapi/models/index.d.ts +9 -0
  88. package/dist/openapi/models/index.d.ts.map +1 -1
  89. package/dist/openapi/models/index.js +9 -0
  90. package/dist/openapi/models/index.js.map +1 -1
  91. package/dist/openapi/models/ip-pool-ipfamily.d.ts +22 -0
  92. package/dist/openapi/models/ip-pool-ipfamily.d.ts.map +1 -0
  93. package/dist/openapi/models/ip-pool-ipfamily.js +26 -0
  94. package/dist/openapi/models/ip-pool-ipfamily.js.map +1 -0
  95. package/dist/openapi/models/ip-pool-list.d.ts +26 -0
  96. package/dist/openapi/models/ip-pool-list.d.ts.map +1 -0
  97. package/dist/openapi/models/ip-pool-list.js +16 -0
  98. package/dist/openapi/models/ip-pool-list.js.map +1 -0
  99. package/dist/openapi/models/ip-pool-provider-list.d.ts +40 -0
  100. package/dist/openapi/models/ip-pool-provider-list.d.ts.map +1 -0
  101. package/dist/openapi/models/ip-pool-provider-list.js +16 -0
  102. package/dist/openapi/models/ip-pool-provider-list.js.map +1 -0
  103. package/dist/openapi/models/ip-pool-provider.d.ts +21 -0
  104. package/dist/openapi/models/ip-pool-provider.d.ts.map +1 -0
  105. package/dist/openapi/models/ip-pool-provider.js +25 -0
  106. package/dist/openapi/models/ip-pool-provider.js.map +1 -0
  107. package/dist/openapi/models/ip-pool-selection-policy.d.ts +32 -0
  108. package/dist/openapi/models/ip-pool-selection-policy.d.ts.map +1 -0
  109. package/dist/openapi/models/ip-pool-selection-policy.js +16 -0
  110. package/dist/openapi/models/ip-pool-selection-policy.js.map +1 -0
  111. package/dist/openapi/models/ip-pool-selection-requirement.d.ts +23 -0
  112. package/dist/openapi/models/ip-pool-selection-requirement.d.ts.map +1 -0
  113. package/dist/openapi/models/ip-pool-selection-requirement.js +27 -0
  114. package/dist/openapi/models/ip-pool-selection-requirement.js.map +1 -0
  115. package/dist/openapi/models/ip-pool-selection.d.ts +38 -0
  116. package/dist/openapi/models/ip-pool-selection.d.ts.map +1 -0
  117. package/dist/openapi/models/ip-pool-selection.js +16 -0
  118. package/dist/openapi/models/ip-pool-selection.js.map +1 -0
  119. package/dist/openapi/models/ip-pool.d.ts +80 -0
  120. package/dist/openapi/models/ip-pool.d.ts.map +1 -0
  121. package/dist/openapi/models/ip-pool.js +16 -0
  122. package/dist/openapi/models/ip-pool.js.map +1 -0
  123. package/package.json +1 -1
  124. package/src/adminapi/.openapi-generator/FILES +9 -0
  125. package/src/adminapi/apis/environment-api.ts +102 -0
  126. package/src/adminapi/models/component-item-create.ts +9 -0
  127. package/src/adminapi/models/component-item.ts +9 -0
  128. package/src/adminapi/models/component-network.ts +33 -0
  129. package/src/adminapi/models/environment-create.ts +9 -0
  130. package/src/adminapi/models/environment-update.ts +9 -0
  131. package/src/adminapi/models/environment.ts +9 -0
  132. package/src/adminapi/models/index.ts +9 -0
  133. package/src/adminapi/models/ip-pool-ipfamily.ts +31 -0
  134. package/src/adminapi/models/ip-pool-list.ts +33 -0
  135. package/src/adminapi/models/ip-pool-provider-list.ts +53 -0
  136. package/src/adminapi/models/ip-pool-provider.ts +30 -0
  137. package/src/adminapi/models/ip-pool-selection-policy.ts +41 -0
  138. package/src/adminapi/models/ip-pool-selection-requirement.ts +32 -0
  139. package/src/adminapi/models/ip-pool-selection.ts +47 -0
  140. package/src/adminapi/models/ip-pool.ts +89 -0
  141. package/src/adminapi.yaml +155 -0
  142. package/src/internalapi/.openapi-generator/FILES +3 -0
  143. package/src/internalapi/models/component-item.ts +9 -0
  144. package/src/internalapi/models/component-network.ts +33 -0
  145. package/src/internalapi/models/index.ts +3 -0
  146. package/src/internalapi/models/ip-pool-provider.ts +30 -0
  147. package/src/internalapi/models/ip-pool-selection.ts +47 -0
  148. package/src/internalapi.yaml +31 -0
  149. package/src/openapi/.openapi-generator/FILES +9 -0
  150. package/src/openapi/apis/environment-api.ts +114 -0
  151. package/src/openapi/models/component-item-create.ts +9 -0
  152. package/src/openapi/models/component-item.ts +9 -0
  153. package/src/openapi/models/component-network.ts +33 -0
  154. package/src/openapi/models/environment.ts +9 -0
  155. package/src/openapi/models/index.ts +9 -0
  156. package/src/openapi/models/ip-pool-ipfamily.ts +31 -0
  157. package/src/openapi/models/ip-pool-list.ts +33 -0
  158. package/src/openapi/models/ip-pool-provider-list.ts +53 -0
  159. package/src/openapi/models/ip-pool-provider.ts +30 -0
  160. package/src/openapi/models/ip-pool-selection-policy.ts +41 -0
  161. package/src/openapi/models/ip-pool-selection-requirement.ts +32 -0
  162. package/src/openapi/models/ip-pool-selection.ts +47 -0
  163. package/src/openapi/models/ip-pool.ts +89 -0
  164. package/src/openapi.yaml +154 -2
@@ -0,0 +1,33 @@
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 { IpPoolSelection } from './ip-pool-selection';
19
+
20
+ /**
21
+ * Per-component network configuration.
22
+ * @export
23
+ * @interface ComponentNetwork
24
+ */
25
+ export interface ComponentNetwork {
26
+ /**
27
+ *
28
+ * @type {IpPoolSelection}
29
+ * @memberof ComponentNetwork
30
+ */
31
+ 'ipPool'?: IpPoolSelection;
32
+ }
33
+
@@ -27,6 +27,9 @@ import type { EnvironmentState } from './environment-state';
27
27
  import type { EnvironmentType } from './environment-type';
28
28
  // May contain unused imports in some cases
29
29
  // @ts-ignore
30
+ import type { IpPoolProvider } from './ip-pool-provider';
31
+ // May contain unused imports in some cases
32
+ // @ts-ignore
30
33
  import type { NetworkConfig } from './network-config';
31
34
 
32
35
  /**
@@ -131,6 +134,12 @@ export interface Environment {
131
134
  * @memberof Environment
132
135
  */
133
136
  'kbVersion'?: string;
137
+ /**
138
+ * KBE Pod IP pool providers enabled for discovery and explicit pool selection.
139
+ * @type {Array<IpPoolProvider>}
140
+ * @memberof Environment
141
+ */
142
+ 'ipPoolProviders': Array<IpPoolProvider>;
134
143
  /**
135
144
  * namespace info for environment
136
145
  * @type {Array<string>}
@@ -186,6 +186,7 @@ export * from './cluster-update';
186
186
  export * from './cluster-validation-policy';
187
187
  export * from './component-item';
188
188
  export * from './component-item-create';
189
+ export * from './component-network';
189
190
  export * from './component-ops-option';
190
191
  export * from './component-ops-option-backup-method';
191
192
  export * from './component-ops-option-dependent-custom-ops';
@@ -447,6 +448,14 @@ export * from './instance-storage-item';
447
448
  export * from './integer-option';
448
449
  export * from './international-desc';
449
450
  export * from './io-quantity';
451
+ export * from './ip-pool';
452
+ export * from './ip-pool-ipfamily';
453
+ export * from './ip-pool-list';
454
+ export * from './ip-pool-provider';
455
+ export * from './ip-pool-provider-list';
456
+ export * from './ip-pool-selection';
457
+ export * from './ip-pool-selection-policy';
458
+ export * from './ip-pool-selection-requirement';
450
459
  export * from './ip-whitelist';
451
460
  export * from './ip-whitelist-list';
452
461
  export * from './key';
@@ -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
+ *
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const IpPoolIPFamily = {
24
+ IPv4: 'IPv4',
25
+ IPv6: 'IPv6'
26
+ } as const;
27
+
28
+ export type IpPoolIPFamily = typeof IpPoolIPFamily[keyof typeof IpPoolIPFamily];
29
+
30
+
31
+
@@ -0,0 +1,33 @@
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 { IpPoolProviderList } from './ip-pool-provider-list';
19
+
20
+ /**
21
+ * Pod IP pool discovery result for an environment.
22
+ * @export
23
+ * @interface IpPoolList
24
+ */
25
+ export interface IpPoolList {
26
+ /**
27
+ *
28
+ * @type {Array<IpPoolProviderList>}
29
+ * @memberof IpPoolList
30
+ */
31
+ 'providers': Array<IpPoolProviderList>;
32
+ }
33
+
@@ -0,0 +1,53 @@
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 { IpPool } from './ip-pool';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { IpPoolProvider } from './ip-pool-provider';
22
+ // May contain unused imports in some cases
23
+ // @ts-ignore
24
+ import type { IpPoolSelectionPolicy } from './ip-pool-selection-policy';
25
+
26
+ /**
27
+ * Pod IP pools and selection policy reported by one provider.
28
+ * @export
29
+ * @interface IpPoolProviderList
30
+ */
31
+ export interface IpPoolProviderList {
32
+ /**
33
+ *
34
+ * @type {IpPoolProvider}
35
+ * @memberof IpPoolProviderList
36
+ */
37
+ 'name': IpPoolProvider;
38
+ /**
39
+ *
40
+ * @type {IpPoolSelectionPolicy}
41
+ * @memberof IpPoolProviderList
42
+ */
43
+ 'selectionPolicy': IpPoolSelectionPolicy;
44
+ /**
45
+ *
46
+ * @type {Array<IpPool>}
47
+ * @memberof IpPoolProviderList
48
+ */
49
+ 'items': Array<IpPool>;
50
+ }
51
+
52
+
53
+
@@ -0,0 +1,30 @@
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
+ * KBE provider used for Pod IP pool discovery and explicit selection.
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const IpPoolProvider = {
24
+ spiderpool: 'spiderpool'
25
+ } as const;
26
+
27
+ export type IpPoolProvider = typeof IpPoolProvider[keyof typeof IpPoolProvider];
28
+
29
+
30
+
@@ -0,0 +1,41 @@
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 { IpPoolSelectionRequirement } from './ip-pool-selection-requirement';
19
+
20
+ /**
21
+ * Per-address-family requirements for explicit IP pool selection.
22
+ * @export
23
+ * @interface IpPoolSelectionPolicy
24
+ */
25
+ export interface IpPoolSelectionPolicy {
26
+ /**
27
+ *
28
+ * @type {IpPoolSelectionRequirement}
29
+ * @memberof IpPoolSelectionPolicy
30
+ */
31
+ 'ipv4': IpPoolSelectionRequirement;
32
+ /**
33
+ *
34
+ * @type {IpPoolSelectionRequirement}
35
+ * @memberof IpPoolSelectionPolicy
36
+ */
37
+ 'ipv6': IpPoolSelectionRequirement;
38
+ }
39
+
40
+
41
+
@@ -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
+ *
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const IpPoolSelectionRequirement = {
24
+ required: 'required',
25
+ optional: 'optional',
26
+ unsupported: 'unsupported'
27
+ } as const;
28
+
29
+ export type IpPoolSelectionRequirement = typeof IpPoolSelectionRequirement[keyof typeof IpPoolSelectionRequirement];
30
+
31
+
32
+
@@ -0,0 +1,47 @@
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 { IpPoolProvider } from './ip-pool-provider';
19
+
20
+ /**
21
+ * Provider-qualified Pod IP pool selection for component pod IP allocation.
22
+ * @export
23
+ * @interface IpPoolSelection
24
+ */
25
+ export interface IpPoolSelection {
26
+ /**
27
+ *
28
+ * @type {IpPoolProvider}
29
+ * @memberof IpPoolSelection
30
+ */
31
+ 'provider': IpPoolProvider;
32
+ /**
33
+ * IPv4 pool names resolved within the selected provider.
34
+ * @type {Array<string>}
35
+ * @memberof IpPoolSelection
36
+ */
37
+ 'ipv4Pools'?: Array<string>;
38
+ /**
39
+ * IPv6 pool names resolved within the selected provider.
40
+ * @type {Array<string>}
41
+ * @memberof IpPoolSelection
42
+ */
43
+ 'ipv6Pools'?: Array<string>;
44
+ }
45
+
46
+
47
+
@@ -0,0 +1,89 @@
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 { IpPoolIPFamily } from './ip-pool-ipfamily';
19
+
20
+ /**
21
+ * Provider-neutral Pod IP pool summary.
22
+ * @export
23
+ * @interface IpPool
24
+ */
25
+ export interface IpPool {
26
+ /**
27
+ *
28
+ * @type {string}
29
+ * @memberof IpPool
30
+ */
31
+ 'name'?: string;
32
+ /**
33
+ *
34
+ * @type {IpPoolIPFamily}
35
+ * @memberof IpPool
36
+ */
37
+ 'ipFamily'?: IpPoolIPFamily;
38
+ /**
39
+ *
40
+ * @type {string}
41
+ * @memberof IpPool
42
+ */
43
+ 'subnet'?: string;
44
+ /**
45
+ *
46
+ * @type {boolean}
47
+ * @memberof IpPool
48
+ */
49
+ 'disabled'?: boolean;
50
+ /**
51
+ *
52
+ * @type {boolean}
53
+ * @memberof IpPool
54
+ */
55
+ 'default'?: boolean;
56
+ /**
57
+ *
58
+ * @type {number}
59
+ * @memberof IpPool
60
+ */
61
+ 'allocatedIPCount'?: number;
62
+ /**
63
+ *
64
+ * @type {number}
65
+ * @memberof IpPool
66
+ */
67
+ 'totalIPCount'?: number;
68
+ /**
69
+ *
70
+ * @type {number}
71
+ * @memberof IpPool
72
+ */
73
+ 'availableIPCount'?: number;
74
+ /**
75
+ *
76
+ * @type {boolean}
77
+ * @memberof IpPool
78
+ */
79
+ 'capacityReliable'?: boolean;
80
+ /**
81
+ *
82
+ * @type {Array<string>}
83
+ * @memberof IpPool
84
+ */
85
+ 'affinitySummary'?: Array<string>;
86
+ }
87
+
88
+
89
+
package/src/openapi.yaml CHANGED
@@ -1075,6 +1075,42 @@ paths:
1075
1075
  $ref: '#/components/responses/404'
1076
1076
  '500':
1077
1077
  $ref: '#/components/responses/500'
1078
+ /api/v1/organizations/{orgName}/environments/{environmentName}/network/ipPools:
1079
+ get:
1080
+ tags:
1081
+ - environment
1082
+ operationId: listEnvironmentIPPools
1083
+ summary: Discover Pod IP pools and explicit selection policy in an environment
1084
+ parameters:
1085
+ - description: name of the Org
1086
+ in: path
1087
+ name: orgName
1088
+ required: true
1089
+ schema:
1090
+ type: string
1091
+ - description: name of the Environment
1092
+ in: path
1093
+ name: environmentName
1094
+ required: true
1095
+ schema:
1096
+ type: string
1097
+ responses:
1098
+ '200':
1099
+ description: OK
1100
+ content:
1101
+ application/json:
1102
+ schema:
1103
+ $ref: '#/components/schemas/ipPoolList'
1104
+ '400':
1105
+ $ref: '#/components/responses/400'
1106
+ '401':
1107
+ $ref: '#/components/responses/401'
1108
+ '403':
1109
+ $ref: '#/components/responses/403'
1110
+ '404':
1111
+ $ref: '#/components/responses/404'
1112
+ '500':
1113
+ $ref: '#/components/responses/500'
1078
1114
  /api/v1/organizations/{orgName}/environments/{environmentName}/storageClasses:
1079
1115
  get:
1080
1116
  description: Provides a summary of storage class statistics, aggregated and organized by namespace.
@@ -1116,6 +1152,8 @@ paths:
1116
1152
  - storageClass
1117
1153
  /api/v1/organizations/{orgName}/environments/{environmentName}/koordinatorReservations/summary:
1118
1154
  get:
1155
+ tags:
1156
+ - environment
1119
1157
  description: Get Koordinator Reservation summary for the cluster creation page.
1120
1158
  summary: List Koordinator Reservations
1121
1159
  operationId: listKoordinatorReservations
@@ -1149,8 +1187,6 @@ paths:
1149
1187
  $ref: '#/components/responses/404'
1150
1188
  '500':
1151
1189
  $ref: '#/components/responses/500'
1152
- tags:
1153
- - environment
1154
1190
  /api/v1/organizations/{orgName}/environments/{environmentName}/loadbalancer:
1155
1191
  get:
1156
1192
  operationId: getLoadBalancer
@@ -20138,6 +20174,11 @@ components:
20138
20174
  - public
20139
20175
  - private
20140
20176
  default: public
20177
+ ipPoolProvider:
20178
+ type: string
20179
+ description: KBE provider used for Pod IP pool discovery and explicit selection.
20180
+ enum:
20181
+ - spiderpool
20141
20182
  clusterValidationPolicy:
20142
20183
  type: string
20143
20184
  description: Cluster operation validation policy, such as create, hscale, vscale, etc.
@@ -20212,6 +20253,11 @@ components:
20212
20253
  kbVersion:
20213
20254
  type: string
20214
20255
  description: KubeBlocks version of the environment
20256
+ ipPoolProviders:
20257
+ description: KBE Pod IP pool providers enabled for discovery and explicit pool selection.
20258
+ type: array
20259
+ items:
20260
+ $ref: '#/components/schemas/ipPoolProvider'
20215
20261
  namespaces:
20216
20262
  items:
20217
20263
  type: string
@@ -20238,6 +20284,7 @@ components:
20238
20284
  - state
20239
20285
  - updatedAt
20240
20286
  - defaultStorageClass
20287
+ - ipPoolProviders
20241
20288
  type: object
20242
20289
  environmentList:
20243
20290
  description: EnvironmentList is a list of Environments
@@ -20257,6 +20304,83 @@ components:
20257
20304
  items:
20258
20305
  type: string
20259
20306
  type: array
20307
+ ipPoolSelectionRequirement:
20308
+ type: string
20309
+ enum:
20310
+ - required
20311
+ - optional
20312
+ - unsupported
20313
+ ipPoolSelectionPolicy:
20314
+ type: object
20315
+ description: Per-address-family requirements for explicit IP pool selection.
20316
+ properties:
20317
+ ipv4:
20318
+ $ref: '#/components/schemas/ipPoolSelectionRequirement'
20319
+ ipv6:
20320
+ $ref: '#/components/schemas/ipPoolSelectionRequirement'
20321
+ required:
20322
+ - ipv4
20323
+ - ipv6
20324
+ ipPoolIPFamily:
20325
+ type: string
20326
+ enum:
20327
+ - IPv4
20328
+ - IPv6
20329
+ ipPool:
20330
+ type: object
20331
+ description: Provider-neutral Pod IP pool summary.
20332
+ properties:
20333
+ name:
20334
+ type: string
20335
+ ipFamily:
20336
+ $ref: '#/components/schemas/ipPoolIPFamily'
20337
+ subnet:
20338
+ type: string
20339
+ disabled:
20340
+ type: boolean
20341
+ default:
20342
+ type: boolean
20343
+ allocatedIPCount:
20344
+ type: integer
20345
+ format: int64
20346
+ totalIPCount:
20347
+ type: integer
20348
+ format: int64
20349
+ availableIPCount:
20350
+ type: integer
20351
+ format: int64
20352
+ capacityReliable:
20353
+ type: boolean
20354
+ affinitySummary:
20355
+ type: array
20356
+ items:
20357
+ type: string
20358
+ ipPoolProviderList:
20359
+ type: object
20360
+ description: Pod IP pools and selection policy reported by one provider.
20361
+ properties:
20362
+ name:
20363
+ $ref: '#/components/schemas/ipPoolProvider'
20364
+ selectionPolicy:
20365
+ $ref: '#/components/schemas/ipPoolSelectionPolicy'
20366
+ items:
20367
+ type: array
20368
+ items:
20369
+ $ref: '#/components/schemas/ipPool'
20370
+ required:
20371
+ - name
20372
+ - selectionPolicy
20373
+ - items
20374
+ ipPoolList:
20375
+ type: object
20376
+ description: Pod IP pool discovery result for an environment.
20377
+ properties:
20378
+ providers:
20379
+ type: array
20380
+ items:
20381
+ $ref: '#/components/schemas/ipPoolProviderList'
20382
+ required:
20383
+ - providers
20260
20384
  storageClassInfo:
20261
20385
  description: StorageClassInfo provides detailed information about a specific storage class.
20262
20386
  properties:
@@ -21437,6 +21561,30 @@ components:
21437
21561
  $ref: '#/components/schemas/ioQuantity'
21438
21562
  ioReserves:
21439
21563
  $ref: '#/components/schemas/ioQuantity'
21564
+ ipPoolSelection:
21565
+ type: object
21566
+ description: Provider-qualified Pod IP pool selection for component pod IP allocation.
21567
+ required:
21568
+ - provider
21569
+ properties:
21570
+ provider:
21571
+ $ref: '#/components/schemas/ipPoolProvider'
21572
+ ipv4Pools:
21573
+ type: array
21574
+ items:
21575
+ type: string
21576
+ description: IPv4 pool names resolved within the selected provider.
21577
+ ipv6Pools:
21578
+ type: array
21579
+ items:
21580
+ type: string
21581
+ description: IPv6 pool names resolved within the selected provider.
21582
+ componentNetwork:
21583
+ type: object
21584
+ description: Per-component network configuration.
21585
+ properties:
21586
+ ipPool:
21587
+ $ref: '#/components/schemas/ipPoolSelection'
21440
21588
  componentItemCreate:
21441
21589
  type: object
21442
21590
  description: ComponentItem is the information of a component
@@ -21485,6 +21633,8 @@ components:
21485
21633
  systemAccountSecretName:
21486
21634
  description: The name of the secret that contains the system account credentials
21487
21635
  type: string
21636
+ network:
21637
+ $ref: '#/components/schemas/componentNetwork'
21488
21638
  componentsCreate:
21489
21639
  type: array
21490
21640
  description: Components is the list of components
@@ -21788,6 +21938,8 @@ components:
21788
21938
  systemAccountSecretName:
21789
21939
  description: The name of the secret that contains the system account credentials
21790
21940
  type: string
21941
+ network:
21942
+ $ref: '#/components/schemas/componentNetwork'
21791
21943
  components:
21792
21944
  type: array
21793
21945
  description: Components is the list of components