@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,740 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-stackit). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as C from "@distilled.cloud/core/category";
5
+ import * as T from "../traits.ts";
6
+ import {
7
+ StackitProtocol,
8
+ type StackitOpError,
9
+ type StackitOpContext,
10
+ } from "../protocol.ts";
11
+ import { UnknownStackitError } from "../errors.ts";
12
+ import * as Retry from "../retry.ts";
13
+
14
+ export type { StackitOpError, StackitOpContext };
15
+
16
+ export class BadRequest
17
+ extends /*@__PURE__*/ T.applyErrorMatchers(
18
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
19
+ code: S.Number,
20
+ message: S.String,
21
+ }).pipe(C.withBadRequestError),
22
+ [{ status: 400 }],
23
+ ) {}
24
+
25
+ export class Forbidden
26
+ extends /*@__PURE__*/ T.applyErrorMatchers(
27
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
28
+ code: S.Number,
29
+ message: S.String,
30
+ }).pipe(C.withAuthError),
31
+ [{ status: 403 }],
32
+ ) {}
33
+
34
+ export interface Member {
35
+ role: string;
36
+ subject: string;
37
+ }
38
+ export const Member = /*@__PURE__*/ S.suspend(() =>
39
+ S.Struct({
40
+ role: S.String,
41
+ subject: S.String,
42
+ }),
43
+ ).annotate({ identifier: "Member" }) as any as S.Schema<Member>;
44
+
45
+ export type AddMembersRequestMembersList = Array<Member>;
46
+ export const AddMembersRequestMembersList = /*@__PURE__*/ S.Array(
47
+ Member,
48
+ ) as any as S.Schema<AddMembersRequestMembersList>;
49
+
50
+ export interface AddMembersRequest {
51
+ resourceId: string;
52
+ members: AddMembersRequestMembersList;
53
+ resourceType: string;
54
+ }
55
+ export const AddMembersRequest = /*@__PURE__*/ S.suspend(() =>
56
+ S.Struct({
57
+ resourceId: S.String.pipe(T.Label()),
58
+ members: AddMembersRequestMembersList,
59
+ resourceType: S.String,
60
+ }).pipe(
61
+ T.Http({
62
+ method: "PATCH",
63
+ uri: "/v2/{resourceId}/members",
64
+ code: 200,
65
+ baseUrl: "https://authorization.api.stackit.cloud",
66
+ }),
67
+ ),
68
+ ).annotate({
69
+ identifier: "AddMembersRequest",
70
+ }) as any as S.Schema<AddMembersRequest>;
71
+
72
+ export type MembersResponseMembersList = Array<Member>;
73
+ export const MembersResponseMembersList = /*@__PURE__*/ S.Array(
74
+ Member,
75
+ ) as any as S.Schema<MembersResponseMembersList>;
76
+
77
+ export interface Zookie {
78
+ zookie?: string;
79
+ }
80
+ export const Zookie = /*@__PURE__*/ S.suspend(() =>
81
+ S.Struct({
82
+ zookie: S.optional(S.String),
83
+ }),
84
+ ).annotate({ identifier: "Zookie" }) as any as S.Schema<Zookie>;
85
+
86
+ export interface MembersResponse {
87
+ members: MembersResponseMembersList;
88
+ resourceId: string;
89
+ resourceType: string;
90
+ writtenAt?: Zookie;
91
+ }
92
+ export const MembersResponse = /*@__PURE__*/ S.suspend(() =>
93
+ S.Struct({
94
+ members: MembersResponseMembersList,
95
+ resourceId: S.String,
96
+ resourceType: S.String,
97
+ writtenAt: S.optional(Zookie),
98
+ }),
99
+ ).annotate({
100
+ identifier: "MembersResponse",
101
+ }) as any as S.Schema<MembersResponse>;
102
+
103
+ export interface PermissionRequest {
104
+ name: string;
105
+ }
106
+ export const PermissionRequest = /*@__PURE__*/ S.suspend(() =>
107
+ S.Struct({
108
+ name: S.String,
109
+ }),
110
+ ).annotate({
111
+ identifier: "PermissionRequest",
112
+ }) as any as S.Schema<PermissionRequest>;
113
+
114
+ export type AddRoleRequestPermissionsList = Array<PermissionRequest>;
115
+ export const AddRoleRequestPermissionsList = /*@__PURE__*/ S.Array(
116
+ PermissionRequest,
117
+ ) as any as S.Schema<AddRoleRequestPermissionsList>;
118
+
119
+ export interface AddRoleRequest {
120
+ resourceType: string;
121
+ resourceId: string;
122
+ description: string;
123
+ name: string;
124
+ permissions: AddRoleRequestPermissionsList;
125
+ }
126
+ export const AddRoleRequest = /*@__PURE__*/ S.suspend(() =>
127
+ S.Struct({
128
+ resourceType: S.String.pipe(T.Label()),
129
+ resourceId: S.String.pipe(T.Label()),
130
+ description: S.String,
131
+ name: S.String,
132
+ permissions: AddRoleRequestPermissionsList,
133
+ }).pipe(
134
+ T.Http({
135
+ method: "POST",
136
+ uri: "/v2/{resourceType}/{resourceId}/roles",
137
+ code: 200,
138
+ baseUrl: "https://authorization.api.stackit.cloud",
139
+ }),
140
+ ),
141
+ ).annotate({ identifier: "AddRoleRequest" }) as any as S.Schema<AddRoleRequest>;
142
+
143
+ export interface Permission {
144
+ description: string;
145
+ name: string;
146
+ }
147
+ export const Permission = /*@__PURE__*/ S.suspend(() =>
148
+ S.Struct({
149
+ description: S.String,
150
+ name: S.String,
151
+ }),
152
+ ).annotate({ identifier: "Permission" }) as any as S.Schema<Permission>;
153
+
154
+ export type RolePermissionsList = Array<Permission>;
155
+ export const RolePermissionsList = /*@__PURE__*/ S.Array(
156
+ Permission,
157
+ ) as any as S.Schema<RolePermissionsList>;
158
+
159
+ export interface Role {
160
+ description: string;
161
+ etag?: string;
162
+ id?: string;
163
+ name: string;
164
+ permissions: RolePermissionsList;
165
+ }
166
+ export const Role = /*@__PURE__*/ S.suspend(() =>
167
+ S.Struct({
168
+ description: S.String,
169
+ etag: S.optional(S.String),
170
+ id: S.optional(S.String),
171
+ name: S.String,
172
+ permissions: RolePermissionsList,
173
+ }),
174
+ ).annotate({ identifier: "Role" }) as any as S.Schema<Role>;
175
+
176
+ export interface AddCustomRoleResponse {
177
+ resourceId: string;
178
+ resourceType: string;
179
+ role: Role;
180
+ }
181
+ export const AddCustomRoleResponse = /*@__PURE__*/ S.suspend(() =>
182
+ S.Struct({
183
+ resourceId: S.String,
184
+ resourceType: S.String,
185
+ role: Role,
186
+ }),
187
+ ).annotate({
188
+ identifier: "AddCustomRoleResponse",
189
+ }) as any as S.Schema<AddCustomRoleResponse>;
190
+
191
+ export interface DeleteRoleRequest {
192
+ resourceType: string;
193
+ resourceId: string;
194
+ roleId: string;
195
+ etag?: string;
196
+ }
197
+ export const DeleteRoleRequest = /*@__PURE__*/ S.suspend(() =>
198
+ S.Struct({
199
+ resourceType: S.String.pipe(T.Label()),
200
+ resourceId: S.String.pipe(T.Label()),
201
+ roleId: S.String.pipe(T.Label()),
202
+ etag: S.optional(S.String.pipe(T.Query())),
203
+ }).pipe(
204
+ T.Http({
205
+ method: "DELETE",
206
+ uri: "/v2/{resourceType}/{resourceId}/roles/{roleId}",
207
+ code: 200,
208
+ baseUrl: "https://authorization.api.stackit.cloud",
209
+ }),
210
+ ),
211
+ ).annotate({
212
+ identifier: "DeleteRoleRequest",
213
+ }) as any as S.Schema<DeleteRoleRequest>;
214
+
215
+ export interface DeleteRoleResponse {
216
+ writtenAt: Zookie;
217
+ }
218
+ export const DeleteRoleResponse = /*@__PURE__*/ S.suspend(() =>
219
+ S.Struct({
220
+ writtenAt: Zookie,
221
+ }),
222
+ ).annotate({
223
+ identifier: "DeleteRoleResponse",
224
+ }) as any as S.Schema<DeleteRoleResponse>;
225
+
226
+ export interface GetRoleRequest {
227
+ resourceType: string;
228
+ resourceId: string;
229
+ roleId: string;
230
+ }
231
+ export const GetRoleRequest = /*@__PURE__*/ S.suspend(() =>
232
+ S.Struct({
233
+ resourceType: S.String.pipe(T.Label()),
234
+ resourceId: S.String.pipe(T.Label()),
235
+ roleId: S.String.pipe(T.Label()),
236
+ }).pipe(
237
+ T.Http({
238
+ method: "GET",
239
+ uri: "/v2/{resourceType}/{resourceId}/roles/{roleId}",
240
+ code: 200,
241
+ baseUrl: "https://authorization.api.stackit.cloud",
242
+ }),
243
+ ),
244
+ ).annotate({ identifier: "GetRoleRequest" }) as any as S.Schema<GetRoleRequest>;
245
+
246
+ export interface GetRoleResponse {
247
+ resourceId: string;
248
+ resourceType: string;
249
+ role: Role;
250
+ }
251
+ export const GetRoleResponse = /*@__PURE__*/ S.suspend(() =>
252
+ S.Struct({
253
+ resourceId: S.String,
254
+ resourceType: S.String,
255
+ role: Role,
256
+ }),
257
+ ).annotate({
258
+ identifier: "GetRoleResponse",
259
+ }) as any as S.Schema<GetRoleResponse>;
260
+
261
+ export interface ListMembersRequest {
262
+ resourceType: string;
263
+ resourceId: string;
264
+ subject?: string;
265
+ }
266
+ export const ListMembersRequest = /*@__PURE__*/ S.suspend(() =>
267
+ S.Struct({
268
+ resourceType: S.String.pipe(T.Label()),
269
+ resourceId: S.String.pipe(T.Label()),
270
+ subject: S.optional(S.String.pipe(T.Query())),
271
+ }).pipe(
272
+ T.Http({
273
+ method: "GET",
274
+ uri: "/v2/{resourceType}/{resourceId}/members",
275
+ code: 200,
276
+ baseUrl: "https://authorization.api.stackit.cloud",
277
+ }),
278
+ ),
279
+ ).annotate({
280
+ identifier: "ListMembersRequest",
281
+ }) as any as S.Schema<ListMembersRequest>;
282
+
283
+ export type ListMembersResponseMembersList = Array<Member>;
284
+ export const ListMembersResponseMembersList = /*@__PURE__*/ S.Array(
285
+ Member,
286
+ ) as any as S.Schema<ListMembersResponseMembersList>;
287
+
288
+ export interface ListMembersResponse {
289
+ members: ListMembersResponseMembersList;
290
+ resourceId: string;
291
+ resourceType: string;
292
+ }
293
+ export const ListMembersResponse = /*@__PURE__*/ S.suspend(() =>
294
+ S.Struct({
295
+ members: ListMembersResponseMembersList,
296
+ resourceId: S.String,
297
+ resourceType: S.String,
298
+ }),
299
+ ).annotate({
300
+ identifier: "ListMembersResponse",
301
+ }) as any as S.Schema<ListMembersResponse>;
302
+
303
+ export interface ListPermissionsRequest {
304
+ resourceType?: string;
305
+ }
306
+ export const ListPermissionsRequest = /*@__PURE__*/ S.suspend(() =>
307
+ S.Struct({
308
+ resourceType: S.optional(S.String.pipe(T.Query())),
309
+ }).pipe(
310
+ T.Http({
311
+ method: "GET",
312
+ uri: "/v2/permissions",
313
+ code: 200,
314
+ baseUrl: "https://authorization.api.stackit.cloud",
315
+ }),
316
+ ),
317
+ ).annotate({
318
+ identifier: "ListPermissionsRequest",
319
+ }) as any as S.Schema<ListPermissionsRequest>;
320
+
321
+ export type ListPermissionsResponsePermissionsList = Array<Permission>;
322
+ export const ListPermissionsResponsePermissionsList = /*@__PURE__*/ S.Array(
323
+ Permission,
324
+ ) as any as S.Schema<ListPermissionsResponsePermissionsList>;
325
+
326
+ export interface ListPermissionsResponse {
327
+ permissions: ListPermissionsResponsePermissionsList;
328
+ }
329
+ export const ListPermissionsResponse = /*@__PURE__*/ S.suspend(() =>
330
+ S.Struct({
331
+ permissions: ListPermissionsResponsePermissionsList,
332
+ }),
333
+ ).annotate({
334
+ identifier: "ListPermissionsResponse",
335
+ }) as any as S.Schema<ListPermissionsResponse>;
336
+
337
+ export interface ListRolesRequest {
338
+ resourceType: string;
339
+ resourceId: string;
340
+ }
341
+ export const ListRolesRequest = /*@__PURE__*/ S.suspend(() =>
342
+ S.Struct({
343
+ resourceType: S.String.pipe(T.Label()),
344
+ resourceId: S.String.pipe(T.Label()),
345
+ }).pipe(
346
+ T.Http({
347
+ method: "GET",
348
+ uri: "/v2/{resourceType}/{resourceId}/roles",
349
+ code: 200,
350
+ baseUrl: "https://authorization.api.stackit.cloud",
351
+ }),
352
+ ),
353
+ ).annotate({
354
+ identifier: "ListRolesRequest",
355
+ }) as any as S.Schema<ListRolesRequest>;
356
+
357
+ export type RolesResponseRolesList = Array<Role>;
358
+ export const RolesResponseRolesList = /*@__PURE__*/ S.Array(
359
+ Role,
360
+ ) as any as S.Schema<RolesResponseRolesList>;
361
+
362
+ export interface RolesResponse {
363
+ resourceId: string;
364
+ resourceType: string;
365
+ roles: RolesResponseRolesList;
366
+ }
367
+ export const RolesResponse = /*@__PURE__*/ S.suspend(() =>
368
+ S.Struct({
369
+ resourceId: S.String,
370
+ resourceType: S.String,
371
+ roles: RolesResponseRolesList,
372
+ }),
373
+ ).annotate({ identifier: "RolesResponse" }) as any as S.Schema<RolesResponse>;
374
+
375
+ export interface ListUserMembershipsRequest {
376
+ email: string;
377
+ resourceType?: string;
378
+ resourceId?: string;
379
+ parentResourceId?: string;
380
+ }
381
+ export const ListUserMembershipsRequest = /*@__PURE__*/ S.suspend(() =>
382
+ S.Struct({
383
+ email: S.String.pipe(T.Label()),
384
+ resourceType: S.optional(S.String.pipe(T.Query())),
385
+ resourceId: S.optional(S.String.pipe(T.Query())),
386
+ parentResourceId: S.optional(S.String.pipe(T.Query())),
387
+ }).pipe(
388
+ T.Http({
389
+ method: "GET",
390
+ uri: "/v2/users/{email}/memberships",
391
+ code: 200,
392
+ baseUrl: "https://authorization.api.stackit.cloud",
393
+ }),
394
+ ),
395
+ ).annotate({
396
+ identifier: "ListUserMembershipsRequest",
397
+ }) as any as S.Schema<ListUserMembershipsRequest>;
398
+
399
+ export interface UserMembership {
400
+ resourceId: string;
401
+ resourceType: string;
402
+ role: string;
403
+ subject: string;
404
+ }
405
+ export const UserMembership = /*@__PURE__*/ S.suspend(() =>
406
+ S.Struct({
407
+ resourceId: S.String,
408
+ resourceType: S.String,
409
+ role: S.String,
410
+ subject: S.String,
411
+ }),
412
+ ).annotate({ identifier: "UserMembership" }) as any as S.Schema<UserMembership>;
413
+
414
+ export type ListUserMembershipsResponseItemsList = Array<UserMembership>;
415
+ export const ListUserMembershipsResponseItemsList = /*@__PURE__*/ S.Array(
416
+ UserMembership,
417
+ ) as any as S.Schema<ListUserMembershipsResponseItemsList>;
418
+
419
+ export interface ListUserMembershipsResponse {
420
+ items: ListUserMembershipsResponseItemsList;
421
+ }
422
+ export const ListUserMembershipsResponse = /*@__PURE__*/ S.suspend(() =>
423
+ S.Struct({
424
+ items: ListUserMembershipsResponseItemsList,
425
+ }),
426
+ ).annotate({
427
+ identifier: "ListUserMembershipsResponse",
428
+ }) as any as S.Schema<ListUserMembershipsResponse>;
429
+
430
+ export type ListUserPermissionsRequestPermissionsList = Array<string>;
431
+ export const ListUserPermissionsRequestPermissionsList = /*@__PURE__*/ S.Array(
432
+ S.String,
433
+ ) as any as S.Schema<ListUserPermissionsRequestPermissionsList>;
434
+
435
+ export interface ListUserPermissionsRequest {
436
+ email: string;
437
+ resource?: string;
438
+ resourceType?: string;
439
+ permissions?: ListUserPermissionsRequestPermissionsList;
440
+ }
441
+ export const ListUserPermissionsRequest = /*@__PURE__*/ S.suspend(() =>
442
+ S.Struct({
443
+ email: S.String.pipe(T.Label()),
444
+ resource: S.optional(S.String.pipe(T.Query())),
445
+ resourceType: S.optional(S.String.pipe(T.Query())),
446
+ permissions: S.optional(
447
+ ListUserPermissionsRequestPermissionsList.pipe(T.Query()),
448
+ ),
449
+ }).pipe(
450
+ T.Http({
451
+ method: "GET",
452
+ uri: "/v2/users/{email}/permissions",
453
+ code: 200,
454
+ baseUrl: "https://authorization.api.stackit.cloud",
455
+ }),
456
+ ),
457
+ ).annotate({
458
+ identifier: "ListUserPermissionsRequest",
459
+ }) as any as S.Schema<ListUserPermissionsRequest>;
460
+
461
+ export type ExistingPermission = Permission;
462
+ export const ExistingPermission = Permission;
463
+
464
+ export type UserPermissionPermissionsList = Array<Permission>;
465
+ export const UserPermissionPermissionsList = /*@__PURE__*/ S.Array(
466
+ Permission,
467
+ ) as any as S.Schema<UserPermissionPermissionsList>;
468
+
469
+ export interface UserPermission {
470
+ permissions: UserPermissionPermissionsList;
471
+ resourceId: string;
472
+ resourceType: string;
473
+ }
474
+ export const UserPermission = /*@__PURE__*/ S.suspend(() =>
475
+ S.Struct({
476
+ permissions: UserPermissionPermissionsList,
477
+ resourceId: S.String,
478
+ resourceType: S.String,
479
+ }),
480
+ ).annotate({ identifier: "UserPermission" }) as any as S.Schema<UserPermission>;
481
+
482
+ export type ListUserPermissionsResponseItemsList = Array<UserPermission>;
483
+ export const ListUserPermissionsResponseItemsList = /*@__PURE__*/ S.Array(
484
+ UserPermission,
485
+ ) as any as S.Schema<ListUserPermissionsResponseItemsList>;
486
+
487
+ export interface ListUserPermissionsResponse {
488
+ items: ListUserPermissionsResponseItemsList;
489
+ }
490
+ export const ListUserPermissionsResponse = /*@__PURE__*/ S.suspend(() =>
491
+ S.Struct({
492
+ items: ListUserPermissionsResponseItemsList,
493
+ }),
494
+ ).annotate({
495
+ identifier: "ListUserPermissionsResponse",
496
+ }) as any as S.Schema<ListUserPermissionsResponse>;
497
+
498
+ export type RemoveMembersRequestMembersList = Array<Member>;
499
+ export const RemoveMembersRequestMembersList = /*@__PURE__*/ S.Array(
500
+ Member,
501
+ ) as any as S.Schema<RemoveMembersRequestMembersList>;
502
+
503
+ export interface RemoveMembersRequest {
504
+ resourceId: string;
505
+ forceRemove?: boolean;
506
+ members: RemoveMembersRequestMembersList;
507
+ resourceType: string;
508
+ }
509
+ export const RemoveMembersRequest = /*@__PURE__*/ S.suspend(() =>
510
+ S.Struct({
511
+ resourceId: S.String.pipe(T.Label()),
512
+ forceRemove: S.optional(S.Boolean),
513
+ members: RemoveMembersRequestMembersList,
514
+ resourceType: S.String,
515
+ }).pipe(
516
+ T.Http({
517
+ method: "POST",
518
+ uri: "/v2/{resourceId}/members/remove",
519
+ code: 200,
520
+ baseUrl: "https://authorization.api.stackit.cloud",
521
+ }),
522
+ ),
523
+ ).annotate({
524
+ identifier: "RemoveMembersRequest",
525
+ }) as any as S.Schema<RemoveMembersRequest>;
526
+
527
+ export type UpdateRoleRequestPermissionsList = Array<PermissionRequest>;
528
+ export const UpdateRoleRequestPermissionsList = /*@__PURE__*/ S.Array(
529
+ PermissionRequest,
530
+ ) as any as S.Schema<UpdateRoleRequestPermissionsList>;
531
+
532
+ export interface UpdateRoleRequest {
533
+ resourceType: string;
534
+ resourceId: string;
535
+ roleId: string;
536
+ description: string;
537
+ etag?: string;
538
+ name: string;
539
+ permissions: UpdateRoleRequestPermissionsList;
540
+ }
541
+ export const UpdateRoleRequest = /*@__PURE__*/ S.suspend(() =>
542
+ S.Struct({
543
+ resourceType: S.String.pipe(T.Label()),
544
+ resourceId: S.String.pipe(T.Label()),
545
+ roleId: S.String.pipe(T.Label()),
546
+ description: S.String,
547
+ etag: S.optional(S.String),
548
+ name: S.String,
549
+ permissions: UpdateRoleRequestPermissionsList,
550
+ }).pipe(
551
+ T.Http({
552
+ method: "PUT",
553
+ uri: "/v2/{resourceType}/{resourceId}/roles/{roleId}",
554
+ code: 200,
555
+ baseUrl: "https://authorization.api.stackit.cloud",
556
+ }),
557
+ ),
558
+ ).annotate({
559
+ identifier: "UpdateRoleRequest",
560
+ }) as any as S.Schema<UpdateRoleRequest>;
561
+
562
+ export interface UpdateRoleResponse {
563
+ resourceId: string;
564
+ resourceType: string;
565
+ role: Role;
566
+ }
567
+ export const UpdateRoleResponse = /*@__PURE__*/ S.suspend(() =>
568
+ S.Struct({
569
+ resourceId: S.String,
570
+ resourceType: S.String,
571
+ role: Role,
572
+ }),
573
+ ).annotate({
574
+ identifier: "UpdateRoleResponse",
575
+ }) as any as S.Schema<UpdateRoleResponse>;
576
+
577
+ export type AddMembersError = BadRequest | Forbidden | StackitOpError;
578
+ /** Add members to a resource Add members to the given resource with specified roles. */
579
+ export const addMembers: API.OperationMethod<
580
+ AddMembersRequest,
581
+ MembersResponse,
582
+ AddMembersError,
583
+ StackitOpContext
584
+ > = /*@__PURE__*/ API.make(() => ({
585
+ input: AddMembersRequest,
586
+ output: MembersResponse,
587
+ errors: [BadRequest, Forbidden, UnknownStackitError],
588
+ protocol: StackitProtocol,
589
+ retry: Retry.Retry,
590
+ }));
591
+
592
+ export type AddRoleError = BadRequest | Forbidden | StackitOpError;
593
+ /** Add a new role Add new, user specified roles to a resource, and bind permissions to them. Permissions are predefined. */
594
+ export const addRole: API.OperationMethod<
595
+ AddRoleRequest,
596
+ AddCustomRoleResponse,
597
+ AddRoleError,
598
+ StackitOpContext
599
+ > = /*@__PURE__*/ API.make(() => ({
600
+ input: AddRoleRequest,
601
+ output: AddCustomRoleResponse,
602
+ errors: [BadRequest, Forbidden, UnknownStackitError],
603
+ protocol: StackitProtocol,
604
+ retry: Retry.Retry,
605
+ }));
606
+
607
+ export type DeleteRoleError = BadRequest | Forbidden | StackitOpError;
608
+ /** Delete an existing role Delete a custom role by ID. */
609
+ export const deleteRole: API.OperationMethod<
610
+ DeleteRoleRequest,
611
+ DeleteRoleResponse,
612
+ DeleteRoleError,
613
+ StackitOpContext
614
+ > = /*@__PURE__*/ API.make(() => ({
615
+ input: DeleteRoleRequest,
616
+ output: DeleteRoleResponse,
617
+ errors: [BadRequest, Forbidden, UnknownStackitError],
618
+ protocol: StackitProtocol,
619
+ retry: Retry.Retry,
620
+ }));
621
+
622
+ export type GetRoleError = BadRequest | Forbidden | StackitOpError;
623
+ /** Get an existing role Get a custom role by ID. */
624
+ export const getRole: API.OperationMethod<
625
+ GetRoleRequest,
626
+ GetRoleResponse,
627
+ GetRoleError,
628
+ StackitOpContext
629
+ > = /*@__PURE__*/ API.make(() => ({
630
+ input: GetRoleRequest,
631
+ output: GetRoleResponse,
632
+ errors: [BadRequest, Forbidden, UnknownStackitError],
633
+ protocol: StackitProtocol,
634
+ retry: Retry.Retry,
635
+ }));
636
+
637
+ export type ListMembersError = BadRequest | Forbidden | StackitOpError;
638
+ /** Get members to a resource List members of the given resource. */
639
+ export const listMembers: API.OperationMethod<
640
+ ListMembersRequest,
641
+ ListMembersResponse,
642
+ ListMembersError,
643
+ StackitOpContext
644
+ > = /*@__PURE__*/ API.make(() => ({
645
+ input: ListMembersRequest,
646
+ output: ListMembersResponse,
647
+ errors: [BadRequest, Forbidden, UnknownStackitError],
648
+ protocol: StackitProtocol,
649
+ retry: Retry.Retry,
650
+ }));
651
+
652
+ export type ListPermissionsError = BadRequest | Forbidden | StackitOpError;
653
+ /** Get available permissions Get available permissions */
654
+ export const listPermissions: API.OperationMethod<
655
+ ListPermissionsRequest,
656
+ ListPermissionsResponse,
657
+ ListPermissionsError,
658
+ StackitOpContext
659
+ > = /*@__PURE__*/ API.make(() => ({
660
+ input: ListPermissionsRequest,
661
+ output: ListPermissionsResponse,
662
+ errors: [BadRequest, Forbidden, UnknownStackitError],
663
+ protocol: StackitProtocol,
664
+ retry: Retry.Retry,
665
+ }));
666
+
667
+ export type ListRolesError = BadRequest | Forbidden | StackitOpError;
668
+ /** Get roles and permissions of a resource Get roles and permissions of a resource */
669
+ export const listRoles: API.OperationMethod<
670
+ ListRolesRequest,
671
+ RolesResponse,
672
+ ListRolesError,
673
+ StackitOpContext
674
+ > = /*@__PURE__*/ API.make(() => ({
675
+ input: ListRolesRequest,
676
+ output: RolesResponse,
677
+ errors: [BadRequest, Forbidden, UnknownStackitError],
678
+ protocol: StackitProtocol,
679
+ retry: Retry.Retry,
680
+ }));
681
+
682
+ export type ListUserMembershipsError = BadRequest | Forbidden | StackitOpError;
683
+ /** List memberships of a user List memberships of a user. An administrative access is needed to list any user's memberships, while the user can do it on his/her own email. You can use filters to scope the request to a project/folder/organization. In this case -if caller is not the subject-, owner permissions are required. Because of hierarchical role bindings, the user might have permissions on more resources. */
684
+ export const listUserMemberships: API.OperationMethod<
685
+ ListUserMembershipsRequest,
686
+ ListUserMembershipsResponse,
687
+ ListUserMembershipsError,
688
+ StackitOpContext
689
+ > = /*@__PURE__*/ API.make(() => ({
690
+ input: ListUserMembershipsRequest,
691
+ output: ListUserMembershipsResponse,
692
+ errors: [BadRequest, Forbidden, UnknownStackitError],
693
+ protocol: StackitProtocol,
694
+ retry: Retry.Retry,
695
+ }));
696
+
697
+ export type ListUserPermissionsError = BadRequest | Forbidden | StackitOpError;
698
+ /** List permissions of a user List permissions of a user. An administrative access is needed to list any user's permissions, while the user can do it on his/her own email. Lists every resource of the given type where the user has any effective permissions. When requested, also lists why the permission is present. */
699
+ export const listUserPermissions: API.OperationMethod<
700
+ ListUserPermissionsRequest,
701
+ ListUserPermissionsResponse,
702
+ ListUserPermissionsError,
703
+ StackitOpContext
704
+ > = /*@__PURE__*/ API.make(() => ({
705
+ input: ListUserPermissionsRequest,
706
+ output: ListUserPermissionsResponse,
707
+ errors: [BadRequest, Forbidden, UnknownStackitError],
708
+ protocol: StackitProtocol,
709
+ retry: Retry.Retry,
710
+ }));
711
+
712
+ export type RemoveMembersError = BadRequest | Forbidden | StackitOpError;
713
+ /** Remove members from a resource Remove members from the given resource with specified roles. */
714
+ export const removeMembers: API.OperationMethod<
715
+ RemoveMembersRequest,
716
+ MembersResponse,
717
+ RemoveMembersError,
718
+ StackitOpContext
719
+ > = /*@__PURE__*/ API.make(() => ({
720
+ input: RemoveMembersRequest,
721
+ output: MembersResponse,
722
+ errors: [BadRequest, Forbidden, UnknownStackitError],
723
+ protocol: StackitProtocol,
724
+ retry: Retry.Retry,
725
+ }));
726
+
727
+ export type UpdateRoleError = BadRequest | Forbidden | StackitOpError;
728
+ /** Update an existing role Update a custom role by ID. */
729
+ export const updateRole: API.OperationMethod<
730
+ UpdateRoleRequest,
731
+ UpdateRoleResponse,
732
+ UpdateRoleError,
733
+ StackitOpContext
734
+ > = /*@__PURE__*/ API.make(() => ({
735
+ input: UpdateRoleRequest,
736
+ output: UpdateRoleResponse,
737
+ errors: [BadRequest, Forbidden, UnknownStackitError],
738
+ protocol: StackitProtocol,
739
+ retry: Retry.Retry,
740
+ }));