@distilled.cloud/stackit 0.0.0-stage → 1.0.0-rc.14

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