@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,1248 @@
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 class UnprocessableEntity
54
+ extends /*@__PURE__*/ T.applyErrorMatchers(
55
+ /*@__PURE__*/ S.TaggedError<UnprocessableEntity>()("UnprocessableEntity", {
56
+ code: S.Number,
57
+ message: S.String,
58
+ }).pipe(C.withBadRequestError),
59
+ [{ status: 422 }],
60
+ ) {}
61
+
62
+ export interface CreateAccessKeyRequest {
63
+ /** STACKIT project ID */
64
+ projectId: string;
65
+ /** STACKIT Region */
66
+ region: string;
67
+ credentials_group?: string;
68
+ /** Expiration date. Null means never expires. */
69
+ expires?: string | null;
70
+ }
71
+ export const CreateAccessKeyRequest = /*@__PURE__*/ S.suspend(() =>
72
+ S.Struct({
73
+ projectId: S.String.pipe(T.Label()),
74
+ region: S.String.pipe(T.Label()),
75
+ credentials_group: S.optional(S.String.pipe(T.Query("credentials-group"))),
76
+ expires: S.optional(S.NullOr(S.String)),
77
+ }).pipe(
78
+ T.Http({
79
+ method: "POST",
80
+ uri: "/v2/project/{projectId}/regions/{region}/access-key",
81
+ code: 200,
82
+ baseUrl: "https://object-storage.api.stackit.cloud",
83
+ }),
84
+ ),
85
+ ).annotate({
86
+ identifier: "CreateAccessKeyRequest",
87
+ }) as any as S.Schema<CreateAccessKeyRequest>;
88
+
89
+ export interface CreateAccessKeyResponse {
90
+ /** Access key */
91
+ accessKey: string;
92
+ /** Obfuscated access key */
93
+ displayName: string;
94
+ /** Expiration date. Null means never expires. */
95
+ expires: string | null;
96
+ /** Identifies the pair of access key and secret access key for deletion */
97
+ keyId: string;
98
+ /** Project ID */
99
+ project: string;
100
+ /** Secret access key */
101
+ secretAccessKey: string | Redacted.Redacted<string>;
102
+ }
103
+ export const CreateAccessKeyResponse = /*@__PURE__*/ S.suspend(() =>
104
+ S.Struct({
105
+ accessKey: S.String,
106
+ displayName: S.String,
107
+ expires: S.NullOr(S.String),
108
+ keyId: S.String,
109
+ project: S.String,
110
+ secretAccessKey: S.String.pipe(T.SensitiveValue({})),
111
+ }),
112
+ ).annotate({
113
+ identifier: "CreateAccessKeyResponse",
114
+ }) as any as S.Schema<CreateAccessKeyResponse>;
115
+
116
+ export interface CreateBucketRequest {
117
+ /** STACKIT project ID */
118
+ projectId: string;
119
+ /** STACKIT Region */
120
+ region: string;
121
+ /** The name has to be dns-conform. */
122
+ bucketName: string;
123
+ /** Enable S3 Object Lock on this bucket. Can only be set at creation time. Requires an active project-level compliance lock. */
124
+ objectLockEnabled?: boolean;
125
+ }
126
+ export const CreateBucketRequest = /*@__PURE__*/ S.suspend(() =>
127
+ S.Struct({
128
+ projectId: S.String.pipe(T.Label()),
129
+ region: S.String.pipe(T.Label()),
130
+ bucketName: S.String.pipe(T.Label()),
131
+ objectLockEnabled: S.optional(S.Boolean.pipe(T.Query())),
132
+ }).pipe(
133
+ T.Http({
134
+ method: "POST",
135
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}",
136
+ code: 200,
137
+ baseUrl: "https://object-storage.api.stackit.cloud",
138
+ }),
139
+ ),
140
+ ).annotate({
141
+ identifier: "CreateBucketRequest",
142
+ }) as any as S.Schema<CreateBucketRequest>;
143
+
144
+ export interface CreateBucketResponse {
145
+ /** Name of the bucket */
146
+ bucket: string;
147
+ /** Project ID */
148
+ project: string;
149
+ }
150
+ export const CreateBucketResponse = /*@__PURE__*/ S.suspend(() =>
151
+ S.Struct({
152
+ bucket: S.String,
153
+ project: S.String,
154
+ }),
155
+ ).annotate({
156
+ identifier: "CreateBucketResponse",
157
+ }) as any as S.Schema<CreateBucketResponse>;
158
+
159
+ export interface CreateComplianceLockRequest {
160
+ /** STACKIT project ID */
161
+ projectId: string;
162
+ /** STACKIT Region */
163
+ region: string;
164
+ }
165
+ export const CreateComplianceLockRequest = /*@__PURE__*/ S.suspend(() =>
166
+ S.Struct({
167
+ projectId: S.String.pipe(T.Label()),
168
+ region: S.String.pipe(T.Label()),
169
+ }).pipe(
170
+ T.Http({
171
+ method: "POST",
172
+ uri: "/v2/project/{projectId}/regions/{region}/compliance-lock",
173
+ code: 200,
174
+ baseUrl: "https://object-storage.api.stackit.cloud",
175
+ }),
176
+ ),
177
+ ).annotate({
178
+ identifier: "CreateComplianceLockRequest",
179
+ }) as any as S.Schema<CreateComplianceLockRequest>;
180
+
181
+ export interface ComplianceLockResponse {
182
+ /** Maximum retention period in days */
183
+ maxRetentionDays: number;
184
+ /** Project ID */
185
+ project: string;
186
+ }
187
+ export const ComplianceLockResponse = /*@__PURE__*/ S.suspend(() =>
188
+ S.Struct({
189
+ maxRetentionDays: S.Number,
190
+ project: S.String,
191
+ }),
192
+ ).annotate({
193
+ identifier: "ComplianceLockResponse",
194
+ }) as any as S.Schema<ComplianceLockResponse>;
195
+
196
+ export interface CreateCredentialsGroupRequest {
197
+ /** STACKIT project ID */
198
+ projectId: string;
199
+ /** STACKIT Region */
200
+ region: string;
201
+ /** Name of the group holding credentials */
202
+ displayName: string;
203
+ }
204
+ export const CreateCredentialsGroupRequest = /*@__PURE__*/ S.suspend(() =>
205
+ S.Struct({
206
+ projectId: S.String.pipe(T.Label()),
207
+ region: S.String.pipe(T.Label()),
208
+ displayName: S.String,
209
+ }).pipe(
210
+ T.Http({
211
+ method: "POST",
212
+ uri: "/v2/project/{projectId}/regions/{region}/credentials-group",
213
+ code: 200,
214
+ baseUrl: "https://object-storage.api.stackit.cloud",
215
+ }),
216
+ ),
217
+ ).annotate({
218
+ identifier: "CreateCredentialsGroupRequest",
219
+ }) as any as S.Schema<CreateCredentialsGroupRequest>;
220
+
221
+ export interface CredentialsGroup {
222
+ /** The ID of the credentials group */
223
+ credentialsGroupId: string;
224
+ /** Name of the group holding credentials */
225
+ displayName: string;
226
+ /** Credentials group URN */
227
+ urn: string;
228
+ }
229
+ export const CredentialsGroup = /*@__PURE__*/ S.suspend(() =>
230
+ S.Struct({
231
+ credentialsGroupId: S.String,
232
+ displayName: S.String,
233
+ urn: S.String,
234
+ }),
235
+ ).annotate({
236
+ identifier: "CredentialsGroup",
237
+ }) as any as S.Schema<CredentialsGroup>;
238
+
239
+ export interface CreateCredentialsGroupResponse {
240
+ credentialsGroup: CredentialsGroup;
241
+ /** Project ID */
242
+ project: string;
243
+ }
244
+ export const CreateCredentialsGroupResponse = /*@__PURE__*/ S.suspend(() =>
245
+ S.Struct({
246
+ credentialsGroup: CredentialsGroup,
247
+ project: S.String,
248
+ }),
249
+ ).annotate({
250
+ identifier: "CreateCredentialsGroupResponse",
251
+ }) as any as S.Schema<CreateCredentialsGroupResponse>;
252
+
253
+ export interface DeleteAccessKeyRequest {
254
+ /** STACKIT project ID */
255
+ projectId: string;
256
+ /** STACKIT Region */
257
+ region: string;
258
+ /** Object storage access key */
259
+ keyId: string;
260
+ credentials_group?: string;
261
+ }
262
+ export const DeleteAccessKeyRequest = /*@__PURE__*/ S.suspend(() =>
263
+ S.Struct({
264
+ projectId: S.String.pipe(T.Label()),
265
+ region: S.String.pipe(T.Label()),
266
+ keyId: S.String.pipe(T.Label()),
267
+ credentials_group: S.optional(S.String.pipe(T.Query("credentials-group"))),
268
+ }).pipe(
269
+ T.Http({
270
+ method: "DELETE",
271
+ uri: "/v2/project/{projectId}/regions/{region}/access-key/{keyId}",
272
+ code: 200,
273
+ baseUrl: "https://object-storage.api.stackit.cloud",
274
+ }),
275
+ ),
276
+ ).annotate({
277
+ identifier: "DeleteAccessKeyRequest",
278
+ }) as any as S.Schema<DeleteAccessKeyRequest>;
279
+
280
+ export interface DeleteAccessKeyResponse {
281
+ /** Identifies the pair of access key and secret access key for deletion */
282
+ keyId: string;
283
+ /** Project ID */
284
+ project: string;
285
+ }
286
+ export const DeleteAccessKeyResponse = /*@__PURE__*/ S.suspend(() =>
287
+ S.Struct({
288
+ keyId: S.String,
289
+ project: S.String,
290
+ }),
291
+ ).annotate({
292
+ identifier: "DeleteAccessKeyResponse",
293
+ }) as any as S.Schema<DeleteAccessKeyResponse>;
294
+
295
+ export interface DeleteBucketRequest {
296
+ /** STACKIT project ID */
297
+ projectId: string;
298
+ /** STACKIT Region */
299
+ region: string;
300
+ /** The name has to be dns-conform. */
301
+ bucketName: string;
302
+ }
303
+ export const DeleteBucketRequest = /*@__PURE__*/ S.suspend(() =>
304
+ S.Struct({
305
+ projectId: S.String.pipe(T.Label()),
306
+ region: S.String.pipe(T.Label()),
307
+ bucketName: S.String.pipe(T.Label()),
308
+ }).pipe(
309
+ T.Http({
310
+ method: "DELETE",
311
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}",
312
+ code: 200,
313
+ baseUrl: "https://object-storage.api.stackit.cloud",
314
+ }),
315
+ ),
316
+ ).annotate({
317
+ identifier: "DeleteBucketRequest",
318
+ }) as any as S.Schema<DeleteBucketRequest>;
319
+
320
+ export interface DeleteBucketResponse {
321
+ /** Name of the bucket */
322
+ bucket: string;
323
+ /** Project ID */
324
+ project: string;
325
+ }
326
+ export const DeleteBucketResponse = /*@__PURE__*/ S.suspend(() =>
327
+ S.Struct({
328
+ bucket: S.String,
329
+ project: S.String,
330
+ }),
331
+ ).annotate({
332
+ identifier: "DeleteBucketResponse",
333
+ }) as any as S.Schema<DeleteBucketResponse>;
334
+
335
+ export interface DeleteComplianceLockRequest {
336
+ /** STACKIT project ID */
337
+ projectId: string;
338
+ /** STACKIT Region */
339
+ region: string;
340
+ }
341
+ export const DeleteComplianceLockRequest = /*@__PURE__*/ S.suspend(() =>
342
+ S.Struct({
343
+ projectId: S.String.pipe(T.Label()),
344
+ region: S.String.pipe(T.Label()),
345
+ }).pipe(
346
+ T.Http({
347
+ method: "DELETE",
348
+ uri: "/v2/project/{projectId}/regions/{region}/compliance-lock",
349
+ code: 200,
350
+ baseUrl: "https://object-storage.api.stackit.cloud",
351
+ }),
352
+ ),
353
+ ).annotate({
354
+ identifier: "DeleteComplianceLockRequest",
355
+ }) as any as S.Schema<DeleteComplianceLockRequest>;
356
+
357
+ export interface DeleteCredentialsGroupRequest {
358
+ /** STACKIT project ID */
359
+ projectId: string;
360
+ /** STACKIT Region */
361
+ region: string;
362
+ /** Id of the credentials group */
363
+ groupId: string;
364
+ }
365
+ export const DeleteCredentialsGroupRequest = /*@__PURE__*/ S.suspend(() =>
366
+ S.Struct({
367
+ projectId: S.String.pipe(T.Label()),
368
+ region: S.String.pipe(T.Label()),
369
+ groupId: S.String.pipe(T.Label()),
370
+ }).pipe(
371
+ T.Http({
372
+ method: "DELETE",
373
+ uri: "/v2/project/{projectId}/regions/{region}/credentials-group/{groupId}",
374
+ code: 200,
375
+ baseUrl: "https://object-storage.api.stackit.cloud",
376
+ }),
377
+ ),
378
+ ).annotate({
379
+ identifier: "DeleteCredentialsGroupRequest",
380
+ }) as any as S.Schema<DeleteCredentialsGroupRequest>;
381
+
382
+ export interface DeleteCredentialsGroupResponse {
383
+ /** The ID of the credentials group */
384
+ credentialsGroupId: string;
385
+ /** Project ID */
386
+ project: string;
387
+ }
388
+ export const DeleteCredentialsGroupResponse = /*@__PURE__*/ S.suspend(() =>
389
+ S.Struct({
390
+ credentialsGroupId: S.String,
391
+ project: S.String,
392
+ }),
393
+ ).annotate({
394
+ identifier: "DeleteCredentialsGroupResponse",
395
+ }) as any as S.Schema<DeleteCredentialsGroupResponse>;
396
+
397
+ export interface DeleteDefaultRetentionRequest {
398
+ /** STACKIT project ID */
399
+ projectId: string;
400
+ /** STACKIT Region */
401
+ region: string;
402
+ /** The name has to be dns-conform. */
403
+ bucketName: string;
404
+ }
405
+ export const DeleteDefaultRetentionRequest = /*@__PURE__*/ S.suspend(() =>
406
+ S.Struct({
407
+ projectId: S.String.pipe(T.Label()),
408
+ region: S.String.pipe(T.Label()),
409
+ bucketName: S.String.pipe(T.Label()),
410
+ }).pipe(
411
+ T.Http({
412
+ method: "DELETE",
413
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}/default-retention",
414
+ code: 200,
415
+ baseUrl: "https://object-storage.api.stackit.cloud",
416
+ }),
417
+ ),
418
+ ).annotate({
419
+ identifier: "DeleteDefaultRetentionRequest",
420
+ }) as any as S.Schema<DeleteDefaultRetentionRequest>;
421
+
422
+ export interface DeleteDefaultRetentionResponse {
423
+ /** Name of the bucket */
424
+ bucket: string;
425
+ /** Project ID */
426
+ project: string;
427
+ }
428
+ export const DeleteDefaultRetentionResponse = /*@__PURE__*/ S.suspend(() =>
429
+ S.Struct({
430
+ bucket: S.String,
431
+ project: S.String,
432
+ }),
433
+ ).annotate({
434
+ identifier: "DeleteDefaultRetentionResponse",
435
+ }) as any as S.Schema<DeleteDefaultRetentionResponse>;
436
+
437
+ export interface DisableServiceRequest {
438
+ /** STACKIT project ID */
439
+ projectId: string;
440
+ /** STACKIT Region */
441
+ region: string;
442
+ }
443
+ export const DisableServiceRequest = /*@__PURE__*/ S.suspend(() =>
444
+ S.Struct({
445
+ projectId: S.String.pipe(T.Label()),
446
+ region: S.String.pipe(T.Label()),
447
+ }).pipe(
448
+ T.Http({
449
+ method: "DELETE",
450
+ uri: "/v2/project/{projectId}/regions/{region}",
451
+ code: 200,
452
+ baseUrl: "https://object-storage.api.stackit.cloud",
453
+ }),
454
+ ),
455
+ ).annotate({
456
+ identifier: "DisableServiceRequest",
457
+ }) as any as S.Schema<DisableServiceRequest>;
458
+
459
+ /** The scope of a STACKIT project can be public (default) or can have client specific special requirements. */
460
+ export type ProjectScope = "PUBLIC" | "SCHWARZ";
461
+ export const ProjectScope = /*@__PURE__*/ S.String;
462
+
463
+ export interface ProjectStatus {
464
+ /** Project ID */
465
+ project: string;
466
+ /** Project Scope */
467
+ scope: ProjectScope;
468
+ }
469
+ export const ProjectStatus = /*@__PURE__*/ S.suspend(() =>
470
+ S.Struct({
471
+ project: S.String,
472
+ scope: ProjectScope,
473
+ }),
474
+ ).annotate({ identifier: "ProjectStatus" }) as any as S.Schema<ProjectStatus>;
475
+
476
+ export interface EnableServiceRequest {
477
+ /** STACKIT project ID */
478
+ projectId: string;
479
+ /** STACKIT Region */
480
+ region: string;
481
+ }
482
+ export const EnableServiceRequest = /*@__PURE__*/ S.suspend(() =>
483
+ S.Struct({
484
+ projectId: S.String.pipe(T.Label()),
485
+ region: S.String.pipe(T.Label()),
486
+ }).pipe(
487
+ T.Http({
488
+ method: "POST",
489
+ uri: "/v2/project/{projectId}/regions/{region}",
490
+ code: 200,
491
+ baseUrl: "https://object-storage.api.stackit.cloud",
492
+ }),
493
+ ),
494
+ ).annotate({
495
+ identifier: "EnableServiceRequest",
496
+ }) as any as S.Schema<EnableServiceRequest>;
497
+
498
+ export interface GetBucketRequest {
499
+ /** STACKIT project ID */
500
+ projectId: string;
501
+ /** STACKIT Region */
502
+ region: string;
503
+ /** The name has to be dns-conform. */
504
+ bucketName: string;
505
+ }
506
+ export const GetBucketRequest = /*@__PURE__*/ S.suspend(() =>
507
+ S.Struct({
508
+ projectId: S.String.pipe(T.Label()),
509
+ region: S.String.pipe(T.Label()),
510
+ bucketName: S.String.pipe(T.Label()),
511
+ }).pipe(
512
+ T.Http({
513
+ method: "GET",
514
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}",
515
+ code: 200,
516
+ baseUrl: "https://object-storage.api.stackit.cloud",
517
+ }),
518
+ ),
519
+ ).annotate({
520
+ identifier: "GetBucketRequest",
521
+ }) as any as S.Schema<GetBucketRequest>;
522
+
523
+ export interface Bucket {
524
+ name: string;
525
+ /** Whether S3 Object Lock is enabled for this bucket */
526
+ objectLockEnabled: boolean;
527
+ region: string;
528
+ /** URL in path style */
529
+ urlPathStyle: string;
530
+ /** URL in virtual hosted style */
531
+ urlVirtualHostedStyle: string;
532
+ }
533
+ export const Bucket = /*@__PURE__*/ S.suspend(() =>
534
+ S.Struct({
535
+ name: S.String,
536
+ objectLockEnabled: S.Boolean,
537
+ region: S.String,
538
+ urlPathStyle: S.String,
539
+ urlVirtualHostedStyle: S.String,
540
+ }),
541
+ ).annotate({ identifier: "Bucket" }) as any as S.Schema<Bucket>;
542
+
543
+ export interface GetBucketResponse {
544
+ bucket: Bucket;
545
+ /** Project ID */
546
+ project: string;
547
+ }
548
+ export const GetBucketResponse = /*@__PURE__*/ S.suspend(() =>
549
+ S.Struct({
550
+ bucket: Bucket,
551
+ project: S.String,
552
+ }),
553
+ ).annotate({
554
+ identifier: "GetBucketResponse",
555
+ }) as any as S.Schema<GetBucketResponse>;
556
+
557
+ export interface GetComplianceLockRequest {
558
+ /** STACKIT project ID */
559
+ projectId: string;
560
+ /** STACKIT Region */
561
+ region: string;
562
+ }
563
+ export const GetComplianceLockRequest = /*@__PURE__*/ S.suspend(() =>
564
+ S.Struct({
565
+ projectId: S.String.pipe(T.Label()),
566
+ region: S.String.pipe(T.Label()),
567
+ }).pipe(
568
+ T.Http({
569
+ method: "GET",
570
+ uri: "/v2/project/{projectId}/regions/{region}/compliance-lock",
571
+ code: 200,
572
+ baseUrl: "https://object-storage.api.stackit.cloud",
573
+ }),
574
+ ),
575
+ ).annotate({
576
+ identifier: "GetComplianceLockRequest",
577
+ }) as any as S.Schema<GetComplianceLockRequest>;
578
+
579
+ export interface GetCredentialsGroupRequest {
580
+ /** STACKIT project ID */
581
+ projectId: string;
582
+ /** STACKIT Region */
583
+ region: string;
584
+ /** Id of the credentials group */
585
+ groupId: string;
586
+ }
587
+ export const GetCredentialsGroupRequest = /*@__PURE__*/ S.suspend(() =>
588
+ S.Struct({
589
+ projectId: S.String.pipe(T.Label()),
590
+ region: S.String.pipe(T.Label()),
591
+ groupId: S.String.pipe(T.Label()),
592
+ }).pipe(
593
+ T.Http({
594
+ method: "GET",
595
+ uri: "/v2/project/{projectId}/regions/{region}/credentials-group/{groupId}",
596
+ code: 200,
597
+ baseUrl: "https://object-storage.api.stackit.cloud",
598
+ }),
599
+ ),
600
+ ).annotate({
601
+ identifier: "GetCredentialsGroupRequest",
602
+ }) as any as S.Schema<GetCredentialsGroupRequest>;
603
+
604
+ export interface CredentialsGroupExtended {
605
+ /** The ID of the credentials group */
606
+ credentialsGroupId: string;
607
+ /** Name of the group holding credentials */
608
+ displayName: string;
609
+ /** StorageGRID group URN */
610
+ urn: string;
611
+ /** StorageGRID user URN */
612
+ userUrn: string;
613
+ }
614
+ export const CredentialsGroupExtended = /*@__PURE__*/ S.suspend(() =>
615
+ S.Struct({
616
+ credentialsGroupId: S.String,
617
+ displayName: S.String,
618
+ urn: S.String,
619
+ userUrn: S.String,
620
+ }),
621
+ ).annotate({
622
+ identifier: "CredentialsGroupExtended",
623
+ }) as any as S.Schema<CredentialsGroupExtended>;
624
+
625
+ export interface GetCredentialsGroupResponse {
626
+ credentialsGroup: CredentialsGroupExtended;
627
+ /** Project ID */
628
+ project: string;
629
+ }
630
+ export const GetCredentialsGroupResponse = /*@__PURE__*/ S.suspend(() =>
631
+ S.Struct({
632
+ credentialsGroup: CredentialsGroupExtended,
633
+ project: S.String,
634
+ }),
635
+ ).annotate({
636
+ identifier: "GetCredentialsGroupResponse",
637
+ }) as any as S.Schema<GetCredentialsGroupResponse>;
638
+
639
+ export interface GetDefaultRetentionRequest {
640
+ /** STACKIT project ID */
641
+ projectId: string;
642
+ /** STACKIT Region */
643
+ region: string;
644
+ /** The name has to be dns-conform. */
645
+ bucketName: string;
646
+ }
647
+ export const GetDefaultRetentionRequest = /*@__PURE__*/ S.suspend(() =>
648
+ S.Struct({
649
+ projectId: S.String.pipe(T.Label()),
650
+ region: S.String.pipe(T.Label()),
651
+ bucketName: S.String.pipe(T.Label()),
652
+ }).pipe(
653
+ T.Http({
654
+ method: "GET",
655
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}/default-retention",
656
+ code: 200,
657
+ baseUrl: "https://object-storage.api.stackit.cloud",
658
+ }),
659
+ ),
660
+ ).annotate({
661
+ identifier: "GetDefaultRetentionRequest",
662
+ }) as any as S.Schema<GetDefaultRetentionRequest>;
663
+
664
+ /** The retention mode for default retention on a bucket. */
665
+ export type RetentionMode = "COMPLIANCE" | "GOVERNANCE";
666
+ export const RetentionMode = /*@__PURE__*/ S.String;
667
+
668
+ export interface DefaultRetentionResponse {
669
+ /** Name of the bucket */
670
+ bucket: string;
671
+ /** Retention period in days */
672
+ days: number;
673
+ mode: RetentionMode;
674
+ /** Project ID */
675
+ project: string;
676
+ }
677
+ export const DefaultRetentionResponse = /*@__PURE__*/ S.suspend(() =>
678
+ S.Struct({
679
+ bucket: S.String,
680
+ days: S.Number,
681
+ mode: RetentionMode,
682
+ project: S.String,
683
+ }),
684
+ ).annotate({
685
+ identifier: "DefaultRetentionResponse",
686
+ }) as any as S.Schema<DefaultRetentionResponse>;
687
+
688
+ export interface GetServiceStatusRequest {
689
+ /** STACKIT project ID */
690
+ projectId: string;
691
+ /** STACKIT Region */
692
+ region: string;
693
+ }
694
+ export const GetServiceStatusRequest = /*@__PURE__*/ S.suspend(() =>
695
+ S.Struct({
696
+ projectId: S.String.pipe(T.Label()),
697
+ region: S.String.pipe(T.Label()),
698
+ }).pipe(
699
+ T.Http({
700
+ method: "GET",
701
+ uri: "/v2/project/{projectId}/regions/{region}",
702
+ code: 200,
703
+ baseUrl: "https://object-storage.api.stackit.cloud",
704
+ }),
705
+ ),
706
+ ).annotate({
707
+ identifier: "GetServiceStatusRequest",
708
+ }) as any as S.Schema<GetServiceStatusRequest>;
709
+
710
+ export interface ListAccessKeysRequest {
711
+ /** STACKIT project ID */
712
+ projectId: string;
713
+ /** STACKIT Region */
714
+ region: string;
715
+ credentials_group?: string;
716
+ }
717
+ export const ListAccessKeysRequest = /*@__PURE__*/ S.suspend(() =>
718
+ S.Struct({
719
+ projectId: S.String.pipe(T.Label()),
720
+ region: S.String.pipe(T.Label()),
721
+ credentials_group: S.optional(S.String.pipe(T.Query("credentials-group"))),
722
+ }).pipe(
723
+ T.Http({
724
+ method: "GET",
725
+ uri: "/v2/project/{projectId}/regions/{region}/access-keys",
726
+ code: 200,
727
+ baseUrl: "https://object-storage.api.stackit.cloud",
728
+ }),
729
+ ),
730
+ ).annotate({
731
+ identifier: "ListAccessKeysRequest",
732
+ }) as any as S.Schema<ListAccessKeysRequest>;
733
+
734
+ export interface AccessKey {
735
+ displayName: string;
736
+ expires: string | null;
737
+ /** Identifies the pair of access key and secret access key for deletion */
738
+ keyId: string;
739
+ }
740
+ export const AccessKey = /*@__PURE__*/ S.suspend(() =>
741
+ S.Struct({
742
+ displayName: S.String,
743
+ expires: S.NullOr(S.String),
744
+ keyId: S.String,
745
+ }),
746
+ ).annotate({ identifier: "AccessKey" }) as any as S.Schema<AccessKey>;
747
+
748
+ export type ListAccessKeysResponseAccessKeysList = Array<AccessKey>;
749
+ export const ListAccessKeysResponseAccessKeysList = /*@__PURE__*/ S.Array(
750
+ AccessKey,
751
+ ) as any as S.Schema<ListAccessKeysResponseAccessKeysList>;
752
+
753
+ export interface ListAccessKeysResponse {
754
+ accessKeys: ListAccessKeysResponseAccessKeysList;
755
+ /** Project ID */
756
+ project: string;
757
+ }
758
+ export const ListAccessKeysResponse = /*@__PURE__*/ S.suspend(() =>
759
+ S.Struct({
760
+ accessKeys: ListAccessKeysResponseAccessKeysList,
761
+ project: S.String,
762
+ }),
763
+ ).annotate({
764
+ identifier: "ListAccessKeysResponse",
765
+ }) as any as S.Schema<ListAccessKeysResponse>;
766
+
767
+ export interface ListBucketsRequest {
768
+ /** STACKIT project ID */
769
+ projectId: string;
770
+ /** STACKIT Region */
771
+ region: string;
772
+ }
773
+ export const ListBucketsRequest = /*@__PURE__*/ S.suspend(() =>
774
+ S.Struct({
775
+ projectId: S.String.pipe(T.Label()),
776
+ region: S.String.pipe(T.Label()),
777
+ }).pipe(
778
+ T.Http({
779
+ method: "GET",
780
+ uri: "/v2/project/{projectId}/regions/{region}/buckets",
781
+ code: 200,
782
+ baseUrl: "https://object-storage.api.stackit.cloud",
783
+ }),
784
+ ),
785
+ ).annotate({
786
+ identifier: "ListBucketsRequest",
787
+ }) as any as S.Schema<ListBucketsRequest>;
788
+
789
+ export type ListBucketsResponseBucketsList = Array<Bucket>;
790
+ export const ListBucketsResponseBucketsList = /*@__PURE__*/ S.Array(
791
+ Bucket,
792
+ ) as any as S.Schema<ListBucketsResponseBucketsList>;
793
+
794
+ export interface ListBucketsResponse {
795
+ buckets: ListBucketsResponseBucketsList;
796
+ /** Project ID */
797
+ project: string;
798
+ }
799
+ export const ListBucketsResponse = /*@__PURE__*/ S.suspend(() =>
800
+ S.Struct({
801
+ buckets: ListBucketsResponseBucketsList,
802
+ project: S.String,
803
+ }),
804
+ ).annotate({
805
+ identifier: "ListBucketsResponse",
806
+ }) as any as S.Schema<ListBucketsResponse>;
807
+
808
+ export interface ListCredentialsGroupsRequest {
809
+ /** STACKIT project ID */
810
+ projectId: string;
811
+ /** STACKIT Region */
812
+ region: string;
813
+ }
814
+ export const ListCredentialsGroupsRequest = /*@__PURE__*/ S.suspend(() =>
815
+ S.Struct({
816
+ projectId: S.String.pipe(T.Label()),
817
+ region: S.String.pipe(T.Label()),
818
+ }).pipe(
819
+ T.Http({
820
+ method: "GET",
821
+ uri: "/v2/project/{projectId}/regions/{region}/credentials-groups",
822
+ code: 200,
823
+ baseUrl: "https://object-storage.api.stackit.cloud",
824
+ }),
825
+ ),
826
+ ).annotate({
827
+ identifier: "ListCredentialsGroupsRequest",
828
+ }) as any as S.Schema<ListCredentialsGroupsRequest>;
829
+
830
+ export type ListCredentialsGroupsResponseCredentialsGroupsList =
831
+ Array<CredentialsGroup>;
832
+ export const ListCredentialsGroupsResponseCredentialsGroupsList =
833
+ /*@__PURE__*/ S.Array(
834
+ CredentialsGroup,
835
+ ) as any as S.Schema<ListCredentialsGroupsResponseCredentialsGroupsList>;
836
+
837
+ export interface ListCredentialsGroupsResponse {
838
+ credentialsGroups: ListCredentialsGroupsResponseCredentialsGroupsList;
839
+ /** Project ID */
840
+ project: string;
841
+ }
842
+ export const ListCredentialsGroupsResponse = /*@__PURE__*/ S.suspend(() =>
843
+ S.Struct({
844
+ credentialsGroups: ListCredentialsGroupsResponseCredentialsGroupsList,
845
+ project: S.String,
846
+ }),
847
+ ).annotate({
848
+ identifier: "ListCredentialsGroupsResponse",
849
+ }) as any as S.Schema<ListCredentialsGroupsResponse>;
850
+
851
+ export interface SetDefaultRetentionRequest {
852
+ /** STACKIT project ID */
853
+ projectId: string;
854
+ /** STACKIT Region */
855
+ region: string;
856
+ /** The name has to be dns-conform. */
857
+ bucketName: string;
858
+ /** Retention period in days */
859
+ days: number;
860
+ mode: RetentionMode | (string & {});
861
+ }
862
+ export const SetDefaultRetentionRequest = /*@__PURE__*/ S.suspend(() =>
863
+ S.Struct({
864
+ projectId: S.String.pipe(T.Label()),
865
+ region: S.String.pipe(T.Label()),
866
+ bucketName: S.String.pipe(T.Label()),
867
+ days: S.Number,
868
+ mode: RetentionMode,
869
+ }).pipe(
870
+ T.Http({
871
+ method: "PUT",
872
+ uri: "/v2/project/{projectId}/regions/{region}/bucket/{bucketName}/default-retention",
873
+ code: 200,
874
+ baseUrl: "https://object-storage.api.stackit.cloud",
875
+ }),
876
+ ),
877
+ ).annotate({
878
+ identifier: "SetDefaultRetentionRequest",
879
+ }) as any as S.Schema<SetDefaultRetentionRequest>;
880
+
881
+ export type CreateAccessKeyError =
882
+ | Forbidden
883
+ | NotFound
884
+ | UnprocessableEntity
885
+ | StackitOpError;
886
+ /** Create Access Key Create an access key for the given project. */
887
+ export const createAccessKey: API.OperationMethod<
888
+ CreateAccessKeyRequest,
889
+ CreateAccessKeyResponse,
890
+ CreateAccessKeyError,
891
+ StackitOpContext
892
+ > = /*@__PURE__*/ API.make(() => ({
893
+ input: CreateAccessKeyRequest,
894
+ output: CreateAccessKeyResponse,
895
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
896
+ protocol: StackitProtocol,
897
+ retry: Retry.Retry,
898
+ }));
899
+
900
+ export type CreateBucketError =
901
+ | NotFound
902
+ | Conflict
903
+ | UnprocessableEntity
904
+ | StackitOpError;
905
+ /** Create Bucket Create a bucket for the given project. Bucket with the same name cannot already exists in the object storage */
906
+ export const createBucket: API.OperationMethod<
907
+ CreateBucketRequest,
908
+ CreateBucketResponse,
909
+ CreateBucketError,
910
+ StackitOpContext
911
+ > = /*@__PURE__*/ API.make(() => ({
912
+ input: CreateBucketRequest,
913
+ output: CreateBucketResponse,
914
+ errors: [NotFound, Conflict, UnprocessableEntity, UnknownStackitError],
915
+ protocol: StackitProtocol,
916
+ retry: Retry.Retry,
917
+ }));
918
+
919
+ export type CreateComplianceLockError = NotFound | Conflict | StackitOpError;
920
+ /** Create Compliance Lock Enable compliance lock for a project. */
921
+ export const createComplianceLock: API.OperationMethod<
922
+ CreateComplianceLockRequest,
923
+ ComplianceLockResponse,
924
+ CreateComplianceLockError,
925
+ StackitOpContext
926
+ > = /*@__PURE__*/ API.make(() => ({
927
+ input: CreateComplianceLockRequest,
928
+ output: ComplianceLockResponse,
929
+ errors: [NotFound, Conflict, UnknownStackitError],
930
+ protocol: StackitProtocol,
931
+ retry: Retry.Retry,
932
+ }));
933
+
934
+ export type CreateCredentialsGroupError =
935
+ | Forbidden
936
+ | NotFound
937
+ | Conflict
938
+ | UnprocessableEntity
939
+ | StackitOpError;
940
+ /** Create Credentials Group */
941
+ export const createCredentialsGroup: API.OperationMethod<
942
+ CreateCredentialsGroupRequest,
943
+ CreateCredentialsGroupResponse,
944
+ CreateCredentialsGroupError,
945
+ StackitOpContext
946
+ > = /*@__PURE__*/ API.make(() => ({
947
+ input: CreateCredentialsGroupRequest,
948
+ output: CreateCredentialsGroupResponse,
949
+ errors: [
950
+ Forbidden,
951
+ NotFound,
952
+ Conflict,
953
+ UnprocessableEntity,
954
+ UnknownStackitError,
955
+ ],
956
+ protocol: StackitProtocol,
957
+ retry: Retry.Retry,
958
+ }));
959
+
960
+ export type DeleteAccessKeyError =
961
+ | Forbidden
962
+ | NotFound
963
+ | UnprocessableEntity
964
+ | StackitOpError;
965
+ /** Delete Access Key Delete an access key from the given project. */
966
+ export const deleteAccessKey: API.OperationMethod<
967
+ DeleteAccessKeyRequest,
968
+ DeleteAccessKeyResponse,
969
+ DeleteAccessKeyError,
970
+ StackitOpContext
971
+ > = /*@__PURE__*/ API.make(() => ({
972
+ input: DeleteAccessKeyRequest,
973
+ output: DeleteAccessKeyResponse,
974
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
975
+ protocol: StackitProtocol,
976
+ retry: Retry.Retry,
977
+ }));
978
+
979
+ export type DeleteBucketError = NotFound | UnprocessableEntity | StackitOpError;
980
+ /** Delete Bucket Delete a bucket from the given project. */
981
+ export const deleteBucket: API.OperationMethod<
982
+ DeleteBucketRequest,
983
+ DeleteBucketResponse,
984
+ DeleteBucketError,
985
+ StackitOpContext
986
+ > = /*@__PURE__*/ API.make(() => ({
987
+ input: DeleteBucketRequest,
988
+ output: DeleteBucketResponse,
989
+ errors: [NotFound, UnprocessableEntity, UnknownStackitError],
990
+ protocol: StackitProtocol,
991
+ retry: Retry.Retry,
992
+ }));
993
+
994
+ export type DeleteComplianceLockError = NotFound | Conflict | StackitOpError;
995
+ /** Delete Compliance Lock Remove compliance lock from a project. */
996
+ export const deleteComplianceLock: API.OperationMethod<
997
+ DeleteComplianceLockRequest,
998
+ ComplianceLockResponse,
999
+ DeleteComplianceLockError,
1000
+ StackitOpContext
1001
+ > = /*@__PURE__*/ API.make(() => ({
1002
+ input: DeleteComplianceLockRequest,
1003
+ output: ComplianceLockResponse,
1004
+ errors: [NotFound, Conflict, UnknownStackitError],
1005
+ protocol: StackitProtocol,
1006
+ retry: Retry.Retry,
1007
+ }));
1008
+
1009
+ export type DeleteCredentialsGroupError =
1010
+ | NotFound
1011
+ | UnprocessableEntity
1012
+ | StackitOpError;
1013
+ /** Delete Credentials Group Delete a credentials group inside a project if the project exists and no valid access keys are left in the group. */
1014
+ export const deleteCredentialsGroup: API.OperationMethod<
1015
+ DeleteCredentialsGroupRequest,
1016
+ DeleteCredentialsGroupResponse,
1017
+ DeleteCredentialsGroupError,
1018
+ StackitOpContext
1019
+ > = /*@__PURE__*/ API.make(() => ({
1020
+ input: DeleteCredentialsGroupRequest,
1021
+ output: DeleteCredentialsGroupResponse,
1022
+ errors: [NotFound, UnprocessableEntity, UnknownStackitError],
1023
+ protocol: StackitProtocol,
1024
+ retry: Retry.Retry,
1025
+ }));
1026
+
1027
+ export type DeleteDefaultRetentionError = NotFound | Conflict | StackitOpError;
1028
+ /** Delete Default Retention Remove the default retention from a bucket. Object Lock itself remains enabled. */
1029
+ export const deleteDefaultRetention: API.OperationMethod<
1030
+ DeleteDefaultRetentionRequest,
1031
+ DeleteDefaultRetentionResponse,
1032
+ DeleteDefaultRetentionError,
1033
+ StackitOpContext
1034
+ > = /*@__PURE__*/ API.make(() => ({
1035
+ input: DeleteDefaultRetentionRequest,
1036
+ output: DeleteDefaultRetentionResponse,
1037
+ errors: [NotFound, Conflict, UnknownStackitError],
1038
+ protocol: StackitProtocol,
1039
+ retry: Retry.Retry,
1040
+ }));
1041
+
1042
+ export type DisableServiceError =
1043
+ | BadRequest
1044
+ | Forbidden
1045
+ | NotFound
1046
+ | Conflict
1047
+ | UnprocessableEntity
1048
+ | StackitOpError;
1049
+ /** Delete Project Delete the given project */
1050
+ export const disableService: API.OperationMethod<
1051
+ DisableServiceRequest,
1052
+ ProjectStatus,
1053
+ DisableServiceError,
1054
+ StackitOpContext
1055
+ > = /*@__PURE__*/ API.make(() => ({
1056
+ input: DisableServiceRequest,
1057
+ output: ProjectStatus,
1058
+ errors: [
1059
+ BadRequest,
1060
+ Forbidden,
1061
+ NotFound,
1062
+ Conflict,
1063
+ UnprocessableEntity,
1064
+ UnknownStackitError,
1065
+ ],
1066
+ protocol: StackitProtocol,
1067
+ retry: Retry.Retry,
1068
+ }));
1069
+
1070
+ export type EnableServiceError =
1071
+ | Forbidden
1072
+ | Conflict
1073
+ | UnprocessableEntity
1074
+ | StackitOpError;
1075
+ /** Create Project Create a project. Creation will also be successful if the project already exists, but will not create a duplicate */
1076
+ export const enableService: API.OperationMethod<
1077
+ EnableServiceRequest,
1078
+ ProjectStatus,
1079
+ EnableServiceError,
1080
+ StackitOpContext
1081
+ > = /*@__PURE__*/ API.make(() => ({
1082
+ input: EnableServiceRequest,
1083
+ output: ProjectStatus,
1084
+ errors: [Forbidden, Conflict, UnprocessableEntity, UnknownStackitError],
1085
+ protocol: StackitProtocol,
1086
+ retry: Retry.Retry,
1087
+ }));
1088
+
1089
+ export type GetBucketError =
1090
+ | Forbidden
1091
+ | NotFound
1092
+ | UnprocessableEntity
1093
+ | StackitOpError;
1094
+ /** Get Bucket Get information for the given bucket in the project. */
1095
+ export const getBucket: API.OperationMethod<
1096
+ GetBucketRequest,
1097
+ GetBucketResponse,
1098
+ GetBucketError,
1099
+ StackitOpContext
1100
+ > = /*@__PURE__*/ API.make(() => ({
1101
+ input: GetBucketRequest,
1102
+ output: GetBucketResponse,
1103
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
1104
+ protocol: StackitProtocol,
1105
+ retry: Retry.Retry,
1106
+ }));
1107
+
1108
+ export type GetComplianceLockError = NotFound | StackitOpError;
1109
+ /** Get Compliance Lock Get the project-level compliance lock. */
1110
+ export const getComplianceLock: API.OperationMethod<
1111
+ GetComplianceLockRequest,
1112
+ ComplianceLockResponse,
1113
+ GetComplianceLockError,
1114
+ StackitOpContext
1115
+ > = /*@__PURE__*/ API.make(() => ({
1116
+ input: GetComplianceLockRequest,
1117
+ output: ComplianceLockResponse,
1118
+ errors: [NotFound, UnknownStackitError],
1119
+ protocol: StackitProtocol,
1120
+ retry: Retry.Retry,
1121
+ }));
1122
+
1123
+ export type GetCredentialsGroupError =
1124
+ | NotFound
1125
+ | UnprocessableEntity
1126
+ | StackitOpError;
1127
+ /** Get Credentials Group Get the details of a single credentials group */
1128
+ export const getCredentialsGroup: API.OperationMethod<
1129
+ GetCredentialsGroupRequest,
1130
+ GetCredentialsGroupResponse,
1131
+ GetCredentialsGroupError,
1132
+ StackitOpContext
1133
+ > = /*@__PURE__*/ API.make(() => ({
1134
+ input: GetCredentialsGroupRequest,
1135
+ output: GetCredentialsGroupResponse,
1136
+ errors: [NotFound, UnprocessableEntity, UnknownStackitError],
1137
+ protocol: StackitProtocol,
1138
+ retry: Retry.Retry,
1139
+ }));
1140
+
1141
+ export type GetDefaultRetentionError = NotFound | Conflict | StackitOpError;
1142
+ /** Get Default Retention Get the default retention configuration for a bucket. */
1143
+ export const getDefaultRetention: API.OperationMethod<
1144
+ GetDefaultRetentionRequest,
1145
+ DefaultRetentionResponse,
1146
+ GetDefaultRetentionError,
1147
+ StackitOpContext
1148
+ > = /*@__PURE__*/ API.make(() => ({
1149
+ input: GetDefaultRetentionRequest,
1150
+ output: DefaultRetentionResponse,
1151
+ errors: [NotFound, Conflict, UnknownStackitError],
1152
+ protocol: StackitProtocol,
1153
+ retry: Retry.Retry,
1154
+ }));
1155
+
1156
+ export type GetServiceStatusError =
1157
+ | Forbidden
1158
+ | NotFound
1159
+ | UnprocessableEntity
1160
+ | StackitOpError;
1161
+ /** Get Project Get project details. */
1162
+ export const getServiceStatus: API.OperationMethod<
1163
+ GetServiceStatusRequest,
1164
+ ProjectStatus,
1165
+ GetServiceStatusError,
1166
+ StackitOpContext
1167
+ > = /*@__PURE__*/ API.make(() => ({
1168
+ input: GetServiceStatusRequest,
1169
+ output: ProjectStatus,
1170
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
1171
+ protocol: StackitProtocol,
1172
+ retry: Retry.Retry,
1173
+ }));
1174
+
1175
+ export type ListAccessKeysError =
1176
+ | Forbidden
1177
+ | NotFound
1178
+ | UnprocessableEntity
1179
+ | StackitOpError;
1180
+ /** Get Access Keys Get a list of access keys for the given project. */
1181
+ export const listAccessKeys: API.OperationMethod<
1182
+ ListAccessKeysRequest,
1183
+ ListAccessKeysResponse,
1184
+ ListAccessKeysError,
1185
+ StackitOpContext
1186
+ > = /*@__PURE__*/ API.make(() => ({
1187
+ input: ListAccessKeysRequest,
1188
+ output: ListAccessKeysResponse,
1189
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
1190
+ protocol: StackitProtocol,
1191
+ retry: Retry.Retry,
1192
+ }));
1193
+
1194
+ export type ListBucketsError =
1195
+ | Forbidden
1196
+ | NotFound
1197
+ | UnprocessableEntity
1198
+ | StackitOpError;
1199
+ /** Get Buckets Get the list of all buckets in the given project */
1200
+ export const listBuckets: API.OperationMethod<
1201
+ ListBucketsRequest,
1202
+ ListBucketsResponse,
1203
+ ListBucketsError,
1204
+ StackitOpContext
1205
+ > = /*@__PURE__*/ API.make(() => ({
1206
+ input: ListBucketsRequest,
1207
+ output: ListBucketsResponse,
1208
+ errors: [Forbidden, NotFound, UnprocessableEntity, UnknownStackitError],
1209
+ protocol: StackitProtocol,
1210
+ retry: Retry.Retry,
1211
+ }));
1212
+
1213
+ export type ListCredentialsGroupsError =
1214
+ | NotFound
1215
+ | UnprocessableEntity
1216
+ | StackitOpError;
1217
+ /** Get Credentials Groups Get credentials groups inside a project if the project exists */
1218
+ export const listCredentialsGroups: API.OperationMethod<
1219
+ ListCredentialsGroupsRequest,
1220
+ ListCredentialsGroupsResponse,
1221
+ ListCredentialsGroupsError,
1222
+ StackitOpContext
1223
+ > = /*@__PURE__*/ API.make(() => ({
1224
+ input: ListCredentialsGroupsRequest,
1225
+ output: ListCredentialsGroupsResponse,
1226
+ errors: [NotFound, UnprocessableEntity, UnknownStackitError],
1227
+ protocol: StackitProtocol,
1228
+ retry: Retry.Retry,
1229
+ }));
1230
+
1231
+ export type SetDefaultRetentionError =
1232
+ | BadRequest
1233
+ | NotFound
1234
+ | Conflict
1235
+ | StackitOpError;
1236
+ /** Update Default Retention Set or update the default retention for a bucket. */
1237
+ export const setDefaultRetention: API.OperationMethod<
1238
+ SetDefaultRetentionRequest,
1239
+ DefaultRetentionResponse,
1240
+ SetDefaultRetentionError,
1241
+ StackitOpContext
1242
+ > = /*@__PURE__*/ API.make(() => ({
1243
+ input: SetDefaultRetentionRequest,
1244
+ output: DefaultRetentionResponse,
1245
+ errors: [BadRequest, NotFound, Conflict, UnknownStackitError],
1246
+ protocol: StackitProtocol,
1247
+ retry: Retry.Retry,
1248
+ }));