@distilled.cloud/stackit 0.0.0-stage → 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 +33 -2
  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 +83 -3
  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,1361 @@
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 Redacted from "effect/Redacted";
4
+ import * as API from "@distilled.cloud/core/api";
5
+ import * as C from "@distilled.cloud/core/category";
6
+ import * as T from "../traits.ts";
7
+ import {
8
+ StackitProtocol,
9
+ type StackitOpError,
10
+ type StackitOpContext,
11
+ } from "../protocol.ts";
12
+ import { UnknownStackitError } from "../errors.ts";
13
+ import * as Retry from "../retry.ts";
14
+
15
+ export type { StackitOpError, StackitOpContext };
16
+
17
+ export class BadRequest
18
+ extends /*@__PURE__*/ T.applyErrorMatchers(
19
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
20
+ code: S.Number,
21
+ message: S.String,
22
+ }).pipe(C.withBadRequestError),
23
+ [{ status: 400 }],
24
+ ) {}
25
+
26
+ export class Conflict
27
+ extends /*@__PURE__*/ T.applyErrorMatchers(
28
+ /*@__PURE__*/ S.TaggedError<Conflict>()("Conflict", {
29
+ code: S.Number,
30
+ message: S.String,
31
+ }).pipe(C.withConflictError),
32
+ [{ status: 409 }],
33
+ ) {}
34
+
35
+ export class Forbidden
36
+ extends /*@__PURE__*/ T.applyErrorMatchers(
37
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
38
+ code: S.Number,
39
+ message: S.String,
40
+ }).pipe(C.withAuthError),
41
+ [{ status: 403 }],
42
+ ) {}
43
+
44
+ export class NotFound
45
+ extends /*@__PURE__*/ T.applyErrorMatchers(
46
+ /*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
47
+ code: S.Number,
48
+ message: S.String,
49
+ }).pipe(C.withBadRequestError),
50
+ [{ status: 404 }],
51
+ ) {}
52
+
53
+ export interface BasicAuth {
54
+ /** The password or token */
55
+ password?: string | Redacted.Redacted<string>;
56
+ /** Type of authentication */
57
+ type?: string;
58
+ /** The username */
59
+ username?: string;
60
+ }
61
+ export const BasicAuth = /*@__PURE__*/ S.suspend(() =>
62
+ S.Struct({
63
+ password: S.optional(S.String.pipe(T.SensitiveValue({}))),
64
+ type: S.optional(S.String),
65
+ username: S.optional(S.String),
66
+ }),
67
+ ).annotate({ identifier: "BasicAuth" }) as any as S.Schema<BasicAuth>;
68
+
69
+ /** No authentication required */
70
+ export interface NoAuth {
71
+ /** Type of authentication */
72
+ type?: string;
73
+ }
74
+ export const NoAuth = /*@__PURE__*/ S.suspend(() =>
75
+ S.Struct({
76
+ type: S.optional(S.String),
77
+ }),
78
+ ).annotate({ identifier: "NoAuth" }) as any as S.Schema<NoAuth>;
79
+
80
+ /** Authentication for Git repositories */
81
+ export type GitAuth = BasicAuth | NoAuth;
82
+ export const GitAuth = /*@__PURE__*/ S.Unknown as any as S.Schema<GitAuth>;
83
+
84
+ /** Bundle type identifier. */
85
+ export type GitDagBundleType = "git";
86
+ export const GitDagBundleType = /*@__PURE__*/ S.String;
87
+
88
+ /** A Git-based DAG bundle. Maps to airflow.providers.git.bundles.git.GitDagBundle. */
89
+ export interface GitDagBundle {
90
+ auth: GitAuth;
91
+ /** The branch, tag or ref to track. */
92
+ branch: string;
93
+ /** Unique name for this bundle within the instance. Must be a valid DNS label (lowercase alphanumeric and hyphens, starting with a letter, max 63 characters). */
94
+ name: string;
95
+ /** How often (in seconds) to check for new commits. Defaults to 60. */
96
+ refreshInterval?: number;
97
+ /** Subdirectory within the repository containing DAG files. Defaults to root. Leading and trailing slashes are stripped automatically — the following four forms are all equivalent and stored as `dags/production`: `/dags/production/`, `dags/production/`, `/dags/production`, `dags/production`. */
98
+ subdir?: string;
99
+ /** Bundle type identifier. */
100
+ type: GitDagBundleType;
101
+ /** The URL of the Git repository. */
102
+ url: string;
103
+ }
104
+ export const GitDagBundle = /*@__PURE__*/ S.suspend(() =>
105
+ S.Struct({
106
+ auth: GitAuth,
107
+ branch: S.String,
108
+ name: S.String,
109
+ refreshInterval: S.optional(S.Number),
110
+ subdir: S.optional(S.String),
111
+ type: GitDagBundleType,
112
+ url: S.String,
113
+ }),
114
+ ).annotate({ identifier: "GitDagBundle" }) as any as S.Schema<GitDagBundle>;
115
+
116
+ /** Type of authentication */
117
+ export type S3AccessKeyAuthType = "accessKey";
118
+ export const S3AccessKeyAuthType = /*@__PURE__*/ S.String;
119
+
120
+ /** S3 access key credentials (access key ID + secret access key). */
121
+ export interface S3AccessKeyAuth {
122
+ /** The S3 access key ID. */
123
+ accessKeyId: string | Redacted.Redacted<string>;
124
+ /** The S3 secret access key. This value is write-only and will not be returned in API responses. */
125
+ secretAccessKey: string | Redacted.Redacted<string>;
126
+ /** Type of authentication */
127
+ type: S3AccessKeyAuthType;
128
+ }
129
+ export const S3AccessKeyAuth = /*@__PURE__*/ S.suspend(() =>
130
+ S.Struct({
131
+ accessKeyId: S.String.pipe(T.SensitiveValue({})),
132
+ secretAccessKey: S.String.pipe(T.SensitiveValue({})),
133
+ type: S3AccessKeyAuthType,
134
+ }),
135
+ ).annotate({
136
+ identifier: "S3AccessKeyAuth",
137
+ }) as any as S.Schema<S3AccessKeyAuth>;
138
+
139
+ /** Authentication for S3-compatible object storage */
140
+ export type S3Auth = S3AccessKeyAuth | NoAuth;
141
+ export const S3Auth = /*@__PURE__*/ S.Unknown as any as S.Schema<S3Auth>;
142
+
143
+ /** Bundle type identifier. */
144
+ export type S3DagBundleType = "s3";
145
+ export const S3DagBundleType = /*@__PURE__*/ S.String;
146
+
147
+ /** An S3-based DAG bundle. Maps to airflow.providers.amazon.aws.bundles.s3.S3DagBundle. Compatible with any S3-compatible object storage (e.g. STACKIT Object Storage). */
148
+ export interface S3DagBundle {
149
+ /** The S3 bucket name containing DAG files. */
150
+ bucketName: string;
151
+ /** S3-compatible endpoint URL. Defaults to https://object.storage.eu01.onstackit.cloud */
152
+ endpoint?: string;
153
+ /** Unique name for this bundle within the instance. Must be a valid DNS label (lowercase alphanumeric and hyphens, starting with a letter, max 63 characters). */
154
+ name: string;
155
+ /** Key prefix (folder path) within the bucket. Defaults to root. */
156
+ prefix?: string;
157
+ /** How often (in seconds) to check for new objects. Defaults to 60. */
158
+ refreshInterval?: number;
159
+ s3Auth: S3Auth;
160
+ /** Bundle type identifier. */
161
+ type: S3DagBundleType;
162
+ }
163
+ export const S3DagBundle = /*@__PURE__*/ S.suspend(() =>
164
+ S.Struct({
165
+ bucketName: S.String,
166
+ endpoint: S.optional(S.String),
167
+ name: S.String,
168
+ prefix: S.optional(S.String),
169
+ refreshInterval: S.optional(S.Number),
170
+ s3Auth: S3Auth,
171
+ type: S3DagBundleType,
172
+ }),
173
+ ).annotate({ identifier: "S3DagBundle" }) as any as S.Schema<S3DagBundle>;
174
+
175
+ /** A DAG bundle configuration. Discriminated by the "type" field. Supported types are "git" and "s3". */
176
+ export type CreateDagBundlePayload = GitDagBundle | S3DagBundle;
177
+ export const CreateDagBundlePayload =
178
+ /*@__PURE__*/ S.Unknown as any as S.Schema<CreateDagBundlePayload>;
179
+
180
+ export interface CreateDagBundleRequest {
181
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
182
+ projectId: string;
183
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
184
+ regionId: string;
185
+ /** The STACKIT Workflows instance UUID. */
186
+ instanceId: string;
187
+ body: CreateDagBundlePayload;
188
+ }
189
+ export const CreateDagBundleRequest = /*@__PURE__*/ S.suspend(() =>
190
+ S.Struct({
191
+ projectId: S.String.pipe(T.Label()),
192
+ regionId: S.String.pipe(T.Label()),
193
+ instanceId: S.String.pipe(T.Label()),
194
+ body: CreateDagBundlePayload.pipe(T.HttpBody()),
195
+ }).pipe(
196
+ T.Http({
197
+ method: "POST",
198
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dag-bundles",
199
+ code: 200,
200
+ baseUrl: "https://workflows.api.stackit.cloud",
201
+ }),
202
+ ),
203
+ ).annotate({
204
+ identifier: "CreateDagBundleRequest",
205
+ }) as any as S.Schema<CreateDagBundleRequest>;
206
+
207
+ /** Basic authentication as returned in API responses. The password field is always masked ("**********") and never contains the real value. */
208
+ export interface BasicAuthResponseOutput {
209
+ /** Type of authentication */
210
+ type?: string;
211
+ /** The username */
212
+ username?: string;
213
+ }
214
+ export const BasicAuthResponseOutput = /*@__PURE__*/ S.suspend(() =>
215
+ S.Struct({
216
+ type: S.optional(S.String),
217
+ username: S.optional(S.String),
218
+ }),
219
+ ).annotate({
220
+ identifier: "BasicAuthResponseOutput",
221
+ }) as any as S.Schema<BasicAuthResponseOutput>;
222
+
223
+ /** Authentication configuration as returned in API responses. Credentials (passwords) are always masked and never returned in plain text. */
224
+ export type GitAuthResponseOutput = BasicAuthResponseOutput | NoAuth;
225
+ export const GitAuthResponseOutput =
226
+ /*@__PURE__*/ S.Unknown as any as S.Schema<GitAuthResponseOutput>;
227
+
228
+ /** Bundle type identifier. */
229
+ export type GitDagBundleResponseOutputType = "git";
230
+ export const GitDagBundleResponseOutputType = /*@__PURE__*/ S.String;
231
+
232
+ /** A Git-based DAG bundle as returned by the API. The auth structure (type, username) is included; passwords are masked. */
233
+ export interface GitDagBundleResponseOutput {
234
+ auth: GitAuthResponseOutput;
235
+ /** The branch, tag or ref being tracked. */
236
+ branch: string;
237
+ /** Unique name for this bundle within the instance. */
238
+ name: string;
239
+ /** How often (in seconds) to check for new commits. */
240
+ refreshInterval?: number;
241
+ /** Subdirectory within the repository containing DAG files. Leading and trailing slashes are stripped automatically. Absent when set to root. */
242
+ subdir?: string;
243
+ /** Bundle type identifier. */
244
+ type: GitDagBundleResponseOutputType;
245
+ /** The URL of the Git repository. */
246
+ url: string;
247
+ }
248
+ export const GitDagBundleResponseOutput = /*@__PURE__*/ S.suspend(() =>
249
+ S.Struct({
250
+ auth: GitAuthResponseOutput,
251
+ branch: S.String,
252
+ name: S.String,
253
+ refreshInterval: S.optional(S.Number),
254
+ subdir: S.optional(S.String),
255
+ type: GitDagBundleResponseOutputType,
256
+ url: S.String,
257
+ }),
258
+ ).annotate({
259
+ identifier: "GitDagBundleResponseOutput",
260
+ }) as any as S.Schema<GitDagBundleResponseOutput>;
261
+
262
+ /** Type of authentication */
263
+ export type S3AccessKeyAuthResponseType = "accessKey";
264
+ export const S3AccessKeyAuthResponseType = /*@__PURE__*/ S.String;
265
+
266
+ /** S3 access key credentials as returned in API responses. The secret access key is always masked ("**********") and never contains the real value. */
267
+ export interface S3AccessKeyAuthResponse {
268
+ /** The S3 access key ID. */
269
+ accessKeyId: string | Redacted.Redacted<string>;
270
+ /** Always returned as "**********". The actual secret access key is never exposed in API responses. */
271
+ secretAccessKey?: string | Redacted.Redacted<string>;
272
+ /** Type of authentication */
273
+ type: S3AccessKeyAuthResponseType;
274
+ }
275
+ export const S3AccessKeyAuthResponse = /*@__PURE__*/ S.suspend(() =>
276
+ S.Struct({
277
+ accessKeyId: S.String.pipe(T.SensitiveValue({})),
278
+ secretAccessKey: S.optional(S.String.pipe(T.SensitiveValue({}))),
279
+ type: S3AccessKeyAuthResponseType,
280
+ }),
281
+ ).annotate({
282
+ identifier: "S3AccessKeyAuthResponse",
283
+ }) as any as S.Schema<S3AccessKeyAuthResponse>;
284
+
285
+ /** S3 authentication configuration as returned in API responses. Secret keys are always masked and never returned in plain text. */
286
+ export type S3AuthResponse = S3AccessKeyAuthResponse | NoAuth;
287
+ export const S3AuthResponse =
288
+ /*@__PURE__*/ S.Unknown as any as S.Schema<S3AuthResponse>;
289
+
290
+ /** Bundle type identifier. */
291
+ export type S3DagBundleResponseType = "s3";
292
+ export const S3DagBundleResponseType = /*@__PURE__*/ S.String;
293
+
294
+ /** An S3-based DAG bundle as returned by the API. The s3Auth structure (type, accessKeyId) is included; secret keys are masked. */
295
+ export interface S3DagBundleResponse {
296
+ /** The S3 bucket name containing DAG files. */
297
+ bucketName: string;
298
+ /** S3-compatible endpoint URL. */
299
+ endpoint?: string;
300
+ /** Unique name for this bundle within the instance. */
301
+ name: string;
302
+ /** Key prefix (folder path) within the bucket. */
303
+ prefix?: string;
304
+ /** How often (in seconds) to check for new objects. */
305
+ refreshInterval?: number;
306
+ s3Auth: S3AuthResponse;
307
+ /** Bundle type identifier. */
308
+ type: S3DagBundleResponseType;
309
+ }
310
+ export const S3DagBundleResponse = /*@__PURE__*/ S.suspend(() =>
311
+ S.Struct({
312
+ bucketName: S.String,
313
+ endpoint: S.optional(S.String),
314
+ name: S.String,
315
+ prefix: S.optional(S.String),
316
+ refreshInterval: S.optional(S.Number),
317
+ s3Auth: S3AuthResponse,
318
+ type: S3DagBundleResponseType,
319
+ }),
320
+ ).annotate({
321
+ identifier: "S3DagBundleResponse",
322
+ }) as any as S.Schema<S3DagBundleResponse>;
323
+
324
+ /** A DAG bundle as returned by the API. Auth structure (type, username) is included but credentials (passwords, secret keys) are masked. Discriminated by the "type" field. */
325
+ export type DagBundleResponseOutput =
326
+ | GitDagBundleResponseOutput
327
+ | S3DagBundleResponse;
328
+ export const DagBundleResponseOutput =
329
+ /*@__PURE__*/ S.Unknown as any as S.Schema<DagBundleResponseOutput>;
330
+
331
+ export type CreateDagBundleResponse = DagBundleResponseOutput;
332
+ export const CreateDagBundleResponse = /*@__PURE__*/ S.suspend(() =>
333
+ DagBundleResponseOutput.pipe(T.RawResponseRoot()),
334
+ ).annotate({
335
+ identifier: "CreateDagBundleResponse",
336
+ }) as any as S.Schema<CreateDagBundleResponse>;
337
+
338
+ /** A DAG bundle configuration. Discriminated by the "type" field. Supported types are "git" and "s3". */
339
+ export type DagBundle = GitDagBundle | S3DagBundle;
340
+ export const DagBundle = /*@__PURE__*/ S.Unknown as any as S.Schema<DagBundle>;
341
+
342
+ /** List of DAG bundles to configure. Supports Git and S3 sources. If provided, this takes precedence over dagsRepository. At least one bundle must be specified. Maximum 10 bundles. Only supported for Airflow 3 versions. */
343
+ export type CreateInstanceRequestDagBundlesList = Array<DagBundle>;
344
+ export const CreateInstanceRequestDagBundlesList = /*@__PURE__*/ S.Array(
345
+ DagBundle,
346
+ ) as any as S.Schema<CreateInstanceRequestDagBundlesList>;
347
+
348
+ export interface GitRepository {
349
+ auth: GitAuth;
350
+ /** The branch in the repository to use */
351
+ branch: string;
352
+ /** The URL of the Git repository. */
353
+ url: string;
354
+ }
355
+ export const GitRepository = /*@__PURE__*/ S.suspend(() =>
356
+ S.Struct({
357
+ auth: GitAuth,
358
+ branch: S.String,
359
+ url: S.String,
360
+ }),
361
+ ).annotate({ identifier: "GitRepository" }) as any as S.Schema<GitRepository>;
362
+
363
+ export type StackITIdentityProviderType = "stackit";
364
+ export const StackITIdentityProviderType = /*@__PURE__*/ S.String;
365
+
366
+ /** The default STACKIT identity provider. */
367
+ export interface StackITIdentityProvider {
368
+ type: StackITIdentityProviderType;
369
+ }
370
+ export const StackITIdentityProvider = /*@__PURE__*/ S.suspend(() =>
371
+ S.Struct({
372
+ type: StackITIdentityProviderType,
373
+ }),
374
+ ).annotate({
375
+ identifier: "StackITIdentityProvider",
376
+ }) as any as S.Schema<StackITIdentityProvider>;
377
+
378
+ /** Expected audience(s) for API token validation when using the session endpoint for token exchange. */
379
+ export type OAuth2IdentityProviderApiAudienceList = Array<string>;
380
+ export const OAuth2IdentityProviderApiAudienceList = /*@__PURE__*/ S.Array(
381
+ S.String,
382
+ ) as any as S.Schema<OAuth2IdentityProviderApiAudienceList>;
383
+
384
+ export type OAuth2IdentityProviderType = "oauth2";
385
+ export const OAuth2IdentityProviderType = /*@__PURE__*/ S.String;
386
+
387
+ /** Configuration for the custom OAuth2 identity provider used. */
388
+ export interface OAuth2IdentityProvider {
389
+ /** Expected audience(s) for API token validation when using the session endpoint for token exchange. */
390
+ apiAudience?: OAuth2IdentityProviderApiAudienceList;
391
+ /** The client id of the STACKIT Workflows application in the identity provider. */
392
+ clientId: string;
393
+ /** The client secret of the STACKIT Workflows application in the identity provider. */
394
+ clientSecret: string | Redacted.Redacted<string>;
395
+ /** Discovery endpoint of the OAuth2 identity provider. This endpoint is used to fetch the OpenID configuration. Typically, this endpoint ends with `/.well-known/openid-configuration`. */
396
+ discoveryEndpoint: string;
397
+ /** The name of the OAuth2 identity provider that will show in STACKIT Workflows instance. The following special values modify the way a token is parsed. If any of the following IdPs is used, please specify the corresponding value: `azure`, `okta`, `aws_cognito`, `keycloak` */
398
+ name: string;
399
+ /** RFC 8707 Resource Indicators for OAuth 2.0. Optional resource parameter to indicate which resource the token is intended for. */
400
+ resource?: string;
401
+ /** Dot-separated path to extract roles from JWT claims (e.g., "realm_access.roles" or "resource_access.my_client.roles"). If not specified, provider-specific defaults are used. */
402
+ rolesClaim?: string;
403
+ /** Scopes to request for Authorization Code Flows. (UI login) */
404
+ scope: string;
405
+ type: OAuth2IdentityProviderType;
406
+ }
407
+ export const OAuth2IdentityProvider = /*@__PURE__*/ S.suspend(() =>
408
+ S.Struct({
409
+ apiAudience: S.optional(OAuth2IdentityProviderApiAudienceList),
410
+ clientId: S.String,
411
+ clientSecret: S.String.pipe(T.SensitiveValue({})),
412
+ discoveryEndpoint: S.String,
413
+ name: S.String,
414
+ resource: S.optional(S.String),
415
+ rolesClaim: S.optional(S.String),
416
+ scope: S.String,
417
+ type: OAuth2IdentityProviderType,
418
+ }),
419
+ ).annotate({
420
+ identifier: "OAuth2IdentityProvider",
421
+ }) as any as S.Schema<OAuth2IdentityProvider>;
422
+
423
+ /** Configuration for the identity provider used. */
424
+ export type IdentityProvider = StackITIdentityProvider | OAuth2IdentityProvider;
425
+ export const IdentityProvider =
426
+ /*@__PURE__*/ S.Unknown as any as S.Schema<IdentityProvider>;
427
+
428
+ export interface Network {
429
+ id?: string;
430
+ }
431
+ export const Network = /*@__PURE__*/ S.suspend(() =>
432
+ S.Struct({
433
+ id: S.optional(S.String),
434
+ }),
435
+ ).annotate({ identifier: "Network" }) as any as S.Schema<Network>;
436
+
437
+ export interface CreateInstanceRequest {
438
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
439
+ projectId: string;
440
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
441
+ regionId: string;
442
+ /** List of DAG bundles to configure. Supports Git and S3 sources. If provided, this takes precedence over dagsRepository. At least one bundle must be specified. Maximum 10 bundles. Only supported for Airflow 3 versions. */
443
+ dagBundles?: CreateInstanceRequestDagBundlesList;
444
+ dagsRepository?: GitRepository;
445
+ /** A user chosen description to distinguish multiple STACKIT Workflows instances. */
446
+ description?: string;
447
+ /** The displayed name to distinguish multiple STACKIT Workflows instances. */
448
+ displayName: string;
449
+ /** Whether to enable the Airflow built-in example DAGs in this instance. Maps to airflow.config.core.load_examples in the Helm chart. Only supported for Airflow 3 instances. Defaults to false. */
450
+ enableAirflowExampleDags?: boolean;
451
+ /** Whether to include the STACKIT sample DAGs in this instance. Only supported for Airflow 3 instances. Defaults to false. */
452
+ enableStackitExampleDags?: boolean;
453
+ identityProvider?: IdentityProvider;
454
+ network?: Network;
455
+ /** Unique identifier of the customer's observability instance. */
456
+ observabilityId?: string;
457
+ /** The version of the STACKIT Workflows to use. For valid versions please take a look at [provider-options](#tag/provider-options/operation/get-provider-options) */
458
+ version: string;
459
+ }
460
+ export const CreateInstanceRequest = /*@__PURE__*/ S.suspend(() =>
461
+ S.Struct({
462
+ projectId: S.String.pipe(T.Label()),
463
+ regionId: S.String.pipe(T.Label()),
464
+ dagBundles: S.optional(CreateInstanceRequestDagBundlesList),
465
+ dagsRepository: S.optional(GitRepository),
466
+ description: S.optional(S.String),
467
+ displayName: S.String,
468
+ enableAirflowExampleDags: S.optional(S.Boolean),
469
+ enableStackitExampleDags: S.optional(S.Boolean),
470
+ identityProvider: S.optional(IdentityProvider),
471
+ network: S.optional(Network),
472
+ observabilityId: S.optional(S.String),
473
+ version: S.String,
474
+ }).pipe(
475
+ T.Http({
476
+ method: "POST",
477
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances",
478
+ code: 200,
479
+ baseUrl: "https://workflows.api.stackit.cloud",
480
+ }),
481
+ ),
482
+ ).annotate({
483
+ identifier: "CreateInstanceRequest",
484
+ }) as any as S.Schema<CreateInstanceRequest>;
485
+
486
+ /** All configured DAG bundles. This is the canonical source of truth for DAG sources. Available for Airflow 3 instances. */
487
+ export type InstanceDagBundlesList = Array<DagBundle>;
488
+ export const InstanceDagBundlesList = /*@__PURE__*/ S.Array(
489
+ DagBundle,
490
+ ) as any as S.Schema<InstanceDagBundlesList>;
491
+
492
+ /** A collection of endpoints offered by the Workflows instance. */
493
+ export interface Endpoints {
494
+ /** The authentication callback URL. */
495
+ redirectUrl: string;
496
+ /** The URL for the UI of the Workflows instance. */
497
+ url: string;
498
+ }
499
+ export const Endpoints = /*@__PURE__*/ S.suspend(() =>
500
+ S.Struct({
501
+ redirectUrl: S.String,
502
+ url: S.String,
503
+ }),
504
+ ).annotate({ identifier: "Endpoints" }) as any as S.Schema<Endpoints>;
505
+
506
+ /** The current status of the STACKIT Workflows instance. */
507
+ export type InstanceStatus =
508
+ | "creating"
509
+ | "active"
510
+ | "updating"
511
+ | "deleting"
512
+ | "failed";
513
+ export const InstanceStatus = /*@__PURE__*/ S.String;
514
+
515
+ export interface Instance {
516
+ /** The date and time the creation of the STACKIT Workflows instance was triggered. */
517
+ createdAt: string;
518
+ /** All configured DAG bundles. This is the canonical source of truth for DAG sources. Available for Airflow 3 instances. */
519
+ dagBundles?: InstanceDagBundlesList;
520
+ dagsRepository?: GitRepository;
521
+ /** A user chosen description to distinguish multiple STACKIT Workflows instances. */
522
+ description?: string;
523
+ /** The displayed name of the STACKIT Workflows instance. */
524
+ displayName: string;
525
+ /** Whether the Airflow built-in example DAGs are enabled in this instance. Only supported for Airflow 3 instances. */
526
+ enableAirflowExampleDags?: boolean;
527
+ /** Whether the STACKIT sample DAGs are included in this instance. Only supported for Airflow 3 instances. */
528
+ enableStackitExampleDags?: boolean;
529
+ endpoints: Endpoints;
530
+ /** A auto generated unique id which identifies the STACKIT Workflows instance. */
531
+ id: string;
532
+ identityProvider: IdentityProvider;
533
+ network?: Network;
534
+ /** Unique identifier of the customer's observability instance. */
535
+ observabilityId?: string;
536
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
537
+ projectId: string;
538
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
539
+ regionId: string;
540
+ /** The current status of the STACKIT Workflows instance. */
541
+ status: InstanceStatus;
542
+ /** A message related to the current status. */
543
+ statusMessage?: string;
544
+ /** The currently configured STACKIT Workflows instance version. */
545
+ version: string;
546
+ }
547
+ export const Instance = /*@__PURE__*/ S.suspend(() =>
548
+ S.Struct({
549
+ createdAt: S.String,
550
+ dagBundles: S.optional(InstanceDagBundlesList),
551
+ dagsRepository: S.optional(GitRepository),
552
+ description: S.optional(S.String),
553
+ displayName: S.String,
554
+ enableAirflowExampleDags: S.optional(S.Boolean),
555
+ enableStackitExampleDags: S.optional(S.Boolean),
556
+ endpoints: Endpoints,
557
+ id: S.String,
558
+ identityProvider: IdentityProvider,
559
+ network: S.optional(Network),
560
+ observabilityId: S.optional(S.String),
561
+ projectId: S.String,
562
+ regionId: S.String,
563
+ status: InstanceStatus,
564
+ statusMessage: S.optional(S.String),
565
+ version: S.String,
566
+ }),
567
+ ).annotate({ identifier: "Instance" }) as any as S.Schema<Instance>;
568
+
569
+ export interface DeleteDagBundleRequest {
570
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
571
+ projectId: string;
572
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
573
+ regionId: string;
574
+ /** The STACKIT Workflows instance UUID. */
575
+ instanceId: string;
576
+ /** The unique name of the DAG bundle. Must be a valid DNS label (lowercase alphanumeric and hyphens, max 63 characters). */
577
+ bundleName: string;
578
+ }
579
+ export const DeleteDagBundleRequest = /*@__PURE__*/ S.suspend(() =>
580
+ S.Struct({
581
+ projectId: S.String.pipe(T.Label()),
582
+ regionId: S.String.pipe(T.Label()),
583
+ instanceId: S.String.pipe(T.Label()),
584
+ bundleName: S.String.pipe(T.Label()),
585
+ }).pipe(
586
+ T.Http({
587
+ method: "DELETE",
588
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dag-bundles/{bundleName}",
589
+ code: 200,
590
+ baseUrl: "https://workflows.api.stackit.cloud",
591
+ }),
592
+ ),
593
+ ).annotate({
594
+ identifier: "DeleteDagBundleRequest",
595
+ }) as any as S.Schema<DeleteDagBundleRequest>;
596
+
597
+ export interface DeleteDagBundleResponse {}
598
+ export const DeleteDagBundleResponse = /*@__PURE__*/ S.suspend(() =>
599
+ S.Struct({}),
600
+ ).annotate({
601
+ identifier: "DeleteDagBundleResponse",
602
+ }) as any as S.Schema<DeleteDagBundleResponse>;
603
+
604
+ export interface DeleteInstanceRequest {
605
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
606
+ projectId: string;
607
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
608
+ regionId: string;
609
+ /** The STACKIT Workflows instance UUID. */
610
+ instanceId: string;
611
+ }
612
+ export const DeleteInstanceRequest = /*@__PURE__*/ S.suspend(() =>
613
+ S.Struct({
614
+ projectId: S.String.pipe(T.Label()),
615
+ regionId: S.String.pipe(T.Label()),
616
+ instanceId: S.String.pipe(T.Label()),
617
+ }).pipe(
618
+ T.Http({
619
+ method: "DELETE",
620
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}",
621
+ code: 200,
622
+ baseUrl: "https://workflows.api.stackit.cloud",
623
+ }),
624
+ ),
625
+ ).annotate({
626
+ identifier: "DeleteInstanceRequest",
627
+ }) as any as S.Schema<DeleteInstanceRequest>;
628
+
629
+ export interface DeleteInstanceResponse {}
630
+ export const DeleteInstanceResponse = /*@__PURE__*/ S.suspend(() =>
631
+ S.Struct({}),
632
+ ).annotate({
633
+ identifier: "DeleteInstanceResponse",
634
+ }) as any as S.Schema<DeleteInstanceResponse>;
635
+
636
+ export interface GetDagBundleRequest {
637
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
638
+ projectId: string;
639
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
640
+ regionId: string;
641
+ /** The STACKIT Workflows instance UUID. */
642
+ instanceId: string;
643
+ /** The unique name of the DAG bundle. Must be a valid DNS label (lowercase alphanumeric and hyphens, max 63 characters). */
644
+ bundleName: string;
645
+ }
646
+ export const GetDagBundleRequest = /*@__PURE__*/ S.suspend(() =>
647
+ S.Struct({
648
+ projectId: S.String.pipe(T.Label()),
649
+ regionId: S.String.pipe(T.Label()),
650
+ instanceId: S.String.pipe(T.Label()),
651
+ bundleName: S.String.pipe(T.Label()),
652
+ }).pipe(
653
+ T.Http({
654
+ method: "GET",
655
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dag-bundles/{bundleName}",
656
+ code: 200,
657
+ baseUrl: "https://workflows.api.stackit.cloud",
658
+ }),
659
+ ),
660
+ ).annotate({
661
+ identifier: "GetDagBundleRequest",
662
+ }) as any as S.Schema<GetDagBundleRequest>;
663
+
664
+ export type GetDagBundleResponse = DagBundleResponseOutput;
665
+ export const GetDagBundleResponse = /*@__PURE__*/ S.suspend(() =>
666
+ DagBundleResponseOutput.pipe(T.RawResponseRoot()),
667
+ ).annotate({
668
+ identifier: "GetDagBundleResponse",
669
+ }) as any as S.Schema<GetDagBundleResponse>;
670
+
671
+ export interface GetInstanceRequest {
672
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
673
+ projectId: string;
674
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
675
+ regionId: string;
676
+ /** The STACKIT Workflows instance UUID. */
677
+ instanceId: string;
678
+ }
679
+ export const GetInstanceRequest = /*@__PURE__*/ S.suspend(() =>
680
+ S.Struct({
681
+ projectId: S.String.pipe(T.Label()),
682
+ regionId: S.String.pipe(T.Label()),
683
+ instanceId: S.String.pipe(T.Label()),
684
+ }).pipe(
685
+ T.Http({
686
+ method: "GET",
687
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}",
688
+ code: 200,
689
+ baseUrl: "https://workflows.api.stackit.cloud",
690
+ }),
691
+ ),
692
+ ).annotate({
693
+ identifier: "GetInstanceRequest",
694
+ }) as any as S.Schema<GetInstanceRequest>;
695
+
696
+ export interface GetProviderOptionsRequest {
697
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
698
+ regionId: string;
699
+ }
700
+ export const GetProviderOptionsRequest = /*@__PURE__*/ S.suspend(() =>
701
+ S.Struct({
702
+ regionId: S.String.pipe(T.Label()),
703
+ }).pipe(
704
+ T.Http({
705
+ method: "GET",
706
+ uri: "/v1alpha/regions/{regionId}/provider-options",
707
+ code: 200,
708
+ baseUrl: "https://workflows.api.stackit.cloud",
709
+ }),
710
+ ),
711
+ ).annotate({
712
+ identifier: "GetProviderOptionsRequest",
713
+ }) as any as S.Schema<GetProviderOptionsRequest>;
714
+
715
+ export interface SupportedVersion {
716
+ expirationDate?: string;
717
+ state: string;
718
+ version: string;
719
+ }
720
+ export const SupportedVersion = /*@__PURE__*/ S.suspend(() =>
721
+ S.Struct({
722
+ expirationDate: S.optional(S.String),
723
+ state: S.String,
724
+ version: S.String,
725
+ }),
726
+ ).annotate({
727
+ identifier: "SupportedVersion",
728
+ }) as any as S.Schema<SupportedVersion>;
729
+
730
+ export type ProviderOptionsVersionsList = Array<SupportedVersion>;
731
+ export const ProviderOptionsVersionsList = /*@__PURE__*/ S.Array(
732
+ SupportedVersion,
733
+ ) as any as S.Schema<ProviderOptionsVersionsList>;
734
+
735
+ export interface ProviderOptions {
736
+ versions: ProviderOptionsVersionsList;
737
+ }
738
+ export const ProviderOptions = /*@__PURE__*/ S.suspend(() =>
739
+ S.Struct({
740
+ versions: ProviderOptionsVersionsList,
741
+ }),
742
+ ).annotate({
743
+ identifier: "ProviderOptions",
744
+ }) as any as S.Schema<ProviderOptions>;
745
+
746
+ export interface ListDagBundlesRequest {
747
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
748
+ projectId: string;
749
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
750
+ regionId: string;
751
+ /** The STACKIT Workflows instance UUID. */
752
+ instanceId: string;
753
+ }
754
+ export const ListDagBundlesRequest = /*@__PURE__*/ S.suspend(() =>
755
+ S.Struct({
756
+ projectId: S.String.pipe(T.Label()),
757
+ regionId: S.String.pipe(T.Label()),
758
+ instanceId: S.String.pipe(T.Label()),
759
+ }).pipe(
760
+ T.Http({
761
+ method: "GET",
762
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dag-bundles",
763
+ code: 200,
764
+ baseUrl: "https://workflows.api.stackit.cloud",
765
+ }),
766
+ ),
767
+ ).annotate({
768
+ identifier: "ListDagBundlesRequest",
769
+ }) as any as S.Schema<ListDagBundlesRequest>;
770
+
771
+ /** List of all configured DAG bundles. Authentication type and username are returned for informational purposes; passwords and secrets are always masked. */
772
+ export type ListDagBundlesResponseOutputDagBundlesList =
773
+ Array<DagBundleResponseOutput>;
774
+ export const ListDagBundlesResponseOutputDagBundlesList = /*@__PURE__*/ S.Array(
775
+ DagBundleResponseOutput,
776
+ ) as any as S.Schema<ListDagBundlesResponseOutputDagBundlesList>;
777
+
778
+ export interface ListDagBundlesResponseOutput {
779
+ /** List of all configured DAG bundles. Authentication type and username are returned for informational purposes; passwords and secrets are always masked. */
780
+ dagBundles: ListDagBundlesResponseOutputDagBundlesList;
781
+ }
782
+ export const ListDagBundlesResponseOutput = /*@__PURE__*/ S.suspend(() =>
783
+ S.Struct({
784
+ dagBundles: ListDagBundlesResponseOutputDagBundlesList,
785
+ }),
786
+ ).annotate({
787
+ identifier: "ListDagBundlesResponseOutput",
788
+ }) as any as S.Schema<ListDagBundlesResponseOutput>;
789
+
790
+ export interface ListInstancesRequest {
791
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
792
+ projectId: string;
793
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
794
+ regionId: string;
795
+ }
796
+ export const ListInstancesRequest = /*@__PURE__*/ S.suspend(() =>
797
+ S.Struct({
798
+ projectId: S.String.pipe(T.Label()),
799
+ regionId: S.String.pipe(T.Label()),
800
+ }).pipe(
801
+ T.Http({
802
+ method: "GET",
803
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances",
804
+ code: 200,
805
+ baseUrl: "https://workflows.api.stackit.cloud",
806
+ }),
807
+ ),
808
+ ).annotate({
809
+ identifier: "ListInstancesRequest",
810
+ }) as any as S.Schema<ListInstancesRequest>;
811
+
812
+ export type ListInstancesResponseInstancesList = Array<Instance>;
813
+ export const ListInstancesResponseInstancesList = /*@__PURE__*/ S.Array(
814
+ Instance,
815
+ ) as any as S.Schema<ListInstancesResponseInstancesList>;
816
+
817
+ export interface ListInstancesResponse {
818
+ instances: ListInstancesResponseInstancesList;
819
+ }
820
+ export const ListInstancesResponse = /*@__PURE__*/ S.suspend(() =>
821
+ S.Struct({
822
+ instances: ListInstancesResponseInstancesList,
823
+ }),
824
+ ).annotate({
825
+ identifier: "ListInstancesResponse",
826
+ }) as any as S.Schema<ListInstancesResponse>;
827
+
828
+ /** Bundle type identifier — must match the existing bundle's type. */
829
+ export type UpdateGitDagBundlePayloadType = "git";
830
+ export const UpdateGitDagBundlePayloadType = /*@__PURE__*/ S.String;
831
+
832
+ /** Partial update payload for a Git DAG bundle. All fields except "type" are optional; only the provided fields will be updated. */
833
+ export interface UpdateGitDagBundlePayload {
834
+ auth?: GitAuth;
835
+ /** Updated branch/tag/ref to track. */
836
+ branch?: string;
837
+ /** Updated refresh interval in seconds. */
838
+ refreshInterval?: number;
839
+ /** Updated subdirectory within the repository. Set to empty string or "/" to clear an existing subdir. */
840
+ subdir?: string;
841
+ /** Bundle type identifier — must match the existing bundle's type. */
842
+ type: UpdateGitDagBundlePayloadType;
843
+ /** Updated Git repository URL. If changed, auth must also be provided. */
844
+ url?: string;
845
+ }
846
+ export const UpdateGitDagBundlePayload = /*@__PURE__*/ S.suspend(() =>
847
+ S.Struct({
848
+ auth: S.optional(GitAuth),
849
+ branch: S.optional(S.String),
850
+ refreshInterval: S.optional(S.Number),
851
+ subdir: S.optional(S.String),
852
+ type: UpdateGitDagBundlePayloadType,
853
+ url: S.optional(S.String),
854
+ }),
855
+ ).annotate({
856
+ identifier: "UpdateGitDagBundlePayload",
857
+ }) as any as S.Schema<UpdateGitDagBundlePayload>;
858
+
859
+ /** Bundle type identifier — must match the existing bundle's type. */
860
+ export type UpdateS3DagBundlePayloadType = "s3";
861
+ export const UpdateS3DagBundlePayloadType = /*@__PURE__*/ S.String;
862
+
863
+ /** Partial update payload for an S3 DAG bundle. All fields except "type" are optional; only the provided fields will be updated. */
864
+ export interface UpdateS3DagBundlePayload {
865
+ /** Updated S3 bucket name. If changed, s3Auth must also be provided. */
866
+ bucketName?: string;
867
+ /** Updated S3-compatible endpoint URL. If changed, s3Auth must also be provided. */
868
+ endpoint?: string;
869
+ /** Updated key prefix within the bucket. */
870
+ prefix?: string;
871
+ /** Updated refresh interval in seconds. */
872
+ refreshInterval?: number;
873
+ s3Auth?: S3Auth;
874
+ /** Bundle type identifier — must match the existing bundle's type. */
875
+ type: UpdateS3DagBundlePayloadType;
876
+ }
877
+ export const UpdateS3DagBundlePayload = /*@__PURE__*/ S.suspend(() =>
878
+ S.Struct({
879
+ bucketName: S.optional(S.String),
880
+ endpoint: S.optional(S.String),
881
+ prefix: S.optional(S.String),
882
+ refreshInterval: S.optional(S.Number),
883
+ s3Auth: S.optional(S3Auth),
884
+ type: UpdateS3DagBundlePayloadType,
885
+ }),
886
+ ).annotate({
887
+ identifier: "UpdateS3DagBundlePayload",
888
+ }) as any as S.Schema<UpdateS3DagBundlePayload>;
889
+
890
+ /** Partial update payload for a DAG bundle. The "type" field must be provided and must match the existing bundle's type ("git" or "s3"). Only the provided fields will be updated. Supplying fields that belong to the wrong type will be rejected. */
891
+ export type UpdateDagBundlePayload =
892
+ | UpdateGitDagBundlePayload
893
+ | UpdateS3DagBundlePayload;
894
+ export const UpdateDagBundlePayload =
895
+ /*@__PURE__*/ S.Unknown as any as S.Schema<UpdateDagBundlePayload>;
896
+
897
+ export interface UpdateDagBundleRequest {
898
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
899
+ projectId: string;
900
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
901
+ regionId: string;
902
+ /** The STACKIT Workflows instance UUID. */
903
+ instanceId: string;
904
+ /** The unique name of the DAG bundle. Must be a valid DNS label (lowercase alphanumeric and hyphens, max 63 characters). */
905
+ bundleName: string;
906
+ body: UpdateDagBundlePayload;
907
+ }
908
+ export const UpdateDagBundleRequest = /*@__PURE__*/ S.suspend(() =>
909
+ S.Struct({
910
+ projectId: S.String.pipe(T.Label()),
911
+ regionId: S.String.pipe(T.Label()),
912
+ instanceId: S.String.pipe(T.Label()),
913
+ bundleName: S.String.pipe(T.Label()),
914
+ body: UpdateDagBundlePayload.pipe(T.HttpBody()),
915
+ }).pipe(
916
+ T.Http({
917
+ method: "PATCH",
918
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dag-bundles/{bundleName}",
919
+ code: 200,
920
+ baseUrl: "https://workflows.api.stackit.cloud",
921
+ }),
922
+ ),
923
+ ).annotate({
924
+ identifier: "UpdateDagBundleRequest",
925
+ }) as any as S.Schema<UpdateDagBundleRequest>;
926
+
927
+ export type UpdateDagBundleResponse = DagBundleResponseOutput;
928
+ export const UpdateDagBundleResponse = /*@__PURE__*/ S.suspend(() =>
929
+ DagBundleResponseOutput.pipe(T.RawResponseRoot()),
930
+ ).annotate({
931
+ identifier: "UpdateDagBundleResponse",
932
+ }) as any as S.Schema<UpdateDagBundleResponse>;
933
+
934
+ export interface UpdateDagsRepositoryRequest {
935
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
936
+ projectId: string;
937
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
938
+ regionId: string;
939
+ /** The STACKIT Workflows instance UUID. */
940
+ instanceId: string;
941
+ auth?: GitAuth;
942
+ /** The branch in the repository to use */
943
+ branch?: string;
944
+ /** The URL of the Git repository. */
945
+ url?: string;
946
+ }
947
+ export const UpdateDagsRepositoryRequest = /*@__PURE__*/ S.suspend(() =>
948
+ S.Struct({
949
+ projectId: S.String.pipe(T.Label()),
950
+ regionId: S.String.pipe(T.Label()),
951
+ instanceId: S.String.pipe(T.Label()),
952
+ auth: S.optional(GitAuth),
953
+ branch: S.optional(S.String),
954
+ url: S.optional(S.String),
955
+ }).pipe(
956
+ T.Http({
957
+ method: "PATCH",
958
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/dags-repository",
959
+ code: 200,
960
+ baseUrl: "https://workflows.api.stackit.cloud",
961
+ }),
962
+ ),
963
+ ).annotate({
964
+ identifier: "UpdateDagsRepositoryRequest",
965
+ }) as any as S.Schema<UpdateDagsRepositoryRequest>;
966
+
967
+ /** Updated expected audience(s) for API token validation. Set to empty array to disable audience validation. */
968
+ export type OAuth2IdentityProviderPatchApiAudienceList = Array<string>;
969
+ export const OAuth2IdentityProviderPatchApiAudienceList = /*@__PURE__*/ S.Array(
970
+ S.String,
971
+ ) as any as S.Schema<OAuth2IdentityProviderPatchApiAudienceList>;
972
+
973
+ /** Request to update an OAuth2 identity provider configuration */
974
+ export interface OAuth2IdentityProviderPatch {
975
+ /** Updated expected audience(s) for API token validation. Set to empty array to disable audience validation. */
976
+ apiAudience?: OAuth2IdentityProviderPatchApiAudienceList;
977
+ /** Updated client id of the STACKIT Workflows application in the identity provider. If changed, requires to also set the client secret. */
978
+ clientId?: string;
979
+ /** Updated client secret of the STACKIT Workflows application in the identity provider. */
980
+ clientSecret?: string | Redacted.Redacted<string>;
981
+ /** Updated discovery endpoint of the OAuth2 identity provider. If changed, requires to also set the client id and client secret. */
982
+ discoveryEndpoint?: string;
983
+ /** Updated name of the OAuth2 identity provider. */
984
+ name?: string;
985
+ /** Updated RFC 8707 resource parameter. Set to empty string to remove the resource parameter. */
986
+ resource?: string;
987
+ /** Updated dot-separated path to extract roles from JWT claims. Set to empty string to use provider-specific defaults. */
988
+ rolesClaim?: string;
989
+ /** Updated scopes to request for Authorization Code Flows. (UI login) */
990
+ scope?: string;
991
+ }
992
+ export const OAuth2IdentityProviderPatch = /*@__PURE__*/ S.suspend(() =>
993
+ S.Struct({
994
+ apiAudience: S.optional(OAuth2IdentityProviderPatchApiAudienceList),
995
+ clientId: S.optional(S.String),
996
+ clientSecret: S.optional(S.String.pipe(T.SensitiveValue({}))),
997
+ discoveryEndpoint: S.optional(S.String),
998
+ name: S.optional(S.String),
999
+ resource: S.optional(S.String),
1000
+ rolesClaim: S.optional(S.String),
1001
+ scope: S.optional(S.String),
1002
+ }),
1003
+ ).annotate({
1004
+ identifier: "OAuth2IdentityProviderPatch",
1005
+ }) as any as S.Schema<OAuth2IdentityProviderPatch>;
1006
+
1007
+ /** Request to update an identity provider configuration */
1008
+ export type UpdateIdentityProviderPayload =
1009
+ | StackITIdentityProvider
1010
+ | OAuth2IdentityProviderPatch;
1011
+ export const UpdateIdentityProviderPayload =
1012
+ /*@__PURE__*/ S.Unknown as any as S.Schema<UpdateIdentityProviderPayload>;
1013
+
1014
+ export interface UpdateIdentityProviderRequest {
1015
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
1016
+ projectId: string;
1017
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
1018
+ regionId: string;
1019
+ /** The STACKIT Workflows instance UUID. */
1020
+ instanceId: string;
1021
+ body: UpdateIdentityProviderPayload;
1022
+ }
1023
+ export const UpdateIdentityProviderRequest = /*@__PURE__*/ S.suspend(() =>
1024
+ S.Struct({
1025
+ projectId: S.String.pipe(T.Label()),
1026
+ regionId: S.String.pipe(T.Label()),
1027
+ instanceId: S.String.pipe(T.Label()),
1028
+ body: UpdateIdentityProviderPayload.pipe(T.HttpBody()),
1029
+ }).pipe(
1030
+ T.Http({
1031
+ method: "PATCH",
1032
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/identity-provider",
1033
+ code: 200,
1034
+ baseUrl: "https://workflows.api.stackit.cloud",
1035
+ }),
1036
+ ),
1037
+ ).annotate({
1038
+ identifier: "UpdateIdentityProviderRequest",
1039
+ }) as any as S.Schema<UpdateIdentityProviderRequest>;
1040
+
1041
+ export interface UpdateInstanceRequest {
1042
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
1043
+ projectId: string;
1044
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
1045
+ regionId: string;
1046
+ /** The STACKIT Workflows instance UUID. */
1047
+ instanceId: string;
1048
+ /** A user chosen description to distinguish multiple STACKIT Workflows instances. If not provided, the description won't be updated. Set to empty string to remove the description. */
1049
+ description?: string;
1050
+ /** The displayed name to distinguish multiple STACKIT Workflows instances. If not provided, the display name won't be updated. */
1051
+ displayName?: string;
1052
+ /** Whether to enable the Airflow built-in example DAGs in this instance. Maps to airflow.config.core.load_examples in the Helm chart. Only supported for Airflow 3 instances. If not provided, the setting won't be updated. */
1053
+ enableAirflowExampleDags?: boolean;
1054
+ /** Whether to include the STACKIT sample DAGs in this instance. Only supported for Airflow 3 instances. If not provided, the setting won't be updated. */
1055
+ enableStackitExampleDags?: boolean;
1056
+ /** The STACKIT Workflows version to use. For valid versions please take a look at [provider-options](#tag/provider-options/operation/get-provider-options) If not provided, the version won't be updated. */
1057
+ version?: string;
1058
+ }
1059
+ export const UpdateInstanceRequest = /*@__PURE__*/ S.suspend(() =>
1060
+ S.Struct({
1061
+ projectId: S.String.pipe(T.Label()),
1062
+ regionId: S.String.pipe(T.Label()),
1063
+ instanceId: S.String.pipe(T.Label()),
1064
+ description: S.optional(S.String),
1065
+ displayName: S.optional(S.String),
1066
+ enableAirflowExampleDags: S.optional(S.Boolean),
1067
+ enableStackitExampleDags: S.optional(S.Boolean),
1068
+ version: S.optional(S.String),
1069
+ }).pipe(
1070
+ T.Http({
1071
+ method: "PATCH",
1072
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}",
1073
+ code: 200,
1074
+ baseUrl: "https://workflows.api.stackit.cloud",
1075
+ }),
1076
+ ),
1077
+ ).annotate({
1078
+ identifier: "UpdateInstanceRequest",
1079
+ }) as any as S.Schema<UpdateInstanceRequest>;
1080
+
1081
+ export interface UpdateObservabilityRequest {
1082
+ /** The STACKIT portal project UUID the STACKIT Workflows instance is part of. */
1083
+ projectId: string;
1084
+ /** The STACKIT region the STACKIT Workflows instance is part of. */
1085
+ regionId: string;
1086
+ /** The STACKIT Workflows instance UUID. */
1087
+ instanceId: string;
1088
+ /** Unique identifier of the customer's observability instance. */
1089
+ observabilityId?: string;
1090
+ }
1091
+ export const UpdateObservabilityRequest = /*@__PURE__*/ S.suspend(() =>
1092
+ S.Struct({
1093
+ projectId: S.String.pipe(T.Label()),
1094
+ regionId: S.String.pipe(T.Label()),
1095
+ instanceId: S.String.pipe(T.Label()),
1096
+ observabilityId: S.optional(S.String),
1097
+ }).pipe(
1098
+ T.Http({
1099
+ method: "PATCH",
1100
+ uri: "/v1alpha/projects/{projectId}/regions/{regionId}/instances/{instanceId}/observability",
1101
+ code: 200,
1102
+ baseUrl: "https://workflows.api.stackit.cloud",
1103
+ }),
1104
+ ),
1105
+ ).annotate({
1106
+ identifier: "UpdateObservabilityRequest",
1107
+ }) as any as S.Schema<UpdateObservabilityRequest>;
1108
+
1109
+ export type CreateDagBundleError =
1110
+ | BadRequest
1111
+ | Forbidden
1112
+ | NotFound
1113
+ | Conflict
1114
+ | StackitOpError;
1115
+ /** Adds a new DAG bundle to this STACKIT Workflows instance. Only supported for Airflow 3 instances. Maximum 10 bundles per instance. */
1116
+ export const createDagBundle: API.OperationMethod<
1117
+ CreateDagBundleRequest,
1118
+ CreateDagBundleResponse,
1119
+ CreateDagBundleError,
1120
+ StackitOpContext
1121
+ > = /*@__PURE__*/ API.make(() => ({
1122
+ input: CreateDagBundleRequest,
1123
+ output: CreateDagBundleResponse,
1124
+ errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
1125
+ protocol: StackitProtocol,
1126
+ retry: Retry.Retry,
1127
+ }));
1128
+
1129
+ export type CreateInstanceError = BadRequest | Forbidden | StackitOpError;
1130
+ /** Creates a new STACKIT Workflows instance within the project. */
1131
+ export const createInstance: API.OperationMethod<
1132
+ CreateInstanceRequest,
1133
+ Instance,
1134
+ CreateInstanceError,
1135
+ StackitOpContext
1136
+ > = /*@__PURE__*/ API.make(() => ({
1137
+ input: CreateInstanceRequest,
1138
+ output: Instance,
1139
+ errors: [BadRequest, Forbidden, UnknownStackitError],
1140
+ protocol: StackitProtocol,
1141
+ retry: Retry.Retry,
1142
+ }));
1143
+
1144
+ export type DeleteDagBundleError =
1145
+ | BadRequest
1146
+ | Forbidden
1147
+ | NotFound
1148
+ | Conflict
1149
+ | StackitOpError;
1150
+ /** Removes a DAG bundle from this STACKIT Workflows instance. At least one bundle must remain configured. Only supported for Airflow 3 instances. */
1151
+ export const deleteDagBundle: API.OperationMethod<
1152
+ DeleteDagBundleRequest,
1153
+ DeleteDagBundleResponse,
1154
+ DeleteDagBundleError,
1155
+ StackitOpContext
1156
+ > = /*@__PURE__*/ API.make(() => ({
1157
+ input: DeleteDagBundleRequest,
1158
+ output: DeleteDagBundleResponse,
1159
+ errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
1160
+ protocol: StackitProtocol,
1161
+ retry: Retry.Retry,
1162
+ }));
1163
+
1164
+ export type DeleteInstanceError =
1165
+ | BadRequest
1166
+ | Forbidden
1167
+ | NotFound
1168
+ | Conflict
1169
+ | StackitOpError;
1170
+ /** Deletes the given STACKIT Workflows instance. */
1171
+ export const deleteInstance: API.OperationMethod<
1172
+ DeleteInstanceRequest,
1173
+ DeleteInstanceResponse,
1174
+ DeleteInstanceError,
1175
+ StackitOpContext
1176
+ > = /*@__PURE__*/ API.make(() => ({
1177
+ input: DeleteInstanceRequest,
1178
+ output: DeleteInstanceResponse,
1179
+ errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
1180
+ protocol: StackitProtocol,
1181
+ retry: Retry.Retry,
1182
+ }));
1183
+
1184
+ export type GetDagBundleError = Forbidden | NotFound | StackitOpError;
1185
+ /** Returns the configuration of a single DAG bundle. */
1186
+ export const getDagBundle: API.OperationMethod<
1187
+ GetDagBundleRequest,
1188
+ GetDagBundleResponse,
1189
+ GetDagBundleError,
1190
+ StackitOpContext
1191
+ > = /*@__PURE__*/ API.make(() => ({
1192
+ input: GetDagBundleRequest,
1193
+ output: GetDagBundleResponse,
1194
+ errors: [Forbidden, NotFound, UnknownStackitError],
1195
+ protocol: StackitProtocol,
1196
+ retry: Retry.Retry,
1197
+ }));
1198
+
1199
+ export type GetInstanceError =
1200
+ | BadRequest
1201
+ | Forbidden
1202
+ | NotFound
1203
+ | StackitOpError;
1204
+ /** Returns the details for the given STACKIT Workflows instance. */
1205
+ export const getInstance: API.OperationMethod<
1206
+ GetInstanceRequest,
1207
+ Instance,
1208
+ GetInstanceError,
1209
+ StackitOpContext
1210
+ > = /*@__PURE__*/ API.make(() => ({
1211
+ input: GetInstanceRequest,
1212
+ output: Instance,
1213
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1214
+ protocol: StackitProtocol,
1215
+ retry: Retry.Retry,
1216
+ }));
1217
+
1218
+ export type GetProviderOptionsError = BadRequest | StackitOpError;
1219
+ /** Get provider options Returns a list of supported configuration options for this region. */
1220
+ export const getProviderOptions: API.OperationMethod<
1221
+ GetProviderOptionsRequest,
1222
+ ProviderOptions,
1223
+ GetProviderOptionsError,
1224
+ StackitOpContext
1225
+ > = /*@__PURE__*/ API.make(() => ({
1226
+ input: GetProviderOptionsRequest,
1227
+ output: ProviderOptions,
1228
+ errors: [BadRequest, UnknownStackitError],
1229
+ protocol: StackitProtocol,
1230
+ retry: Retry.Retry,
1231
+ }));
1232
+
1233
+ export type ListDagBundlesError =
1234
+ | BadRequest
1235
+ | Forbidden
1236
+ | NotFound
1237
+ | StackitOpError;
1238
+ /** Returns a list of all DAG bundles configured for this STACKIT Workflows instance. */
1239
+ export const listDagBundles: API.OperationMethod<
1240
+ ListDagBundlesRequest,
1241
+ ListDagBundlesResponseOutput,
1242
+ ListDagBundlesError,
1243
+ StackitOpContext
1244
+ > = /*@__PURE__*/ API.make(() => ({
1245
+ input: ListDagBundlesRequest,
1246
+ output: ListDagBundlesResponseOutput,
1247
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1248
+ protocol: StackitProtocol,
1249
+ retry: Retry.Retry,
1250
+ }));
1251
+
1252
+ export type ListInstancesError = BadRequest | Forbidden | StackitOpError;
1253
+ /** Returns a list of all STACKIT Workflows instances within the project. */
1254
+ export const listInstances: API.OperationMethod<
1255
+ ListInstancesRequest,
1256
+ ListInstancesResponse,
1257
+ ListInstancesError,
1258
+ StackitOpContext
1259
+ > = /*@__PURE__*/ API.make(() => ({
1260
+ input: ListInstancesRequest,
1261
+ output: ListInstancesResponse,
1262
+ errors: [BadRequest, Forbidden, UnknownStackitError],
1263
+ protocol: StackitProtocol,
1264
+ retry: Retry.Retry,
1265
+ }));
1266
+
1267
+ export type UpdateDagBundleError =
1268
+ | BadRequest
1269
+ | Forbidden
1270
+ | NotFound
1271
+ | StackitOpError;
1272
+ /** Updates an existing DAG bundle. The bundle type (git/s3) is inferred from the existing bundle and cannot be changed. To change the type, delete and recreate the bundle. Only supported for Airflow 3 instances. */
1273
+ export const updateDagBundle: API.OperationMethod<
1274
+ UpdateDagBundleRequest,
1275
+ UpdateDagBundleResponse,
1276
+ UpdateDagBundleError,
1277
+ StackitOpContext
1278
+ > = /*@__PURE__*/ API.make(() => ({
1279
+ input: UpdateDagBundleRequest,
1280
+ output: UpdateDagBundleResponse,
1281
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1282
+ protocol: StackitProtocol,
1283
+ retry: Retry.Retry,
1284
+ }));
1285
+
1286
+ export type UpdateDagsRepositoryError =
1287
+ | BadRequest
1288
+ | Forbidden
1289
+ | NotFound
1290
+ | StackitOpError;
1291
+ /** Updates the DAGs repository configuration for this STACKIT Workflows instance. */
1292
+ export const updateDagsRepository: API.OperationMethod<
1293
+ UpdateDagsRepositoryRequest,
1294
+ Instance,
1295
+ UpdateDagsRepositoryError,
1296
+ StackitOpContext
1297
+ > = /*@__PURE__*/ API.make(() => ({
1298
+ input: UpdateDagsRepositoryRequest,
1299
+ output: Instance,
1300
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1301
+ protocol: StackitProtocol,
1302
+ retry: Retry.Retry,
1303
+ }));
1304
+
1305
+ export type UpdateIdentityProviderError =
1306
+ | BadRequest
1307
+ | Forbidden
1308
+ | NotFound
1309
+ | StackitOpError;
1310
+ /** Updates the identity provider configuration for this STACKIT Workflows instance. */
1311
+ export const updateIdentityProvider: API.OperationMethod<
1312
+ UpdateIdentityProviderRequest,
1313
+ Instance,
1314
+ UpdateIdentityProviderError,
1315
+ StackitOpContext
1316
+ > = /*@__PURE__*/ API.make(() => ({
1317
+ input: UpdateIdentityProviderRequest,
1318
+ output: Instance,
1319
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1320
+ protocol: StackitProtocol,
1321
+ retry: Retry.Retry,
1322
+ }));
1323
+
1324
+ export type UpdateInstanceError =
1325
+ | BadRequest
1326
+ | Forbidden
1327
+ | NotFound
1328
+ | Conflict
1329
+ | StackitOpError;
1330
+ /** Updates core Attributes of this STACKIT Workflows Instance. */
1331
+ export const updateInstance: API.OperationMethod<
1332
+ UpdateInstanceRequest,
1333
+ Instance,
1334
+ UpdateInstanceError,
1335
+ StackitOpContext
1336
+ > = /*@__PURE__*/ API.make(() => ({
1337
+ input: UpdateInstanceRequest,
1338
+ output: Instance,
1339
+ errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
1340
+ protocol: StackitProtocol,
1341
+ retry: Retry.Retry,
1342
+ }));
1343
+
1344
+ export type UpdateObservabilityError =
1345
+ | BadRequest
1346
+ | Forbidden
1347
+ | NotFound
1348
+ | StackitOpError;
1349
+ /** Updates the Observability configuration for this STACKIT Workflows instance. */
1350
+ export const updateObservability: API.OperationMethod<
1351
+ UpdateObservabilityRequest,
1352
+ Instance,
1353
+ UpdateObservabilityError,
1354
+ StackitOpContext
1355
+ > = /*@__PURE__*/ API.make(() => ({
1356
+ input: UpdateObservabilityRequest,
1357
+ output: Instance,
1358
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
1359
+ protocol: StackitProtocol,
1360
+ retry: Retry.Retry,
1361
+ }));