@distilled.cloud/stackit 0.0.0-placeholder → 1.0.0-rc.13

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 (298) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -0
  3. package/lib/credentials.d.ts +29 -0
  4. package/lib/credentials.d.ts.map +1 -0
  5. package/lib/credentials.js +49 -0
  6. package/lib/credentials.js.map +1 -0
  7. package/lib/errors.d.ts +36 -0
  8. package/lib/errors.d.ts.map +1 -0
  9. package/lib/errors.js +26 -0
  10. package/lib/errors.js.map +1 -0
  11. package/lib/index.d.ts +30 -0
  12. package/lib/index.d.ts.map +1 -0
  13. package/lib/index.js +30 -0
  14. package/lib/index.js.map +1 -0
  15. package/lib/pagination.d.ts +9 -0
  16. package/lib/pagination.d.ts.map +1 -0
  17. package/lib/pagination.js +48 -0
  18. package/lib/pagination.js.map +1 -0
  19. package/lib/protocol.d.ts +32 -0
  20. package/lib/protocol.d.ts.map +1 -0
  21. package/lib/protocol.js +148 -0
  22. package/lib/protocol.js.map +1 -0
  23. package/lib/response-validation.test.d.ts +4 -0
  24. package/lib/response-validation.test.d.ts.map +1 -0
  25. package/lib/response-validation.test.js +31 -0
  26. package/lib/response-validation.test.js.map +1 -0
  27. package/lib/retry.d.ts +31 -0
  28. package/lib/retry.d.ts.map +1 -0
  29. package/lib/retry.js +31 -0
  30. package/lib/retry.js.map +1 -0
  31. package/lib/services/alb.d.ts +603 -0
  32. package/lib/services/alb.d.ts.map +1 -0
  33. package/lib/services/alb.js +562 -0
  34. package/lib/services/alb.js.map +1 -0
  35. package/lib/services/alb_waf.d.ts +526 -0
  36. package/lib/services/alb_waf.d.ts.map +1 -0
  37. package/lib/services/alb_waf.js +545 -0
  38. package/lib/services/alb_waf.js.map +1 -0
  39. package/lib/services/authorization.d.ts +251 -0
  40. package/lib/services/authorization.d.ts.map +1 -0
  41. package/lib/services/authorization.js +353 -0
  42. package/lib/services/authorization.js.map +1 -0
  43. package/lib/services/automation.d.ts +358 -0
  44. package/lib/services/automation.d.ts.map +1 -0
  45. package/lib/services/automation.js +426 -0
  46. package/lib/services/automation.js.map +1 -0
  47. package/lib/services/cdn.d.ts +1239 -0
  48. package/lib/services/cdn.d.ts.map +1 -0
  49. package/lib/services/cdn.js +992 -0
  50. package/lib/services/cdn.js.map +1 -0
  51. package/lib/services/certificates.d.ts +201 -0
  52. package/lib/services/certificates.d.ts.map +1 -0
  53. package/lib/services/certificates.js +197 -0
  54. package/lib/services/certificates.js.map +1 -0
  55. package/lib/services/cost.d.ts +222 -0
  56. package/lib/services/cost.d.ts.map +1 -0
  57. package/lib/services/cost.js +188 -0
  58. package/lib/services/cost.js.map +1 -0
  59. package/lib/services/dns.d.ts +875 -0
  60. package/lib/services/dns.d.ts.map +1 -0
  61. package/lib/services/dns.js +854 -0
  62. package/lib/services/dns.js.map +1 -0
  63. package/lib/services/dremio.d.ts +358 -0
  64. package/lib/services/dremio.d.ts.map +1 -0
  65. package/lib/services/dremio.js +339 -0
  66. package/lib/services/dremio.js.map +1 -0
  67. package/lib/services/edge.d.ts +312 -0
  68. package/lib/services/edge.d.ts.map +1 -0
  69. package/lib/services/edge.js +375 -0
  70. package/lib/services/edge.js.map +1 -0
  71. package/lib/services/functions.d.ts +409 -0
  72. package/lib/services/functions.d.ts.map +1 -0
  73. package/lib/services/functions.js +423 -0
  74. package/lib/services/functions.js.map +1 -0
  75. package/lib/services/git.d.ts +497 -0
  76. package/lib/services/git.d.ts.map +1 -0
  77. package/lib/services/git.js +552 -0
  78. package/lib/services/git.js.map +1 -0
  79. package/lib/services/iaas.d.ts +2965 -0
  80. package/lib/services/iaas.d.ts.map +1 -0
  81. package/lib/services/iaas.js +3768 -0
  82. package/lib/services/iaas.js.map +1 -0
  83. package/lib/services/index.d.ts +51 -0
  84. package/lib/services/index.d.ts.map +1 -0
  85. package/lib/services/index.js +52 -0
  86. package/lib/services/index.js.map +1 -0
  87. package/lib/services/intake.d.ts +555 -0
  88. package/lib/services/intake.d.ts.map +1 -0
  89. package/lib/services/intake.js +513 -0
  90. package/lib/services/intake.js.map +1 -0
  91. package/lib/services/kms.d.ts +654 -0
  92. package/lib/services/kms.d.ts.map +1 -0
  93. package/lib/services/kms.js +703 -0
  94. package/lib/services/kms.js.map +1 -0
  95. package/lib/services/lb_ip_lists.d.ts +162 -0
  96. package/lib/services/lb_ip_lists.d.ts.map +1 -0
  97. package/lib/services/lb_ip_lists.js +173 -0
  98. package/lib/services/lb_ip_lists.js.map +1 -0
  99. package/lib/services/load_balancer.d.ts +563 -0
  100. package/lib/services/load_balancer.d.ts.map +1 -0
  101. package/lib/services/load_balancer.js +542 -0
  102. package/lib/services/load_balancer.js.map +1 -0
  103. package/lib/services/logme.d.ts +516 -0
  104. package/lib/services/logme.d.ts.map +1 -0
  105. package/lib/services/logme.js +636 -0
  106. package/lib/services/logme.js.map +1 -0
  107. package/lib/services/logs.d.ts +436 -0
  108. package/lib/services/logs.d.ts.map +1 -0
  109. package/lib/services/logs.js +498 -0
  110. package/lib/services/logs.js.map +1 -0
  111. package/lib/services/mariadb.d.ts +479 -0
  112. package/lib/services/mariadb.d.ts.map +1 -0
  113. package/lib/services/mariadb.js +611 -0
  114. package/lib/services/mariadb.js.map +1 -0
  115. package/lib/services/model_experiments.d.ts +306 -0
  116. package/lib/services/model_experiments.d.ts.map +1 -0
  117. package/lib/services/model_experiments.js +356 -0
  118. package/lib/services/model_experiments.js.map +1 -0
  119. package/lib/services/model_serving.d.ts +289 -0
  120. package/lib/services/model_serving.d.ts.map +1 -0
  121. package/lib/services/model_serving.js +319 -0
  122. package/lib/services/model_serving.js.map +1 -0
  123. package/lib/services/mongodb_flex.d.ts +826 -0
  124. package/lib/services/mongodb_flex.d.ts.map +1 -0
  125. package/lib/services/mongodb_flex.js +889 -0
  126. package/lib/services/mongodb_flex.js.map +1 -0
  127. package/lib/services/object_storage.d.ts +446 -0
  128. package/lib/services/object_storage.d.ts.map +1 -0
  129. package/lib/services/object_storage.js +577 -0
  130. package/lib/services/object_storage.js.map +1 -0
  131. package/lib/services/observability.d.ts +2750 -0
  132. package/lib/services/observability.d.ts.map +1 -0
  133. package/lib/services/observability.js +3407 -0
  134. package/lib/services/observability.js.map +1 -0
  135. package/lib/services/opensearch.d.ts +505 -0
  136. package/lib/services/opensearch.d.ts.map +1 -0
  137. package/lib/services/opensearch.js +623 -0
  138. package/lib/services/opensearch.js.map +1 -0
  139. package/lib/services/pim.d.ts +997 -0
  140. package/lib/services/pim.d.ts.map +1 -0
  141. package/lib/services/pim.js +789 -0
  142. package/lib/services/pim.js.map +1 -0
  143. package/lib/services/postgres_flex.d.ts +854 -0
  144. package/lib/services/postgres_flex.d.ts.map +1 -0
  145. package/lib/services/postgres_flex.js +1018 -0
  146. package/lib/services/postgres_flex.js.map +1 -0
  147. package/lib/services/pubsub.d.ts +489 -0
  148. package/lib/services/pubsub.d.ts.map +1 -0
  149. package/lib/services/pubsub.js +614 -0
  150. package/lib/services/pubsub.js.map +1 -0
  151. package/lib/services/rabbitmq.d.ts +523 -0
  152. package/lib/services/rabbitmq.d.ts.map +1 -0
  153. package/lib/services/rabbitmq.js +636 -0
  154. package/lib/services/rabbitmq.js.map +1 -0
  155. package/lib/services/registry.d.ts +212 -0
  156. package/lib/services/registry.d.ts.map +1 -0
  157. package/lib/services/registry.js +221 -0
  158. package/lib/services/registry.js.map +1 -0
  159. package/lib/services/resource_manager.d.ts +458 -0
  160. package/lib/services/resource_manager.d.ts.map +1 -0
  161. package/lib/services/resource_manager.js +503 -0
  162. package/lib/services/resource_manager.js.map +1 -0
  163. package/lib/services/run_command.d.ts +175 -0
  164. package/lib/services/run_command.d.ts.map +1 -0
  165. package/lib/services/run_command.js +203 -0
  166. package/lib/services/run_command.js.map +1 -0
  167. package/lib/services/sca.d.ts +541 -0
  168. package/lib/services/sca.d.ts.map +1 -0
  169. package/lib/services/sca.js +478 -0
  170. package/lib/services/sca.js.map +1 -0
  171. package/lib/services/scf.d.ts +498 -0
  172. package/lib/services/scf.d.ts.map +1 -0
  173. package/lib/services/scf.js +718 -0
  174. package/lib/services/scf.js.map +1 -0
  175. package/lib/services/secrets_manager.d.ts +505 -0
  176. package/lib/services/secrets_manager.d.ts.map +1 -0
  177. package/lib/services/secrets_manager.js +659 -0
  178. package/lib/services/secrets_manager.js.map +1 -0
  179. package/lib/services/server_backup.d.ts +380 -0
  180. package/lib/services/server_backup.d.ts.map +1 -0
  181. package/lib/services/server_backup.js +474 -0
  182. package/lib/services/server_backup.js.map +1 -0
  183. package/lib/services/server_update.d.ts +292 -0
  184. package/lib/services/server_update.d.ts.map +1 -0
  185. package/lib/services/server_update.js +364 -0
  186. package/lib/services/server_update.js.map +1 -0
  187. package/lib/services/service_account.d.ts +465 -0
  188. package/lib/services/service_account.d.ts.map +1 -0
  189. package/lib/services/service_account.js +523 -0
  190. package/lib/services/service_account.js.map +1 -0
  191. package/lib/services/service_enablement.d.ts +149 -0
  192. package/lib/services/service_enablement.d.ts.map +1 -0
  193. package/lib/services/service_enablement.js +159 -0
  194. package/lib/services/service_enablement.js.map +1 -0
  195. package/lib/services/sfs.d.ts +721 -0
  196. package/lib/services/sfs.d.ts.map +1 -0
  197. package/lib/services/sfs.js +845 -0
  198. package/lib/services/sfs.js.map +1 -0
  199. package/lib/services/ske.d.ts +536 -0
  200. package/lib/services/ske.d.ts.map +1 -0
  201. package/lib/services/ske.js +598 -0
  202. package/lib/services/ske.js.map +1 -0
  203. package/lib/services/sqlserverflex.d.ts +956 -0
  204. package/lib/services/sqlserverflex.d.ts.map +1 -0
  205. package/lib/services/sqlserverflex.js +1087 -0
  206. package/lib/services/sqlserverflex.js.map +1 -0
  207. package/lib/services/stackit_marketplace.d.ts +288 -0
  208. package/lib/services/stackit_marketplace.d.ts.map +1 -0
  209. package/lib/services/stackit_marketplace.js +393 -0
  210. package/lib/services/stackit_marketplace.js.map +1 -0
  211. package/lib/services/telemetry_link.d.ts +443 -0
  212. package/lib/services/telemetry_link.d.ts.map +1 -0
  213. package/lib/services/telemetry_link.js +550 -0
  214. package/lib/services/telemetry_link.js.map +1 -0
  215. package/lib/services/telemetry_router.d.ts +493 -0
  216. package/lib/services/telemetry_router.d.ts.map +1 -0
  217. package/lib/services/telemetry_router.js +523 -0
  218. package/lib/services/telemetry_router.js.map +1 -0
  219. package/lib/services/ufw.d.ts +295 -0
  220. package/lib/services/ufw.d.ts.map +1 -0
  221. package/lib/services/ufw.js +301 -0
  222. package/lib/services/ufw.js.map +1 -0
  223. package/lib/services/valkey.d.ts +505 -0
  224. package/lib/services/valkey.d.ts.map +1 -0
  225. package/lib/services/valkey.js +627 -0
  226. package/lib/services/valkey.js.map +1 -0
  227. package/lib/services/vpn.d.ts +1024 -0
  228. package/lib/services/vpn.d.ts.map +1 -0
  229. package/lib/services/vpn.js +1013 -0
  230. package/lib/services/vpn.js.map +1 -0
  231. package/lib/services/workflows.d.ts +600 -0
  232. package/lib/services/workflows.d.ts.map +1 -0
  233. package/lib/services/workflows.js +556 -0
  234. package/lib/services/workflows.js.map +1 -0
  235. package/lib/traits.d.ts +24 -0
  236. package/lib/traits.d.ts.map +1 -0
  237. package/lib/traits.js +15 -0
  238. package/lib/traits.js.map +1 -0
  239. package/package.json +78 -7
  240. package/src/credentials.ts +90 -0
  241. package/src/errors.ts +50 -0
  242. package/src/index.ts +34 -0
  243. package/src/pagination.ts +73 -0
  244. package/src/protocol.ts +243 -0
  245. package/src/response-validation.test.ts +45 -0
  246. package/src/retry.ts +53 -0
  247. package/src/services/alb.ts +1409 -0
  248. package/src/services/alb_waf.ts +1347 -0
  249. package/src/services/authorization.ts +740 -0
  250. package/src/services/automation.ts +966 -0
  251. package/src/services/cdn.ts +2736 -0
  252. package/src/services/certificates.ts +450 -0
  253. package/src/services/cost.ts +484 -0
  254. package/src/services/dns.ts +2271 -0
  255. package/src/services/dremio.ts +803 -0
  256. package/src/services/edge.ts +839 -0
  257. package/src/services/functions.ts +1010 -0
  258. package/src/services/git.ts +1275 -0
  259. package/src/services/iaas.ts +8670 -0
  260. package/src/services/index.ts +51 -0
  261. package/src/services/intake.ts +1233 -0
  262. package/src/services/kms.ts +1638 -0
  263. package/src/services/lb_ip_lists.ts +377 -0
  264. package/src/services/load_balancer.ts +1342 -0
  265. package/src/services/logme.ts +1379 -0
  266. package/src/services/logs.ts +1150 -0
  267. package/src/services/mariadb.ts +1293 -0
  268. package/src/services/model_experiments.ts +797 -0
  269. package/src/services/model_serving.ts +697 -0
  270. package/src/services/mongodb_flex.ts +2078 -0
  271. package/src/services/object_storage.ts +1248 -0
  272. package/src/services/observability.ts +7856 -0
  273. package/src/services/opensearch.ts +1354 -0
  274. package/src/services/pim.ts +2090 -0
  275. package/src/services/postgres_flex.ts +2326 -0
  276. package/src/services/pubsub.ts +1336 -0
  277. package/src/services/rabbitmq.ts +1402 -0
  278. package/src/services/registry.ts +494 -0
  279. package/src/services/resource_manager.ts +1155 -0
  280. package/src/services/run_command.ts +441 -0
  281. package/src/services/sca.ts +1222 -0
  282. package/src/services/scf.ts +1537 -0
  283. package/src/services/secrets_manager.ts +1399 -0
  284. package/src/services/server_backup.ts +1032 -0
  285. package/src/services/server_update.ts +767 -0
  286. package/src/services/service_account.ts +1208 -0
  287. package/src/services/service_enablement.ts +359 -0
  288. package/src/services/sfs.ts +1913 -0
  289. package/src/services/ske.ts +1408 -0
  290. package/src/services/sqlserverflex.ts +2543 -0
  291. package/src/services/stackit_marketplace.ts +853 -0
  292. package/src/services/telemetry_link.ts +1245 -0
  293. package/src/services/telemetry_router.ts +1205 -0
  294. package/src/services/ufw.ts +704 -0
  295. package/src/services/valkey.ts +1357 -0
  296. package/src/services/vpn.ts +2554 -0
  297. package/src/services/workflows.ts +1361 -0
  298. package/src/traits.ts +65 -0
@@ -0,0 +1,377 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-stackit). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as C from "@distilled.cloud/core/category";
5
+ import * as T from "../traits.ts";
6
+ import {
7
+ StackitProtocol,
8
+ type StackitOpError,
9
+ type StackitOpContext,
10
+ } from "../protocol.ts";
11
+ import { UnknownStackitError } from "../errors.ts";
12
+ import * as Retry from "../retry.ts";
13
+
14
+ export type { StackitOpError, StackitOpContext };
15
+
16
+ export class BadRequest
17
+ extends /*@__PURE__*/ T.applyErrorMatchers(
18
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
19
+ code: S.Number,
20
+ message: S.String,
21
+ }).pipe(C.withBadRequestError),
22
+ [{ status: 400 }],
23
+ ) {}
24
+
25
+ export class Forbidden
26
+ extends /*@__PURE__*/ T.applyErrorMatchers(
27
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
28
+ code: S.Number,
29
+ message: S.String,
30
+ }).pipe(C.withAuthError),
31
+ [{ status: 403 }],
32
+ ) {}
33
+
34
+ export class NotFound
35
+ extends /*@__PURE__*/ T.applyErrorMatchers(
36
+ /*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
37
+ code: S.Number,
38
+ message: S.String,
39
+ }).pipe(C.withBadRequestError),
40
+ [{ status: 404 }],
41
+ ) {}
42
+
43
+ export class UnprocessableEntity
44
+ extends /*@__PURE__*/ T.applyErrorMatchers(
45
+ /*@__PURE__*/ S.TaggedError<UnprocessableEntity>()("UnprocessableEntity", {
46
+ code: S.Number,
47
+ message: S.String,
48
+ }).pipe(C.withBadRequestError),
49
+ [{ status: 422 }],
50
+ ) {}
51
+
52
+ export interface DeleteIPListRequest {
53
+ projectId: string;
54
+ region: string;
55
+ name: string;
56
+ }
57
+ export const DeleteIPListRequest = /*@__PURE__*/ S.suspend(() =>
58
+ S.Struct({
59
+ projectId: S.String.pipe(T.Label()),
60
+ region: S.String.pipe(T.Label()),
61
+ name: S.String.pipe(T.Label()),
62
+ }).pipe(
63
+ T.Http({
64
+ method: "DELETE",
65
+ uri: "/v1alpha/projects/{projectId}/regions/{region}/ip-lists/{name}",
66
+ code: 200,
67
+ baseUrl: "https://lb-ip-lists.api.{region}stackit.cloud",
68
+ }),
69
+ ),
70
+ ).annotate({
71
+ identifier: "DeleteIPListRequest",
72
+ }) as any as S.Schema<DeleteIPListRequest>;
73
+
74
+ export type DeleteIPListResponse2 = unknown;
75
+ export const DeleteIPListResponse2 = /*@__PURE__*/ S.suspend(() =>
76
+ S.Unknown.pipe(T.RawResponseRoot()),
77
+ ).annotate({
78
+ identifier: "DeleteIPListResponse2",
79
+ }) as any as S.Schema<DeleteIPListResponse2>;
80
+
81
+ export interface GetIPListRequest {
82
+ projectId: string;
83
+ region: string;
84
+ name: string;
85
+ }
86
+ export const GetIPListRequest = /*@__PURE__*/ S.suspend(() =>
87
+ S.Struct({
88
+ projectId: S.String.pipe(T.Label()),
89
+ region: S.String.pipe(T.Label()),
90
+ name: S.String.pipe(T.Label()),
91
+ }).pipe(
92
+ T.Http({
93
+ method: "GET",
94
+ uri: "/v1alpha/projects/{projectId}/regions/{region}/ip-lists/{name}",
95
+ code: 200,
96
+ baseUrl: "https://lb-ip-lists.api.{region}stackit.cloud",
97
+ }),
98
+ ),
99
+ ).annotate({
100
+ identifier: "GetIPListRequest",
101
+ }) as any as S.Schema<GetIPListRequest>;
102
+
103
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per IP list. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
104
+ export type GetIPListResponseLabelsMap = { [key: string]: string | undefined };
105
+ export const GetIPListResponseLabelsMap = /*@__PURE__*/ S.Record(
106
+ S.String,
107
+ S.String,
108
+ ) as any as S.Schema<GetIPListResponseLabelsMap>;
109
+
110
+ /** List of load balancers that reference this IP list. */
111
+ export type IPListUsageItemsList = Array<string>;
112
+ export const IPListUsageItemsList = /*@__PURE__*/ S.Array(
113
+ S.String,
114
+ ) as any as S.Schema<IPListUsageItemsList>;
115
+
116
+ /** IPListUsage describes which NLB/ALB currently reference an IP list. */
117
+ export interface IPListUsage {
118
+ /** Number of load balancers currently using this IP list. */
119
+ count?: number;
120
+ /** List of load balancers that reference this IP list. */
121
+ items?: IPListUsageItemsList;
122
+ }
123
+ export const IPListUsage = /*@__PURE__*/ S.suspend(() =>
124
+ S.Struct({
125
+ count: S.optional(S.Number),
126
+ items: S.optional(IPListUsageItemsList),
127
+ }),
128
+ ).annotate({ identifier: "IPListUsage" }) as any as S.Schema<IPListUsage>;
129
+
130
+ /** GetIPListResponse returns IP list configuration without CIDR entries. */
131
+ export interface GetIPListResponse {
132
+ /** Unique SHA-256 hex fingerprint used to verify the stored IP list content. */
133
+ contentHash?: string;
134
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per IP list. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
135
+ labels?: GetIPListResponseLabelsMap;
136
+ /** IP list name. */
137
+ name: string;
138
+ /** Number of IPv4 CIDR entries stored in the list. */
139
+ numberOfIps?: number;
140
+ /** Current use of this IP list in load balancers. */
141
+ usage?: IPListUsage;
142
+ }
143
+ export const GetIPListResponse = /*@__PURE__*/ S.suspend(() =>
144
+ S.Struct({
145
+ contentHash: S.optional(S.String),
146
+ labels: S.optional(GetIPListResponseLabelsMap),
147
+ name: S.String,
148
+ numberOfIps: S.optional(S.Number),
149
+ usage: S.optional(IPListUsage),
150
+ }),
151
+ ).annotate({
152
+ identifier: "GetIPListResponse",
153
+ }) as any as S.Schema<GetIPListResponse>;
154
+
155
+ export interface GetQuotaRequest {
156
+ projectId: string;
157
+ region: string;
158
+ }
159
+ export const GetQuotaRequest = /*@__PURE__*/ S.suspend(() =>
160
+ S.Struct({
161
+ projectId: S.String.pipe(T.Label()),
162
+ region: S.String.pipe(T.Label()),
163
+ }).pipe(
164
+ T.Http({
165
+ method: "GET",
166
+ uri: "/v1alpha/projects/{projectId}/regions/{region}/quotas",
167
+ code: 200,
168
+ baseUrl: "https://lb-ip-lists.api.{region}stackit.cloud",
169
+ }),
170
+ ),
171
+ ).annotate({
172
+ identifier: "GetQuotaRequest",
173
+ }) as any as S.Schema<GetQuotaRequest>;
174
+
175
+ /** IPListsQuota holds the limits and current usage for IP list resources. Defaults: limit=3 per project, max_entries_per_list=50000. */
176
+ export interface IPListsQuota {
177
+ /** The maximum number of IP lists allowed in this project. Defaults to 3. Use -1 to indicate unlimited. */
178
+ limit?: number;
179
+ /** The maximum number of IPv4 CIDR entries allowed in a single IP list. Defaults to 50000. */
180
+ maxEntriesPerList?: number;
181
+ /** The number of IP lists that currently exist in this project. */
182
+ usage?: number;
183
+ }
184
+ export const IPListsQuota = /*@__PURE__*/ S.suspend(() =>
185
+ S.Struct({
186
+ limit: S.optional(S.Number),
187
+ maxEntriesPerList: S.optional(S.Number),
188
+ usage: S.optional(S.Number),
189
+ }),
190
+ ).annotate({ identifier: "IPListsQuota" }) as any as S.Schema<IPListsQuota>;
191
+
192
+ /** Quotas holds the specific quota elements for resources managed by this API. */
193
+ export interface Quotas {
194
+ ipLists?: IPListsQuota;
195
+ }
196
+ export const Quotas = /*@__PURE__*/ S.suspend(() =>
197
+ S.Struct({
198
+ ipLists: S.optional(IPListsQuota),
199
+ }),
200
+ ).annotate({ identifier: "Quotas" }) as any as S.Schema<Quotas>;
201
+
202
+ /** GetQuotaResponse returns the configured IP list quota for the project and region. */
203
+ export interface GetQuotaResponse {
204
+ /** Project identifier */
205
+ projectId?: string;
206
+ quotas?: Quotas;
207
+ /** Region */
208
+ region?: string;
209
+ }
210
+ export const GetQuotaResponse = /*@__PURE__*/ S.suspend(() =>
211
+ S.Struct({
212
+ projectId: S.optional(S.String),
213
+ quotas: S.optional(Quotas),
214
+ region: S.optional(S.String),
215
+ }),
216
+ ).annotate({
217
+ identifier: "GetQuotaResponse",
218
+ }) as any as S.Schema<GetQuotaResponse>;
219
+
220
+ export interface ListIPListsRequest {
221
+ projectId: string;
222
+ region: string;
223
+ }
224
+ export const ListIPListsRequest = /*@__PURE__*/ S.suspend(() =>
225
+ S.Struct({
226
+ projectId: S.String.pipe(T.Label()),
227
+ region: S.String.pipe(T.Label()),
228
+ }).pipe(
229
+ T.Http({
230
+ method: "GET",
231
+ uri: "/v1alpha/projects/{projectId}/regions/{region}/ip-lists",
232
+ code: 200,
233
+ baseUrl: "https://lb-ip-lists.api.{region}stackit.cloud",
234
+ }),
235
+ ),
236
+ ).annotate({
237
+ identifier: "ListIPListsRequest",
238
+ }) as any as S.Schema<ListIPListsRequest>;
239
+
240
+ /** Every IP list in the project and region. Never includes the CIDR entries themselves. */
241
+ export type ListIPListsResponseItemsList = Array<GetIPListResponse>;
242
+ export const ListIPListsResponseItemsList = /*@__PURE__*/ S.Array(
243
+ GetIPListResponse,
244
+ ) as any as S.Schema<ListIPListsResponseItemsList>;
245
+
246
+ /** ListIPListsResponse returns metadata for all IP lists in a project and region. The CIDR entries themselves are never returned. */
247
+ export interface ListIPListsResponse {
248
+ /** Every IP list in the project and region. Never includes the CIDR entries themselves. */
249
+ items?: ListIPListsResponseItemsList;
250
+ }
251
+ export const ListIPListsResponse = /*@__PURE__*/ S.suspend(() =>
252
+ S.Struct({
253
+ items: S.optional(ListIPListsResponseItemsList),
254
+ }),
255
+ ).annotate({
256
+ identifier: "ListIPListsResponse",
257
+ }) as any as S.Schema<ListIPListsResponse>;
258
+
259
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per IP list. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
260
+ export type UploadIPListRequestLabelsMap = {
261
+ [key: string]: string | undefined;
262
+ };
263
+ export const UploadIPListRequestLabelsMap = /*@__PURE__*/ S.Record(
264
+ S.String,
265
+ S.String,
266
+ ) as any as S.Schema<UploadIPListRequestLabelsMap>;
267
+
268
+ export interface UploadIPListRequest {
269
+ projectId: string;
270
+ region: string;
271
+ name: string;
272
+ /** Raw upload payload as a plain UTF-8 string. Newline-separated `.txt` list of IPv4 CIDR entries, or CSV with `cidr,labels` columns (any other columns are ignored). */
273
+ fileContent: string;
274
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per IP list. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
275
+ labels?: UploadIPListRequestLabelsMap;
276
+ }
277
+ export const UploadIPListRequest = /*@__PURE__*/ S.suspend(() =>
278
+ S.Struct({
279
+ projectId: S.String.pipe(T.Label()),
280
+ region: S.String.pipe(T.Label()),
281
+ name: S.String.pipe(T.Label()),
282
+ fileContent: S.String,
283
+ labels: S.optional(UploadIPListRequestLabelsMap),
284
+ }).pipe(
285
+ T.Http({
286
+ method: "PUT",
287
+ uri: "/v1alpha/projects/{projectId}/regions/{region}/ip-lists/{name}",
288
+ code: 200,
289
+ baseUrl: "https://lb-ip-lists.api.{region}stackit.cloud",
290
+ }),
291
+ ),
292
+ ).annotate({
293
+ identifier: "UploadIPListRequest",
294
+ }) as any as S.Schema<UploadIPListRequest>;
295
+
296
+ export type DeleteIPListError =
297
+ | BadRequest
298
+ | Forbidden
299
+ | NotFound
300
+ | StackitOpError;
301
+ /** Delete an IP List configuration Removes the IP list configuration from the project. If the IP list is referenced by load balancers, clear or replace the reference first. */
302
+ export const deleteIPList: API.OperationMethod<
303
+ DeleteIPListRequest,
304
+ DeleteIPListResponse2,
305
+ DeleteIPListError,
306
+ StackitOpContext
307
+ > = /*@__PURE__*/ API.make(() => ({
308
+ input: DeleteIPListRequest,
309
+ output: DeleteIPListResponse2,
310
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
311
+ protocol: StackitProtocol,
312
+ retry: Retry.Retry,
313
+ }));
314
+
315
+ export type GetIPListError = BadRequest | Forbidden | NotFound | StackitOpError;
316
+ /** Retrieve metadata of an existing IP list configuration in a project. GetIPList returns metadata of a single IP list by name, without CIDR entries. */
317
+ export const getIPList: API.OperationMethod<
318
+ GetIPListRequest,
319
+ GetIPListResponse,
320
+ GetIPListError,
321
+ StackitOpContext
322
+ > = /*@__PURE__*/ API.make(() => ({
323
+ input: GetIPListRequest,
324
+ output: GetIPListResponse,
325
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
326
+ protocol: StackitProtocol,
327
+ retry: Retry.Retry,
328
+ }));
329
+
330
+ export type GetQuotaError = BadRequest | Forbidden | StackitOpError;
331
+ /** Get the quota for IP lists in a project Retrieves the IP List resource quota for the project. */
332
+ export const getQuota: API.OperationMethod<
333
+ GetQuotaRequest,
334
+ GetQuotaResponse,
335
+ GetQuotaError,
336
+ StackitOpContext
337
+ > = /*@__PURE__*/ API.make(() => ({
338
+ input: GetQuotaRequest,
339
+ output: GetQuotaResponse,
340
+ errors: [BadRequest, Forbidden, UnknownStackitError],
341
+ protocol: StackitProtocol,
342
+ retry: Retry.Retry,
343
+ }));
344
+
345
+ export type ListIPListsError = BadRequest | Forbidden | StackitOpError;
346
+ /** List metadata of all IP lists in a project ListIPLists returns every IP list in the project without CIDR entries. No pagination while the per-project limit is 3. */
347
+ export const listIPLists: API.OperationMethod<
348
+ ListIPListsRequest,
349
+ ListIPListsResponse,
350
+ ListIPListsError,
351
+ StackitOpContext
352
+ > = /*@__PURE__*/ API.make(() => ({
353
+ input: ListIPListsRequest,
354
+ output: ListIPListsResponse,
355
+ errors: [BadRequest, Forbidden, UnknownStackitError],
356
+ protocol: StackitProtocol,
357
+ retry: Retry.Retry,
358
+ }));
359
+
360
+ export type UploadIPListError =
361
+ | BadRequest
362
+ | Forbidden
363
+ | UnprocessableEntity
364
+ | StackitOpError;
365
+ /** Create/Replace an IP list UploadIPList creates the IP list or replaces its content. Raw upload is in `file_content`. */
366
+ export const uploadIPList: API.OperationMethod<
367
+ UploadIPListRequest,
368
+ GetIPListResponse,
369
+ UploadIPListError,
370
+ StackitOpContext
371
+ > = /*@__PURE__*/ API.make(() => ({
372
+ input: UploadIPListRequest,
373
+ output: GetIPListResponse,
374
+ errors: [BadRequest, Forbidden, UnprocessableEntity, UnknownStackitError],
375
+ protocol: StackitProtocol,
376
+ retry: Retry.Retry,
377
+ }));