@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,1831 @@
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 { UnknownStackitError } from "../errors.ts";
6
+ import { StackitProtocol, type StackitOpError, type StackitOpContext } from "../protocol.ts";
7
+ import * as Retry from "../retry.ts";
8
+ import * as T from "../traits.ts";
9
+
10
+ export type { StackitOpError, StackitOpContext };
11
+
12
+ export class BadRequest
13
+ extends /*@__PURE__*/ T.applyErrorMatchers(
14
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
15
+ code: S.Number,
16
+ message: S.String,
17
+ }).pipe(C.withBadRequestError),
18
+ [{ status: 400 }],
19
+ ) {}
20
+
21
+ /** List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
22
+ export type CreateResourcePoolRequestIpAclList = Array<string>;
23
+ export const CreateResourcePoolRequestIpAclList = /*@__PURE__*/ S.Array(
24
+ S.String,
25
+ ) as any as S.Schema<CreateResourcePoolRequestIpAclList>;
26
+
27
+ /** An optional object that represents the labels associated with the resource pool. */
28
+ export type CreateResourcePoolRequestLabelsMap = { [key: string]: string | undefined };
29
+ export const CreateResourcePoolRequestLabelsMap = /*@__PURE__*/ S.Record(
30
+ S.String,
31
+ S.String,
32
+ ) as any as S.Schema<CreateResourcePoolRequestLabelsMap>;
33
+
34
+ export interface CreateResourcePoolRequest {
35
+ projectId: string;
36
+ region: string;
37
+ /** Availability zone */
38
+ availabilityZone: string;
39
+ /** List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
40
+ ipAcl: CreateResourcePoolRequestIpAclList;
41
+ /** An optional object that represents the labels associated with the resource pool. */
42
+ labels?: CreateResourcePoolRequestLabelsMap;
43
+ /** Name of the Resource Pool */
44
+ name: string;
45
+ /** Name of the performance class */
46
+ performanceClass: string;
47
+ /** Size of the Resource Pool (unit: gibibytes) */
48
+ sizeGigabytes: number;
49
+ /** (optional) Id of the Snapshot Policy to use */
50
+ snapshotPolicyId?: string;
51
+ /** Whether the .snapshot directory is visible when mounting the resource pool. Setting this value to false might prevent you from accessing the snapshots (e.g. for security reasons). Additionally, the access to the snapshots is always controlled by the export policy of the resource pool. That means, if snapshots are visible and the export policy allows for reading the resource pool, then it also allows reading the snapshot of all shares. */
52
+ snapshotsAreVisible?: boolean;
53
+ }
54
+ export const CreateResourcePoolRequest = /*@__PURE__*/ S.suspend(() =>
55
+ S.Struct({
56
+ projectId: S.String.pipe(T.Label()),
57
+ region: S.String.pipe(T.Label()),
58
+ availabilityZone: S.String,
59
+ ipAcl: CreateResourcePoolRequestIpAclList,
60
+ labels: S.optional(CreateResourcePoolRequestLabelsMap),
61
+ name: S.String,
62
+ performanceClass: S.String,
63
+ sizeGigabytes: S.Number,
64
+ snapshotPolicyId: S.optional(S.String),
65
+ snapshotsAreVisible: S.optional(S.Boolean),
66
+ }).pipe(
67
+ T.Http({
68
+ method: "POST",
69
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools",
70
+ code: 200,
71
+ baseUrl: "https://sfs.api.stackit.cloud",
72
+ }),
73
+ ),
74
+ ).annotate({
75
+ identifier: "CreateResourcePoolRequest",
76
+ }) as any as S.Schema<CreateResourcePoolRequest>;
77
+
78
+ /** List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
79
+ export type ResourcePoolIpAclList = Array<string>;
80
+ export const ResourcePoolIpAclList = /*@__PURE__*/ S.Array(
81
+ S.String,
82
+ ) as any as S.Schema<ResourcePoolIpAclList>;
83
+
84
+ export type ResourcePoolLabelsMap = { [key: string]: string | undefined };
85
+ export const ResourcePoolLabelsMap = /*@__PURE__*/ S.Record(
86
+ S.String,
87
+ S.String,
88
+ ) as any as S.Schema<ResourcePoolLabelsMap>;
89
+
90
+ export interface ResourcePoolPerformanceClass {
91
+ /** Name of the performance class */
92
+ name?: string;
93
+ /** Max. IOPS of the Resource Pool. This is shared between every Share in the Resource Pool. */
94
+ peakIops?: number;
95
+ /** Throughput of the Resource Pool. */
96
+ throughput?: number;
97
+ }
98
+ export const ResourcePoolPerformanceClass = /*@__PURE__*/ S.suspend(() =>
99
+ S.Struct({
100
+ name: S.optional(S.String),
101
+ peakIops: S.optional(S.Number),
102
+ throughput: S.optional(S.Number),
103
+ }),
104
+ ).annotate({
105
+ identifier: "ResourcePoolPerformanceClass",
106
+ }) as any as S.Schema<ResourcePoolPerformanceClass>;
107
+
108
+ export interface ResourcePoolSnapshotPolicy {
109
+ /** ID of the Snapshot Policy */
110
+ id?: string;
111
+ /** Name of the Snapshot Policy */
112
+ name?: string;
113
+ }
114
+ export const ResourcePoolSnapshotPolicy = /*@__PURE__*/ S.suspend(() =>
115
+ S.Struct({
116
+ id: S.optional(S.String),
117
+ name: S.optional(S.String),
118
+ }),
119
+ ).annotate({
120
+ identifier: "ResourcePoolSnapshotPolicy",
121
+ }) as any as S.Schema<ResourcePoolSnapshotPolicy>;
122
+
123
+ export interface ResourcePoolSpace {
124
+ /** Available space of the Resource Pool (only available when retrieving a single Resource Pool by ID) */
125
+ availableGigabytes?: number | null;
126
+ /** Size of the Resource Pool in Gibibytes. */
127
+ sizeGigabytes?: number;
128
+ /** Used space by snapshots (only available when retrieving a single Resource Pool by ID) */
129
+ usedBySnapshotsGigabytes?: number | null;
130
+ /** Used space of the Resource Pool (only available when retrieving a single Resource Pool by ID) */
131
+ usedGigabytes?: number | null;
132
+ }
133
+ export const ResourcePoolSpace = /*@__PURE__*/ S.suspend(() =>
134
+ S.Struct({
135
+ availableGigabytes: S.optional(S.NullOr(S.Number)),
136
+ sizeGigabytes: S.optional(S.Number),
137
+ usedBySnapshotsGigabytes: S.optional(S.NullOr(S.Number)),
138
+ usedGigabytes: S.optional(S.NullOr(S.Number)),
139
+ }),
140
+ ).annotate({ identifier: "ResourcePoolSpace" }) as any as S.Schema<ResourcePoolSpace>;
141
+
142
+ export interface ResourcePool {
143
+ /** Name of the respective availability zone */
144
+ availabilityZone?: string;
145
+ /** Number of Shares in the Resource Pool */
146
+ countShares?: number;
147
+ createdAt?: string;
148
+ /** ID of the Resource Pool */
149
+ id?: string;
150
+ /** List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
151
+ ipAcl?: ResourcePoolIpAclList;
152
+ labels?: ResourcePoolLabelsMap;
153
+ /** Mount path of the Resource Pool, used to mount the Resource Pool Note that a Resource Pool can only be mounted in read-only */
154
+ mountPath?: string;
155
+ /** Name of the Resource Pool */
156
+ name?: string;
157
+ /** Information about the performance class */
158
+ performanceClass?: ResourcePoolPerformanceClass;
159
+ /** Time when the performance class can be downgraded again. */
160
+ performanceClassDowngradableAt?: string;
161
+ /** Time when the size can be reduced again. */
162
+ sizeReducibleAt?: string;
163
+ /** (optional) Snapshot Policy */
164
+ snapshotPolicy?: ResourcePoolSnapshotPolicy | null;
165
+ /** Whether the .snapshot directory is visible when mounting the resource pool. Setting this value to false might prevent you from accessing the snapshots (e.g. for security reasons). Additionally, the access to the snapshots is always controlled by the export policy of the resource pool. That means, if snapshots are visible and the export policy allows for reading the resource pool, then it also allows reading the snapshot of all shares. */
166
+ snapshotsAreVisible?: boolean;
167
+ /** Space information */
168
+ space?: ResourcePoolSpace;
169
+ /** State of the Resource Pool (possible values: ["pending", "creating", "created", "updating", "error", "deleting"]) */
170
+ state?: string;
171
+ }
172
+ export const ResourcePool = /*@__PURE__*/ S.suspend(() =>
173
+ S.Struct({
174
+ availabilityZone: S.optional(S.String),
175
+ countShares: S.optional(S.Number),
176
+ createdAt: S.optional(S.String),
177
+ id: S.optional(S.String),
178
+ ipAcl: S.optional(ResourcePoolIpAclList),
179
+ labels: S.optional(ResourcePoolLabelsMap),
180
+ mountPath: S.optional(S.String),
181
+ name: S.optional(S.String),
182
+ performanceClass: S.optional(ResourcePoolPerformanceClass),
183
+ performanceClassDowngradableAt: S.optional(S.String),
184
+ sizeReducibleAt: S.optional(S.String),
185
+ snapshotPolicy: S.optional(S.NullOr(ResourcePoolSnapshotPolicy)),
186
+ snapshotsAreVisible: S.optional(S.Boolean),
187
+ space: S.optional(ResourcePoolSpace),
188
+ state: S.optional(S.String),
189
+ }),
190
+ ).annotate({ identifier: "ResourcePool" }) as any as S.Schema<ResourcePool>;
191
+
192
+ export interface CreateResourcePoolResponse {
193
+ /** Created Resource Pool */
194
+ resourcePool?: ResourcePool;
195
+ }
196
+ export const CreateResourcePoolResponse = /*@__PURE__*/ S.suspend(() =>
197
+ S.Struct({
198
+ resourcePool: S.optional(ResourcePool),
199
+ }),
200
+ ).annotate({
201
+ identifier: "CreateResourcePoolResponse",
202
+ }) as any as S.Schema<CreateResourcePoolResponse>;
203
+
204
+ export interface CreateResourcePoolSnapshotRequest {
205
+ projectId: string;
206
+ region: string;
207
+ resourcePoolId: string;
208
+ /** (optional) A comment to add more information about a snapshot */
209
+ comment?: string | null;
210
+ /** Name of the Resource Pool Snapshot */
211
+ name?: string;
212
+ /** (optional) Time in hours after which snaplock on the snapshot expires */
213
+ snaplockRetentionHours?: number | null;
214
+ }
215
+ export const CreateResourcePoolSnapshotRequest = /*@__PURE__*/ S.suspend(() =>
216
+ S.Struct({
217
+ projectId: S.String.pipe(T.Label()),
218
+ region: S.String.pipe(T.Label()),
219
+ resourcePoolId: S.String.pipe(T.Label()),
220
+ comment: S.optional(S.NullOr(S.String)),
221
+ name: S.optional(S.String),
222
+ snaplockRetentionHours: S.optional(S.NullOr(S.Number)),
223
+ }).pipe(
224
+ T.Http({
225
+ method: "POST",
226
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/snapshots",
227
+ code: 200,
228
+ baseUrl: "https://sfs.api.stackit.cloud",
229
+ }),
230
+ ),
231
+ ).annotate({
232
+ identifier: "CreateResourcePoolSnapshotRequest",
233
+ }) as any as S.Schema<CreateResourcePoolSnapshotRequest>;
234
+
235
+ export interface ResourcePoolSnapshot {
236
+ /** (optional) A comment to add more information about a snapshot */
237
+ comment?: string | null;
238
+ createdAt?: string;
239
+ /** Represents the user-visible data size at the time of the snapshot in Gibibytes (e.g. what’s in the snapshot) */
240
+ logicalSizeGigabytes?: number;
241
+ /** ID of the Resource Pool of the Snapshot */
242
+ resourcePoolId?: string;
243
+ /** Reflects the actual storage footprint in the backend at snapshot time in Gibibytes (e.g. how much storage from the Resource Pool does it use). */
244
+ sizeGigabytes?: number;
245
+ /** Represents the snaplock expiry time if snaplock is enabled for the resource pool */
246
+ snaplockExpiryTime?: string | null;
247
+ /** Name of the Resource Pool Snapshot */
248
+ snapshotName?: string;
249
+ }
250
+ export const ResourcePoolSnapshot = /*@__PURE__*/ S.suspend(() =>
251
+ S.Struct({
252
+ comment: S.optional(S.NullOr(S.String)),
253
+ createdAt: S.optional(S.String),
254
+ logicalSizeGigabytes: S.optional(S.Number),
255
+ resourcePoolId: S.optional(S.String),
256
+ sizeGigabytes: S.optional(S.Number),
257
+ snaplockExpiryTime: S.optional(S.NullOr(S.String)),
258
+ snapshotName: S.optional(S.String),
259
+ }),
260
+ ).annotate({ identifier: "ResourcePoolSnapshot" }) as any as S.Schema<ResourcePoolSnapshot>;
261
+
262
+ export interface CreateResourcePoolSnapshotResponse {
263
+ /** Created Resource Pool Snapshot */
264
+ resourcePoolSnapshot?: ResourcePoolSnapshot;
265
+ }
266
+ export const CreateResourcePoolSnapshotResponse = /*@__PURE__*/ S.suspend(() =>
267
+ S.Struct({
268
+ resourcePoolSnapshot: S.optional(ResourcePoolSnapshot),
269
+ }),
270
+ ).annotate({
271
+ identifier: "CreateResourcePoolSnapshotResponse",
272
+ }) as any as S.Schema<CreateResourcePoolSnapshotResponse>;
273
+
274
+ /** An optional object that represents the labels associated with the share. */
275
+ export type CreateShareRequestLabelsMap = { [key: string]: string | undefined };
276
+ export const CreateShareRequestLabelsMap = /*@__PURE__*/ S.Record(
277
+ S.String,
278
+ S.String,
279
+ ) as any as S.Schema<CreateShareRequestLabelsMap>;
280
+
281
+ export interface CreateShareRequest {
282
+ projectId: string;
283
+ region: string;
284
+ resourcePoolId: string;
285
+ /** Name of the Share Export Policy to use in the Share. Note that if this is not set, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share. You can also assign a Share Export Policy after creating the Share */
286
+ exportPolicyName?: string | null;
287
+ /** An optional object that represents the labels associated with the share. */
288
+ labels?: CreateShareRequestLabelsMap;
289
+ /** Name of the Share */
290
+ name: string;
291
+ /** Space hard limit for the Share. If zero, the Share will have access to the full space of the Resource Pool it lives in. (unit: gibibytes) */
292
+ spaceHardLimitGigabytes: number;
293
+ }
294
+ export const CreateShareRequest = /*@__PURE__*/ S.suspend(() =>
295
+ S.Struct({
296
+ projectId: S.String.pipe(T.Label()),
297
+ region: S.String.pipe(T.Label()),
298
+ resourcePoolId: S.String.pipe(T.Label()),
299
+ exportPolicyName: S.optional(S.NullOr(S.String)),
300
+ labels: S.optional(CreateShareRequestLabelsMap),
301
+ name: S.String,
302
+ spaceHardLimitGigabytes: S.Number,
303
+ }).pipe(
304
+ T.Http({
305
+ method: "POST",
306
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/shares",
307
+ code: 200,
308
+ baseUrl: "https://sfs.api.stackit.cloud",
309
+ }),
310
+ ),
311
+ ).annotate({ identifier: "CreateShareRequest" }) as any as S.Schema<CreateShareRequest>;
312
+
313
+ /** An optional object that represents the labels associated with the share export policy. */
314
+ export type ShareExportPolicyLabelsMap = { [key: string]: string | undefined };
315
+ export const ShareExportPolicyLabelsMap = /*@__PURE__*/ S.Record(
316
+ S.String,
317
+ S.String,
318
+ ) as any as S.Schema<ShareExportPolicyLabelsMap>;
319
+
320
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.251/32" for a specific IP) This array cannot be empty */
321
+ export type ShareExportPolicyRuleIpAclList = Array<string>;
322
+ export const ShareExportPolicyRuleIpAclList = /*@__PURE__*/ S.Array(
323
+ S.String,
324
+ ) as any as S.Schema<ShareExportPolicyRuleIpAclList>;
325
+
326
+ export interface ShareExportPolicyRule {
327
+ createdAt?: string;
328
+ /** Description of the Rule (optional) */
329
+ description?: string | null;
330
+ /** ID of the Share Export Policy Rule */
331
+ id?: string;
332
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.251/32" for a specific IP) This array cannot be empty */
333
+ ipAcl?: ShareExportPolicyRuleIpAclList;
334
+ /** Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied This field must be set */
335
+ order?: number;
336
+ /** Flag to indicate if client IPs matching this rule can only mount the share in read only mode Default: false */
337
+ readOnly?: boolean;
338
+ /** Flag to honor set UUID Default: false */
339
+ setUuid?: boolean;
340
+ /** Flag to indicate if client IPs matching this rule have root access on the Share Default: true */
341
+ superUser?: boolean;
342
+ }
343
+ export const ShareExportPolicyRule = /*@__PURE__*/ S.suspend(() =>
344
+ S.Struct({
345
+ createdAt: S.optional(S.String),
346
+ description: S.optional(S.NullOr(S.String)),
347
+ id: S.optional(S.String),
348
+ ipAcl: S.optional(ShareExportPolicyRuleIpAclList),
349
+ order: S.optional(S.Number),
350
+ readOnly: S.optional(S.Boolean),
351
+ setUuid: S.optional(S.Boolean),
352
+ superUser: S.optional(S.Boolean),
353
+ }),
354
+ ).annotate({ identifier: "ShareExportPolicyRule" }) as any as S.Schema<ShareExportPolicyRule>;
355
+
356
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule */
357
+ export type ShareExportPolicyRulesList = Array<ShareExportPolicyRule>;
358
+ export const ShareExportPolicyRulesList = /*@__PURE__*/ S.Array(
359
+ ShareExportPolicyRule,
360
+ ) as any as S.Schema<ShareExportPolicyRulesList>;
361
+
362
+ export interface ShareExportPolicy {
363
+ createdAt?: string;
364
+ /** ID of the Share Export Policy */
365
+ id?: string;
366
+ /** An optional object that represents the labels associated with the share export policy. */
367
+ labels?: ShareExportPolicyLabelsMap;
368
+ /** Name of the Share Export Policy */
369
+ name?: string;
370
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule */
371
+ rules?: ShareExportPolicyRulesList;
372
+ /** Number of Shares using this Share Export Policy */
373
+ sharesUsingExportPolicy?: number;
374
+ }
375
+ export const ShareExportPolicy = /*@__PURE__*/ S.suspend(() =>
376
+ S.Struct({
377
+ createdAt: S.optional(S.String),
378
+ id: S.optional(S.String),
379
+ labels: S.optional(ShareExportPolicyLabelsMap),
380
+ name: S.optional(S.String),
381
+ rules: S.optional(ShareExportPolicyRulesList),
382
+ sharesUsingExportPolicy: S.optional(S.Number),
383
+ }),
384
+ ).annotate({ identifier: "ShareExportPolicy" }) as any as S.Schema<ShareExportPolicy>;
385
+
386
+ /** An optional object that represents the labels associated with the share. */
387
+ export type ShareLabelsMap = { [key: string]: string | undefined };
388
+ export const ShareLabelsMap = /*@__PURE__*/ S.Record(
389
+ S.String,
390
+ S.String,
391
+ ) as any as S.Schema<ShareLabelsMap>;
392
+
393
+ export interface Share {
394
+ createdAt?: string;
395
+ /** Details of the Share Export Policy to use in the Share. Note that if this is not set, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share */
396
+ exportPolicy?: ShareExportPolicy | null;
397
+ /** ID of the Share */
398
+ id?: string;
399
+ /** An optional object that represents the labels associated with the share. */
400
+ labels?: ShareLabelsMap;
401
+ /** Mount path of the Share, used to mount the Share */
402
+ mountPath?: string;
403
+ /** Name of the Share */
404
+ name?: string;
405
+ /** Space hard limit for the Share. If zero, the Share will have access to the full space of the Resource Pool it lives in. (unit: gibibytes) */
406
+ spaceHardLimitGigabytes?: number;
407
+ /** State of the Resource Pool Snapshot (possible values: ["pending", "creating", "created", "error", "deleting"]) */
408
+ state?: string;
409
+ }
410
+ export const Share = /*@__PURE__*/ S.suspend(() =>
411
+ S.Struct({
412
+ createdAt: S.optional(S.String),
413
+ exportPolicy: S.optional(S.NullOr(ShareExportPolicy)),
414
+ id: S.optional(S.String),
415
+ labels: S.optional(ShareLabelsMap),
416
+ mountPath: S.optional(S.String),
417
+ name: S.optional(S.String),
418
+ spaceHardLimitGigabytes: S.optional(S.Number),
419
+ state: S.optional(S.String),
420
+ }),
421
+ ).annotate({ identifier: "Share" }) as any as S.Schema<Share>;
422
+
423
+ export interface CreateShareResponse {
424
+ /** Created Share */
425
+ share?: Share;
426
+ }
427
+ export const CreateShareResponse = /*@__PURE__*/ S.suspend(() =>
428
+ S.Struct({
429
+ share: S.optional(Share),
430
+ }),
431
+ ).annotate({ identifier: "CreateShareResponse" }) as any as S.Schema<CreateShareResponse>;
432
+
433
+ /** An optional object that represents the labels associated with the share export policy. */
434
+ export type CreateShareExportPolicyRequestLabelsMap = { [key: string]: string | undefined };
435
+ export const CreateShareExportPolicyRequestLabelsMap = /*@__PURE__*/ S.Record(
436
+ S.String,
437
+ S.String,
438
+ ) as any as S.Schema<CreateShareExportPolicyRequestLabelsMap>;
439
+
440
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) This array cannot be empty */
441
+ export type CreateShareExportPolicyRequestRuleIpAclList = Array<string>;
442
+ export const CreateShareExportPolicyRequestRuleIpAclList = /*@__PURE__*/ S.Array(
443
+ S.String,
444
+ ) as any as S.Schema<CreateShareExportPolicyRequestRuleIpAclList>;
445
+
446
+ export interface CreateShareExportPolicyRequestRule {
447
+ /** Description of the Rule (optional) */
448
+ description?: string | null;
449
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) This array cannot be empty */
450
+ ipAcl?: CreateShareExportPolicyRequestRuleIpAclList;
451
+ /** Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied This field must be set */
452
+ order?: number;
453
+ /** Flag to indicate if client IPs matching this rule can only mount the share in read only mode Default: false */
454
+ readOnly?: boolean;
455
+ /** Flag to honor set UUID Default: false */
456
+ setUuid?: boolean;
457
+ /** Flag to indicate if client IPs matching this rule have root access on the Share Default: true */
458
+ superUser?: boolean;
459
+ }
460
+ export const CreateShareExportPolicyRequestRule = /*@__PURE__*/ S.suspend(() =>
461
+ S.Struct({
462
+ description: S.optional(S.NullOr(S.String)),
463
+ ipAcl: S.optional(CreateShareExportPolicyRequestRuleIpAclList),
464
+ order: S.optional(S.Number),
465
+ readOnly: S.optional(S.Boolean),
466
+ setUuid: S.optional(S.Boolean),
467
+ superUser: S.optional(S.Boolean),
468
+ }),
469
+ ).annotate({
470
+ identifier: "CreateShareExportPolicyRequestRule",
471
+ }) as any as S.Schema<CreateShareExportPolicyRequestRule>;
472
+
473
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule */
474
+ export type CreateShareExportPolicyRequestRulesList = Array<CreateShareExportPolicyRequestRule>;
475
+ export const CreateShareExportPolicyRequestRulesList = /*@__PURE__*/ S.Array(
476
+ CreateShareExportPolicyRequestRule,
477
+ ) as any as S.Schema<CreateShareExportPolicyRequestRulesList>;
478
+
479
+ export interface CreateShareExportPolicyRequest {
480
+ projectId: string;
481
+ region: string;
482
+ /** An optional object that represents the labels associated with the share export policy. */
483
+ labels?: CreateShareExportPolicyRequestLabelsMap;
484
+ /** Name of the Share Export Policy */
485
+ name: string;
486
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule */
487
+ rules?: CreateShareExportPolicyRequestRulesList;
488
+ }
489
+ export const CreateShareExportPolicyRequest = /*@__PURE__*/ S.suspend(() =>
490
+ S.Struct({
491
+ projectId: S.String.pipe(T.Label()),
492
+ region: S.String.pipe(T.Label()),
493
+ labels: S.optional(CreateShareExportPolicyRequestLabelsMap),
494
+ name: S.String,
495
+ rules: S.optional(CreateShareExportPolicyRequestRulesList),
496
+ }).pipe(
497
+ T.Http({
498
+ method: "POST",
499
+ uri: "/v1/projects/{projectId}/regions/{region}/shareExportPolicies",
500
+ code: 200,
501
+ baseUrl: "https://sfs.api.stackit.cloud",
502
+ }),
503
+ ),
504
+ ).annotate({
505
+ identifier: "CreateShareExportPolicyRequest",
506
+ }) as any as S.Schema<CreateShareExportPolicyRequest>;
507
+
508
+ export interface CreateShareExportPolicyResponse {
509
+ /** Created Share Export Policy */
510
+ shareExportPolicy?: ShareExportPolicy;
511
+ }
512
+ export const CreateShareExportPolicyResponse = /*@__PURE__*/ S.suspend(() =>
513
+ S.Struct({
514
+ shareExportPolicy: S.optional(ShareExportPolicy),
515
+ }),
516
+ ).annotate({
517
+ identifier: "CreateShareExportPolicyResponse",
518
+ }) as any as S.Schema<CreateShareExportPolicyResponse>;
519
+
520
+ export interface DeleteResourcePoolRequest {
521
+ projectId: string;
522
+ region: string;
523
+ resourcePoolId: string;
524
+ }
525
+ export const DeleteResourcePoolRequest = /*@__PURE__*/ S.suspend(() =>
526
+ S.Struct({
527
+ projectId: S.String.pipe(T.Label()),
528
+ region: S.String.pipe(T.Label()),
529
+ resourcePoolId: S.String.pipe(T.Label()),
530
+ }).pipe(
531
+ T.Http({
532
+ method: "DELETE",
533
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}",
534
+ code: 200,
535
+ baseUrl: "https://sfs.api.stackit.cloud",
536
+ }),
537
+ ),
538
+ ).annotate({
539
+ identifier: "DeleteResourcePoolRequest",
540
+ }) as any as S.Schema<DeleteResourcePoolRequest>;
541
+
542
+ export type DeleteResourcePoolResponse2 = unknown;
543
+ export const DeleteResourcePoolResponse2 = /*@__PURE__*/ S.suspend(() =>
544
+ S.Unknown.pipe(T.RawResponseRoot()),
545
+ ).annotate({
546
+ identifier: "DeleteResourcePoolResponse2",
547
+ }) as any as S.Schema<DeleteResourcePoolResponse2>;
548
+
549
+ export interface DeleteResourcePoolSnapshotRequest {
550
+ projectId: string;
551
+ region: string;
552
+ resourcePoolId: string;
553
+ snapshotName: string;
554
+ }
555
+ export const DeleteResourcePoolSnapshotRequest = /*@__PURE__*/ S.suspend(() =>
556
+ S.Struct({
557
+ projectId: S.String.pipe(T.Label()),
558
+ region: S.String.pipe(T.Label()),
559
+ resourcePoolId: S.String.pipe(T.Label()),
560
+ snapshotName: S.String.pipe(T.Label()),
561
+ }).pipe(
562
+ T.Http({
563
+ method: "DELETE",
564
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/snapshots/{snapshotName}",
565
+ code: 200,
566
+ baseUrl: "https://sfs.api.stackit.cloud",
567
+ }),
568
+ ),
569
+ ).annotate({
570
+ identifier: "DeleteResourcePoolSnapshotRequest",
571
+ }) as any as S.Schema<DeleteResourcePoolSnapshotRequest>;
572
+
573
+ export type DeleteResourcePoolSnapshotResponse2 = unknown;
574
+ export const DeleteResourcePoolSnapshotResponse2 = /*@__PURE__*/ S.suspend(() =>
575
+ S.Unknown.pipe(T.RawResponseRoot()),
576
+ ).annotate({
577
+ identifier: "DeleteResourcePoolSnapshotResponse2",
578
+ }) as any as S.Schema<DeleteResourcePoolSnapshotResponse2>;
579
+
580
+ export interface DeleteShareRequest {
581
+ projectId: string;
582
+ region: string;
583
+ resourcePoolId: string;
584
+ shareId: string;
585
+ }
586
+ export const DeleteShareRequest = /*@__PURE__*/ S.suspend(() =>
587
+ S.Struct({
588
+ projectId: S.String.pipe(T.Label()),
589
+ region: S.String.pipe(T.Label()),
590
+ resourcePoolId: S.String.pipe(T.Label()),
591
+ shareId: S.String.pipe(T.Label()),
592
+ }).pipe(
593
+ T.Http({
594
+ method: "DELETE",
595
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/shares/{shareId}",
596
+ code: 200,
597
+ baseUrl: "https://sfs.api.stackit.cloud",
598
+ }),
599
+ ),
600
+ ).annotate({ identifier: "DeleteShareRequest" }) as any as S.Schema<DeleteShareRequest>;
601
+
602
+ export type DeleteShareResponse2 = unknown;
603
+ export const DeleteShareResponse2 = /*@__PURE__*/ S.suspend(() =>
604
+ S.Unknown.pipe(T.RawResponseRoot()),
605
+ ).annotate({ identifier: "DeleteShareResponse2" }) as any as S.Schema<DeleteShareResponse2>;
606
+
607
+ export interface DeleteShareExportPolicyRequest {
608
+ projectId: string;
609
+ region: string;
610
+ policyId: string;
611
+ }
612
+ export const DeleteShareExportPolicyRequest = /*@__PURE__*/ S.suspend(() =>
613
+ S.Struct({
614
+ projectId: S.String.pipe(T.Label()),
615
+ region: S.String.pipe(T.Label()),
616
+ policyId: S.String.pipe(T.Label()),
617
+ }).pipe(
618
+ T.Http({
619
+ method: "DELETE",
620
+ uri: "/v1/projects/{projectId}/regions/{region}/shareExportPolicies/{policyId}",
621
+ code: 200,
622
+ baseUrl: "https://sfs.api.stackit.cloud",
623
+ }),
624
+ ),
625
+ ).annotate({
626
+ identifier: "DeleteShareExportPolicyRequest",
627
+ }) as any as S.Schema<DeleteShareExportPolicyRequest>;
628
+
629
+ export type DeleteShareExportPolicyResponse2 = unknown;
630
+ export const DeleteShareExportPolicyResponse2 = /*@__PURE__*/ S.suspend(() =>
631
+ S.Unknown.pipe(T.RawResponseRoot()),
632
+ ).annotate({
633
+ identifier: "DeleteShareExportPolicyResponse2",
634
+ }) as any as S.Schema<DeleteShareExportPolicyResponse2>;
635
+
636
+ export interface DisableLockRequest {
637
+ region: string;
638
+ projectId: string;
639
+ }
640
+ export const DisableLockRequest = /*@__PURE__*/ S.suspend(() =>
641
+ S.Struct({
642
+ region: S.String.pipe(T.Label()),
643
+ projectId: S.String.pipe(T.Label()),
644
+ }).pipe(
645
+ T.Http({
646
+ method: "DELETE",
647
+ uri: "/v1/regions/{region}/project/{projectId}/locks",
648
+ code: 200,
649
+ baseUrl: "https://sfs.api.stackit.cloud",
650
+ }),
651
+ ),
652
+ ).annotate({ identifier: "DisableLockRequest" }) as any as S.Schema<DisableLockRequest>;
653
+
654
+ export type DisableLockResponse2 = unknown;
655
+ export const DisableLockResponse2 = /*@__PURE__*/ S.suspend(() =>
656
+ S.Unknown.pipe(T.RawResponseRoot()),
657
+ ).annotate({ identifier: "DisableLockResponse2" }) as any as S.Schema<DisableLockResponse2>;
658
+
659
+ export interface EnableLockRequest {
660
+ region: string;
661
+ projectId: string;
662
+ }
663
+ export const EnableLockRequest = /*@__PURE__*/ S.suspend(() =>
664
+ S.Struct({
665
+ region: S.String.pipe(T.Label()),
666
+ projectId: S.String.pipe(T.Label()),
667
+ }).pipe(
668
+ T.Http({
669
+ method: "POST",
670
+ uri: "/v1/regions/{region}/project/{projectId}/locks",
671
+ code: 200,
672
+ baseUrl: "https://sfs.api.stackit.cloud",
673
+ }),
674
+ ),
675
+ ).annotate({ identifier: "EnableLockRequest" }) as any as S.Schema<EnableLockRequest>;
676
+
677
+ export interface EnableLockResponse {
678
+ lockId?: string;
679
+ }
680
+ export const EnableLockResponse = /*@__PURE__*/ S.suspend(() =>
681
+ S.Struct({
682
+ lockId: S.optional(S.String),
683
+ }),
684
+ ).annotate({ identifier: "EnableLockResponse" }) as any as S.Schema<EnableLockResponse>;
685
+
686
+ export interface GetLockRequest {
687
+ region: string;
688
+ projectId: string;
689
+ }
690
+ export const GetLockRequest = /*@__PURE__*/ S.suspend(() =>
691
+ S.Struct({
692
+ region: S.String.pipe(T.Label()),
693
+ projectId: S.String.pipe(T.Label()),
694
+ }).pipe(
695
+ T.Http({
696
+ method: "GET",
697
+ uri: "/v1/regions/{region}/project/{projectId}/locks",
698
+ code: 200,
699
+ baseUrl: "https://sfs.api.stackit.cloud",
700
+ }),
701
+ ),
702
+ ).annotate({ identifier: "GetLockRequest" }) as any as S.Schema<GetLockRequest>;
703
+
704
+ export interface GetLockResponse {
705
+ lockId?: string;
706
+ }
707
+ export const GetLockResponse = /*@__PURE__*/ S.suspend(() =>
708
+ S.Struct({
709
+ lockId: S.optional(S.String),
710
+ }),
711
+ ).annotate({ identifier: "GetLockResponse" }) as any as S.Schema<GetLockResponse>;
712
+
713
+ export interface GetResourcePoolRequest {
714
+ projectId: string;
715
+ region: string;
716
+ resourcePoolId: string;
717
+ }
718
+ export const GetResourcePoolRequest = /*@__PURE__*/ S.suspend(() =>
719
+ S.Struct({
720
+ projectId: S.String.pipe(T.Label()),
721
+ region: S.String.pipe(T.Label()),
722
+ resourcePoolId: S.String.pipe(T.Label()),
723
+ }).pipe(
724
+ T.Http({
725
+ method: "GET",
726
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}",
727
+ code: 200,
728
+ baseUrl: "https://sfs.api.stackit.cloud",
729
+ }),
730
+ ),
731
+ ).annotate({ identifier: "GetResourcePoolRequest" }) as any as S.Schema<GetResourcePoolRequest>;
732
+
733
+ export interface GetResourcePoolResponse {
734
+ /** Resource Pool */
735
+ resourcePool?: ResourcePool;
736
+ }
737
+ export const GetResourcePoolResponse = /*@__PURE__*/ S.suspend(() =>
738
+ S.Struct({
739
+ resourcePool: S.optional(ResourcePool),
740
+ }),
741
+ ).annotate({ identifier: "GetResourcePoolResponse" }) as any as S.Schema<GetResourcePoolResponse>;
742
+
743
+ export interface GetResourcePoolSnapshotRequest {
744
+ projectId: string;
745
+ region: string;
746
+ resourcePoolId: string;
747
+ snapshotName: string;
748
+ }
749
+ export const GetResourcePoolSnapshotRequest = /*@__PURE__*/ S.suspend(() =>
750
+ S.Struct({
751
+ projectId: S.String.pipe(T.Label()),
752
+ region: S.String.pipe(T.Label()),
753
+ resourcePoolId: S.String.pipe(T.Label()),
754
+ snapshotName: S.String.pipe(T.Label()),
755
+ }).pipe(
756
+ T.Http({
757
+ method: "GET",
758
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/snapshots/{snapshotName}",
759
+ code: 200,
760
+ baseUrl: "https://sfs.api.stackit.cloud",
761
+ }),
762
+ ),
763
+ ).annotate({
764
+ identifier: "GetResourcePoolSnapshotRequest",
765
+ }) as any as S.Schema<GetResourcePoolSnapshotRequest>;
766
+
767
+ export interface GetResourcePoolSnapshotResponse {
768
+ /** Resource Pool Snapshot */
769
+ resourcePoolSnapshot?: ResourcePoolSnapshot;
770
+ }
771
+ export const GetResourcePoolSnapshotResponse = /*@__PURE__*/ S.suspend(() =>
772
+ S.Struct({
773
+ resourcePoolSnapshot: S.optional(ResourcePoolSnapshot),
774
+ }),
775
+ ).annotate({
776
+ identifier: "GetResourcePoolSnapshotResponse",
777
+ }) as any as S.Schema<GetResourcePoolSnapshotResponse>;
778
+
779
+ export interface GetShareRequest {
780
+ projectId: string;
781
+ region: string;
782
+ resourcePoolId: string;
783
+ shareId: string;
784
+ }
785
+ export const GetShareRequest = /*@__PURE__*/ S.suspend(() =>
786
+ S.Struct({
787
+ projectId: S.String.pipe(T.Label()),
788
+ region: S.String.pipe(T.Label()),
789
+ resourcePoolId: S.String.pipe(T.Label()),
790
+ shareId: S.String.pipe(T.Label()),
791
+ }).pipe(
792
+ T.Http({
793
+ method: "GET",
794
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/shares/{shareId}",
795
+ code: 200,
796
+ baseUrl: "https://sfs.api.stackit.cloud",
797
+ }),
798
+ ),
799
+ ).annotate({ identifier: "GetShareRequest" }) as any as S.Schema<GetShareRequest>;
800
+
801
+ export interface GetShareResponse {
802
+ /** Share */
803
+ share?: Share;
804
+ }
805
+ export const GetShareResponse = /*@__PURE__*/ S.suspend(() =>
806
+ S.Struct({
807
+ share: S.optional(Share),
808
+ }),
809
+ ).annotate({ identifier: "GetShareResponse" }) as any as S.Schema<GetShareResponse>;
810
+
811
+ export interface GetShareExportPolicyRequest {
812
+ projectId: string;
813
+ region: string;
814
+ policyId: string;
815
+ }
816
+ export const GetShareExportPolicyRequest = /*@__PURE__*/ S.suspend(() =>
817
+ S.Struct({
818
+ projectId: S.String.pipe(T.Label()),
819
+ region: S.String.pipe(T.Label()),
820
+ policyId: S.String.pipe(T.Label()),
821
+ }).pipe(
822
+ T.Http({
823
+ method: "GET",
824
+ uri: "/v1/projects/{projectId}/regions/{region}/shareExportPolicies/{policyId}",
825
+ code: 200,
826
+ baseUrl: "https://sfs.api.stackit.cloud",
827
+ }),
828
+ ),
829
+ ).annotate({
830
+ identifier: "GetShareExportPolicyRequest",
831
+ }) as any as S.Schema<GetShareExportPolicyRequest>;
832
+
833
+ export interface GetShareExportPolicyResponse {
834
+ /** Share Export Policies */
835
+ shareExportPolicy?: ShareExportPolicy;
836
+ }
837
+ export const GetShareExportPolicyResponse = /*@__PURE__*/ S.suspend(() =>
838
+ S.Struct({
839
+ shareExportPolicy: S.optional(ShareExportPolicy),
840
+ }),
841
+ ).annotate({
842
+ identifier: "GetShareExportPolicyResponse",
843
+ }) as any as S.Schema<GetShareExportPolicyResponse>;
844
+
845
+ export interface GetSnapshotPolicyRequest {
846
+ projectId: string;
847
+ id: string;
848
+ }
849
+ export const GetSnapshotPolicyRequest = /*@__PURE__*/ S.suspend(() =>
850
+ S.Struct({
851
+ projectId: S.String.pipe(T.Label()),
852
+ id: S.String.pipe(T.Label()),
853
+ }).pipe(
854
+ T.Http({
855
+ method: "GET",
856
+ uri: "/v1/projects/{projectId}/snapshotPolicies/{id}",
857
+ code: 200,
858
+ baseUrl: "https://sfs.api.stackit.cloud",
859
+ }),
860
+ ),
861
+ ).annotate({ identifier: "GetSnapshotPolicyRequest" }) as any as S.Schema<GetSnapshotPolicyRequest>;
862
+
863
+ export interface SnapshotPolicySchedule {
864
+ /** Retention Count */
865
+ count?: number;
866
+ /** Interval of the Schedule (follows the cron schedule expression in Unix-like systems) */
867
+ interval?: string;
868
+ /** Prefix used for the snapshots created by this policy */
869
+ prefix?: string;
870
+ /** Retention Period (ISO 8601 format or "infinite") */
871
+ retentionPeriod?: string;
872
+ /** ID of the Schedule */
873
+ scheduleId?: string;
874
+ }
875
+ export const SnapshotPolicySchedule = /*@__PURE__*/ S.suspend(() =>
876
+ S.Struct({
877
+ count: S.optional(S.Number),
878
+ interval: S.optional(S.String),
879
+ prefix: S.optional(S.String),
880
+ retentionPeriod: S.optional(S.String),
881
+ scheduleId: S.optional(S.String),
882
+ }),
883
+ ).annotate({ identifier: "SnapshotPolicySchedule" }) as any as S.Schema<SnapshotPolicySchedule>;
884
+
885
+ /** (deprecated) associated schedules */
886
+ export type SnapshotPolicySchedulesList = Array<SnapshotPolicySchedule>;
887
+ export const SnapshotPolicySchedulesList = /*@__PURE__*/ S.Array(
888
+ SnapshotPolicySchedule,
889
+ ) as any as S.Schema<SnapshotPolicySchedulesList>;
890
+
891
+ export interface SnapshotPolicySnapshotPolicySchedule {
892
+ createdAt?: string;
893
+ /** ID of the Schedule */
894
+ id?: string;
895
+ /** Interval of the Schedule (follows the cron schedule expression in Unix-like systems) */
896
+ interval?: string;
897
+ /** Name of the Schedule */
898
+ name?: string;
899
+ /** Prefix used for the snapshots created by this policy */
900
+ prefix?: string;
901
+ /** Retention Count */
902
+ retentionCount?: number;
903
+ /** Retention Period (ISO 8601 format or "infinite") */
904
+ retentionPeriod?: string;
905
+ }
906
+ export const SnapshotPolicySnapshotPolicySchedule = /*@__PURE__*/ S.suspend(() =>
907
+ S.Struct({
908
+ createdAt: S.optional(S.String),
909
+ id: S.optional(S.String),
910
+ interval: S.optional(S.String),
911
+ name: S.optional(S.String),
912
+ prefix: S.optional(S.String),
913
+ retentionCount: S.optional(S.Number),
914
+ retentionPeriod: S.optional(S.String),
915
+ }),
916
+ ).annotate({
917
+ identifier: "SnapshotPolicySnapshotPolicySchedule",
918
+ }) as any as S.Schema<SnapshotPolicySnapshotPolicySchedule>;
919
+
920
+ /** associated schedules */
921
+ export type SnapshotPolicySnapshotSchedulesList = Array<SnapshotPolicySnapshotPolicySchedule>;
922
+ export const SnapshotPolicySnapshotSchedulesList = /*@__PURE__*/ S.Array(
923
+ SnapshotPolicySnapshotPolicySchedule,
924
+ ) as any as S.Schema<SnapshotPolicySnapshotSchedulesList>;
925
+
926
+ export interface SnapshotPolicy {
927
+ /** Comment of the Snapshot Policy */
928
+ comment?: string;
929
+ /** created at timestamp */
930
+ createdAt?: string;
931
+ /** Wether the Snapshot Policy is enabled */
932
+ enabled?: boolean;
933
+ /** ID of the Snapshot Policy */
934
+ id?: string;
935
+ /** Name of the Snapshot Policy */
936
+ name?: string;
937
+ /** (deprecated) associated schedules */
938
+ schedules?: SnapshotPolicySchedulesList;
939
+ /** associated schedules */
940
+ snapshotSchedules?: SnapshotPolicySnapshotSchedulesList;
941
+ }
942
+ export const SnapshotPolicy = /*@__PURE__*/ S.suspend(() =>
943
+ S.Struct({
944
+ comment: S.optional(S.String),
945
+ createdAt: S.optional(S.String),
946
+ enabled: S.optional(S.Boolean),
947
+ id: S.optional(S.String),
948
+ name: S.optional(S.String),
949
+ schedules: S.optional(SnapshotPolicySchedulesList),
950
+ snapshotSchedules: S.optional(SnapshotPolicySnapshotSchedulesList),
951
+ }),
952
+ ).annotate({ identifier: "SnapshotPolicy" }) as any as S.Schema<SnapshotPolicy>;
953
+
954
+ export interface GetSnapshotPolicyResponse {
955
+ /** Snapshot Policy */
956
+ snapshotPolicy?: SnapshotPolicy;
957
+ }
958
+ export const GetSnapshotPolicyResponse = /*@__PURE__*/ S.suspend(() =>
959
+ S.Struct({
960
+ snapshotPolicy: S.optional(SnapshotPolicy),
961
+ }),
962
+ ).annotate({
963
+ identifier: "GetSnapshotPolicyResponse",
964
+ }) as any as S.Schema<GetSnapshotPolicyResponse>;
965
+
966
+ export interface ListPerformanceClassesRequest {}
967
+ export const ListPerformanceClassesRequest = /*@__PURE__*/ S.suspend(() =>
968
+ S.Struct({}).pipe(
969
+ T.Http({
970
+ method: "GET",
971
+ uri: "/v1/resourcePoolPerformanceClasses",
972
+ code: 200,
973
+ baseUrl: "https://sfs.api.stackit.cloud",
974
+ }),
975
+ ),
976
+ ).annotate({
977
+ identifier: "ListPerformanceClassesRequest",
978
+ }) as any as S.Schema<ListPerformanceClassesRequest>;
979
+
980
+ export interface PerformanceClass {
981
+ /** IOPS of the Performance Class */
982
+ iops?: number;
983
+ /** Name of the Performance Class */
984
+ name?: string;
985
+ /** Throughput of the Performance Class */
986
+ throughput?: number;
987
+ }
988
+ export const PerformanceClass = /*@__PURE__*/ S.suspend(() =>
989
+ S.Struct({
990
+ iops: S.optional(S.Number),
991
+ name: S.optional(S.String),
992
+ throughput: S.optional(S.Number),
993
+ }),
994
+ ).annotate({ identifier: "PerformanceClass" }) as any as S.Schema<PerformanceClass>;
995
+
996
+ /** List of Performance Classes */
997
+ export type ListPerformanceClassesResponsePerformanceClassesList = Array<PerformanceClass>;
998
+ export const ListPerformanceClassesResponsePerformanceClassesList = /*@__PURE__*/ S.Array(
999
+ PerformanceClass,
1000
+ ) as any as S.Schema<ListPerformanceClassesResponsePerformanceClassesList>;
1001
+
1002
+ export interface ListPerformanceClassesResponse {
1003
+ /** List of Performance Classes */
1004
+ performanceClasses?: ListPerformanceClassesResponsePerformanceClassesList;
1005
+ }
1006
+ export const ListPerformanceClassesResponse = /*@__PURE__*/ S.suspend(() =>
1007
+ S.Struct({
1008
+ performanceClasses: S.optional(ListPerformanceClassesResponsePerformanceClassesList),
1009
+ }),
1010
+ ).annotate({
1011
+ identifier: "ListPerformanceClassesResponse",
1012
+ }) as any as S.Schema<ListPerformanceClassesResponse>;
1013
+
1014
+ export interface ListResourcePoolsRequest {
1015
+ projectId: string;
1016
+ region: string;
1017
+ }
1018
+ export const ListResourcePoolsRequest = /*@__PURE__*/ S.suspend(() =>
1019
+ S.Struct({
1020
+ projectId: S.String.pipe(T.Label()),
1021
+ region: S.String.pipe(T.Label()),
1022
+ }).pipe(
1023
+ T.Http({
1024
+ method: "GET",
1025
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools",
1026
+ code: 200,
1027
+ baseUrl: "https://sfs.api.stackit.cloud",
1028
+ }),
1029
+ ),
1030
+ ).annotate({ identifier: "ListResourcePoolsRequest" }) as any as S.Schema<ListResourcePoolsRequest>;
1031
+
1032
+ /** List of Resource Pools */
1033
+ export type ListResourcePoolsResponseResourcePoolsList = Array<ResourcePool>;
1034
+ export const ListResourcePoolsResponseResourcePoolsList = /*@__PURE__*/ S.Array(
1035
+ ResourcePool,
1036
+ ) as any as S.Schema<ListResourcePoolsResponseResourcePoolsList>;
1037
+
1038
+ export interface ListResourcePoolsResponse {
1039
+ /** List of Resource Pools */
1040
+ resourcePools?: ListResourcePoolsResponseResourcePoolsList;
1041
+ }
1042
+ export const ListResourcePoolsResponse = /*@__PURE__*/ S.suspend(() =>
1043
+ S.Struct({
1044
+ resourcePools: S.optional(ListResourcePoolsResponseResourcePoolsList),
1045
+ }),
1046
+ ).annotate({
1047
+ identifier: "ListResourcePoolsResponse",
1048
+ }) as any as S.Schema<ListResourcePoolsResponse>;
1049
+
1050
+ export interface ListResourcePoolSnapshotsRequest {
1051
+ projectId: string;
1052
+ region: string;
1053
+ resourcePoolId: string;
1054
+ }
1055
+ export const ListResourcePoolSnapshotsRequest = /*@__PURE__*/ S.suspend(() =>
1056
+ S.Struct({
1057
+ projectId: S.String.pipe(T.Label()),
1058
+ region: S.String.pipe(T.Label()),
1059
+ resourcePoolId: S.String.pipe(T.Label()),
1060
+ }).pipe(
1061
+ T.Http({
1062
+ method: "GET",
1063
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/snapshots",
1064
+ code: 200,
1065
+ baseUrl: "https://sfs.api.stackit.cloud",
1066
+ }),
1067
+ ),
1068
+ ).annotate({
1069
+ identifier: "ListResourcePoolSnapshotsRequest",
1070
+ }) as any as S.Schema<ListResourcePoolSnapshotsRequest>;
1071
+
1072
+ /** List of Resource Pool Snapshots */
1073
+ export type ListResourcePoolSnapshotsResponseResourcePoolSnapshotsList =
1074
+ Array<ResourcePoolSnapshot>;
1075
+ export const ListResourcePoolSnapshotsResponseResourcePoolSnapshotsList = /*@__PURE__*/ S.Array(
1076
+ ResourcePoolSnapshot,
1077
+ ) as any as S.Schema<ListResourcePoolSnapshotsResponseResourcePoolSnapshotsList>;
1078
+
1079
+ export interface ListResourcePoolSnapshotsResponse {
1080
+ /** List of Resource Pool Snapshots */
1081
+ resourcePoolSnapshots?: ListResourcePoolSnapshotsResponseResourcePoolSnapshotsList;
1082
+ }
1083
+ export const ListResourcePoolSnapshotsResponse = /*@__PURE__*/ S.suspend(() =>
1084
+ S.Struct({
1085
+ resourcePoolSnapshots: S.optional(ListResourcePoolSnapshotsResponseResourcePoolSnapshotsList),
1086
+ }),
1087
+ ).annotate({
1088
+ identifier: "ListResourcePoolSnapshotsResponse",
1089
+ }) as any as S.Schema<ListResourcePoolSnapshotsResponse>;
1090
+
1091
+ export interface ListShareExportPoliciesRequest {
1092
+ projectId: string;
1093
+ region: string;
1094
+ }
1095
+ export const ListShareExportPoliciesRequest = /*@__PURE__*/ S.suspend(() =>
1096
+ S.Struct({
1097
+ projectId: S.String.pipe(T.Label()),
1098
+ region: S.String.pipe(T.Label()),
1099
+ }).pipe(
1100
+ T.Http({
1101
+ method: "GET",
1102
+ uri: "/v1/projects/{projectId}/regions/{region}/shareExportPolicies",
1103
+ code: 200,
1104
+ baseUrl: "https://sfs.api.stackit.cloud",
1105
+ }),
1106
+ ),
1107
+ ).annotate({
1108
+ identifier: "ListShareExportPoliciesRequest",
1109
+ }) as any as S.Schema<ListShareExportPoliciesRequest>;
1110
+
1111
+ /** List of Share Export Policies */
1112
+ export type ListShareExportPoliciesResponseShareExportPoliciesList = Array<ShareExportPolicy>;
1113
+ export const ListShareExportPoliciesResponseShareExportPoliciesList = /*@__PURE__*/ S.Array(
1114
+ ShareExportPolicy,
1115
+ ) as any as S.Schema<ListShareExportPoliciesResponseShareExportPoliciesList>;
1116
+
1117
+ export interface ListShareExportPoliciesResponse {
1118
+ /** List of Share Export Policies */
1119
+ shareExportPolicies?: ListShareExportPoliciesResponseShareExportPoliciesList;
1120
+ }
1121
+ export const ListShareExportPoliciesResponse = /*@__PURE__*/ S.suspend(() =>
1122
+ S.Struct({
1123
+ shareExportPolicies: S.optional(ListShareExportPoliciesResponseShareExportPoliciesList),
1124
+ }),
1125
+ ).annotate({
1126
+ identifier: "ListShareExportPoliciesResponse",
1127
+ }) as any as S.Schema<ListShareExportPoliciesResponse>;
1128
+
1129
+ export interface ListSharesRequest {
1130
+ projectId: string;
1131
+ region: string;
1132
+ resourcePoolId: string;
1133
+ }
1134
+ export const ListSharesRequest = /*@__PURE__*/ S.suspend(() =>
1135
+ S.Struct({
1136
+ projectId: S.String.pipe(T.Label()),
1137
+ region: S.String.pipe(T.Label()),
1138
+ resourcePoolId: S.String.pipe(T.Label()),
1139
+ }).pipe(
1140
+ T.Http({
1141
+ method: "GET",
1142
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/shares",
1143
+ code: 200,
1144
+ baseUrl: "https://sfs.api.stackit.cloud",
1145
+ }),
1146
+ ),
1147
+ ).annotate({ identifier: "ListSharesRequest" }) as any as S.Schema<ListSharesRequest>;
1148
+
1149
+ /** List of Shares */
1150
+ export type ListSharesResponseSharesList = Array<Share>;
1151
+ export const ListSharesResponseSharesList = /*@__PURE__*/ S.Array(
1152
+ Share,
1153
+ ) as any as S.Schema<ListSharesResponseSharesList>;
1154
+
1155
+ export interface ListSharesResponse {
1156
+ /** List of Shares */
1157
+ shares?: ListSharesResponseSharesList;
1158
+ }
1159
+ export const ListSharesResponse = /*@__PURE__*/ S.suspend(() =>
1160
+ S.Struct({
1161
+ shares: S.optional(ListSharesResponseSharesList),
1162
+ }),
1163
+ ).annotate({ identifier: "ListSharesResponse" }) as any as S.Schema<ListSharesResponse>;
1164
+
1165
+ export interface ListSnapshotPoliciesRequest {
1166
+ projectId: string;
1167
+ immutable?: boolean;
1168
+ }
1169
+ export const ListSnapshotPoliciesRequest = /*@__PURE__*/ S.suspend(() =>
1170
+ S.Struct({
1171
+ projectId: S.String.pipe(T.Label()),
1172
+ immutable: S.optional(S.Boolean.pipe(T.Query())),
1173
+ }).pipe(
1174
+ T.Http({
1175
+ method: "GET",
1176
+ uri: "/v1/projects/{projectId}/snapshotPolicies",
1177
+ code: 200,
1178
+ baseUrl: "https://sfs.api.stackit.cloud",
1179
+ }),
1180
+ ),
1181
+ ).annotate({
1182
+ identifier: "ListSnapshotPoliciesRequest",
1183
+ }) as any as S.Schema<ListSnapshotPoliciesRequest>;
1184
+
1185
+ /** List of Snapshot Policies */
1186
+ export type ListSnapshotPoliciesResponseSnapshotPoliciesList = Array<SnapshotPolicy>;
1187
+ export const ListSnapshotPoliciesResponseSnapshotPoliciesList = /*@__PURE__*/ S.Array(
1188
+ SnapshotPolicy,
1189
+ ) as any as S.Schema<ListSnapshotPoliciesResponseSnapshotPoliciesList>;
1190
+
1191
+ export interface ListSnapshotPoliciesResponse {
1192
+ /** List of Snapshot Policies */
1193
+ snapshotPolicies?: ListSnapshotPoliciesResponseSnapshotPoliciesList;
1194
+ }
1195
+ export const ListSnapshotPoliciesResponse = /*@__PURE__*/ S.suspend(() =>
1196
+ S.Struct({
1197
+ snapshotPolicies: S.optional(ListSnapshotPoliciesResponseSnapshotPoliciesList),
1198
+ }),
1199
+ ).annotate({
1200
+ identifier: "ListSnapshotPoliciesResponse",
1201
+ }) as any as S.Schema<ListSnapshotPoliciesResponse>;
1202
+
1203
+ /** (optional) List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
1204
+ export type UpdateResourcePoolRequestIpAclList = Array<string>;
1205
+ export const UpdateResourcePoolRequestIpAclList = /*@__PURE__*/ S.Array(
1206
+ S.String,
1207
+ ) as any as S.Schema<UpdateResourcePoolRequestIpAclList>;
1208
+
1209
+ /** An optional object that represents the labels associated with the resource pool. */
1210
+ export type UpdateResourcePoolRequestLabelsMap = { [key: string]: string | undefined };
1211
+ export const UpdateResourcePoolRequestLabelsMap = /*@__PURE__*/ S.Record(
1212
+ S.String,
1213
+ S.String,
1214
+ ) as any as S.Schema<UpdateResourcePoolRequestLabelsMap>;
1215
+
1216
+ export interface UpdateResourcePoolRequest {
1217
+ projectId: string;
1218
+ region: string;
1219
+ resourcePoolId: string;
1220
+ /** (optional) List of IPs that can mount the Resource Pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) */
1221
+ ipAcl?: UpdateResourcePoolRequestIpAclList;
1222
+ /** An optional object that represents the labels associated with the resource pool. */
1223
+ labels?: UpdateResourcePoolRequestLabelsMap;
1224
+ /** (optional) Name of the performance class */
1225
+ performanceClass?: string;
1226
+ /** (optional) Size of the Resource Pool (unit: gigabytes) */
1227
+ sizeGigabytes?: number | null;
1228
+ /** (optional) Id of the Snapshot Policy to use If not set, the Snapshot Policy is not updated If set to an empty string, the Snapshot Policy is removed */
1229
+ snapshotPolicyId?: string | null;
1230
+ /** Whether the .snapshot directory is visible when mounting the resource pool. Setting this value to false might prevent you from accessing the snapshots (e.g. for security reasons). Additionally, the access to the snapshots is always controlled by the export policy of the resource pool. That means, if snapshots are visible and the export policy allows for reading the resource pool, then it also allows reading the snapshot of all shares. */
1231
+ snapshotsAreVisible?: boolean;
1232
+ }
1233
+ export const UpdateResourcePoolRequest = /*@__PURE__*/ S.suspend(() =>
1234
+ S.Struct({
1235
+ projectId: S.String.pipe(T.Label()),
1236
+ region: S.String.pipe(T.Label()),
1237
+ resourcePoolId: S.String.pipe(T.Label()),
1238
+ ipAcl: S.optional(UpdateResourcePoolRequestIpAclList),
1239
+ labels: S.optional(UpdateResourcePoolRequestLabelsMap),
1240
+ performanceClass: S.optional(S.String),
1241
+ sizeGigabytes: S.optional(S.NullOr(S.Number)),
1242
+ snapshotPolicyId: S.optional(S.NullOr(S.String)),
1243
+ snapshotsAreVisible: S.optional(S.Boolean),
1244
+ }).pipe(
1245
+ T.Http({
1246
+ method: "PATCH",
1247
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}",
1248
+ code: 200,
1249
+ baseUrl: "https://sfs.api.stackit.cloud",
1250
+ }),
1251
+ ),
1252
+ ).annotate({
1253
+ identifier: "UpdateResourcePoolRequest",
1254
+ }) as any as S.Schema<UpdateResourcePoolRequest>;
1255
+
1256
+ export interface UpdateResourcePoolResponse {
1257
+ /** Updated Resource Pool */
1258
+ resourcePool?: ResourcePool;
1259
+ }
1260
+ export const UpdateResourcePoolResponse = /*@__PURE__*/ S.suspend(() =>
1261
+ S.Struct({
1262
+ resourcePool: S.optional(ResourcePool),
1263
+ }),
1264
+ ).annotate({
1265
+ identifier: "UpdateResourcePoolResponse",
1266
+ }) as any as S.Schema<UpdateResourcePoolResponse>;
1267
+
1268
+ export interface UpdateResourcePoolSnapshotRequest {
1269
+ projectId: string;
1270
+ region: string;
1271
+ resourcePoolId: string;
1272
+ snapshotName: string;
1273
+ /** (optional) A comment to add more information about a snapshot */
1274
+ comment?: string | null;
1275
+ /** (optional) name of the Resource Pool Snapshot */
1276
+ name?: string | null;
1277
+ }
1278
+ export const UpdateResourcePoolSnapshotRequest = /*@__PURE__*/ S.suspend(() =>
1279
+ S.Struct({
1280
+ projectId: S.String.pipe(T.Label()),
1281
+ region: S.String.pipe(T.Label()),
1282
+ resourcePoolId: S.String.pipe(T.Label()),
1283
+ snapshotName: S.String.pipe(T.Label()),
1284
+ comment: S.optional(S.NullOr(S.String)),
1285
+ name: S.optional(S.NullOr(S.String)),
1286
+ }).pipe(
1287
+ T.Http({
1288
+ method: "PATCH",
1289
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/snapshots/{snapshotName}",
1290
+ code: 200,
1291
+ baseUrl: "https://sfs.api.stackit.cloud",
1292
+ }),
1293
+ ),
1294
+ ).annotate({
1295
+ identifier: "UpdateResourcePoolSnapshotRequest",
1296
+ }) as any as S.Schema<UpdateResourcePoolSnapshotRequest>;
1297
+
1298
+ export interface UpdateResourcePoolSnapshotResponse {
1299
+ /** Updated Resource Pool Snapshot */
1300
+ resourcePoolSnapshot?: ResourcePoolSnapshot;
1301
+ }
1302
+ export const UpdateResourcePoolSnapshotResponse = /*@__PURE__*/ S.suspend(() =>
1303
+ S.Struct({
1304
+ resourcePoolSnapshot: S.optional(ResourcePoolSnapshot),
1305
+ }),
1306
+ ).annotate({
1307
+ identifier: "UpdateResourcePoolSnapshotResponse",
1308
+ }) as any as S.Schema<UpdateResourcePoolSnapshotResponse>;
1309
+
1310
+ /** An optional object that represents the labels associated with the share. */
1311
+ export type UpdateShareRequestLabelsMap = { [key: string]: string | undefined };
1312
+ export const UpdateShareRequestLabelsMap = /*@__PURE__*/ S.Record(
1313
+ S.String,
1314
+ S.String,
1315
+ ) as any as S.Schema<UpdateShareRequestLabelsMap>;
1316
+
1317
+ export interface UpdateShareRequest {
1318
+ projectId: string;
1319
+ region: string;
1320
+ resourcePoolId: string;
1321
+ shareId: string;
1322
+ /** Name of the Share Export Policy to use in the Share. The behavior depends on the value: - If not set (null): Keep the existing export policy (if any) - If set to empty string (""): Remove the existing export policy - If set to a policy name: Update to use the specified policy, creating a new association if none exists */
1323
+ exportPolicyName?: string | null;
1324
+ /** An optional object that represents the labels associated with the share. */
1325
+ labels?: UpdateShareRequestLabelsMap;
1326
+ /** Space hard limit for the Share. If zero, the Share will have access to the full space of the Resource Pool it lives in. (unit: gibibytes) */
1327
+ spaceHardLimitGigabytes?: number | null;
1328
+ }
1329
+ export const UpdateShareRequest = /*@__PURE__*/ S.suspend(() =>
1330
+ S.Struct({
1331
+ projectId: S.String.pipe(T.Label()),
1332
+ region: S.String.pipe(T.Label()),
1333
+ resourcePoolId: S.String.pipe(T.Label()),
1334
+ shareId: S.String.pipe(T.Label()),
1335
+ exportPolicyName: S.optional(S.NullOr(S.String)),
1336
+ labels: S.optional(UpdateShareRequestLabelsMap),
1337
+ spaceHardLimitGigabytes: S.optional(S.NullOr(S.Number)),
1338
+ }).pipe(
1339
+ T.Http({
1340
+ method: "PATCH",
1341
+ uri: "/v1/projects/{projectId}/regions/{region}/resourcePools/{resourcePoolId}/shares/{shareId}",
1342
+ code: 200,
1343
+ baseUrl: "https://sfs.api.stackit.cloud",
1344
+ }),
1345
+ ),
1346
+ ).annotate({ identifier: "UpdateShareRequest" }) as any as S.Schema<UpdateShareRequest>;
1347
+
1348
+ export interface UpdateShareResponse {
1349
+ /** Updated Share */
1350
+ share?: Share;
1351
+ }
1352
+ export const UpdateShareResponse = /*@__PURE__*/ S.suspend(() =>
1353
+ S.Struct({
1354
+ share: S.optional(Share),
1355
+ }),
1356
+ ).annotate({ identifier: "UpdateShareResponse" }) as any as S.Schema<UpdateShareResponse>;
1357
+
1358
+ /** An optional object that represents the labels associated with the share export policy. */
1359
+ export type UpdateShareExportPolicyRequestLabelsMap = { [key: string]: string | undefined };
1360
+ export const UpdateShareExportPolicyRequestLabelsMap = /*@__PURE__*/ S.Record(
1361
+ S.String,
1362
+ S.String,
1363
+ ) as any as S.Schema<UpdateShareExportPolicyRequestLabelsMap>;
1364
+
1365
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) This array cannot be empty */
1366
+ export type UpdateShareExportPolicyBodyRuleIpAclList = Array<string>;
1367
+ export const UpdateShareExportPolicyBodyRuleIpAclList = /*@__PURE__*/ S.Array(
1368
+ S.String,
1369
+ ) as any as S.Schema<UpdateShareExportPolicyBodyRuleIpAclList>;
1370
+
1371
+ export interface UpdateShareExportPolicyBodyRule {
1372
+ /** Description of the Rule (optional) */
1373
+ description?: string | null;
1374
+ /** IP access control list, where IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP) This array cannot be empty */
1375
+ ipAcl?: UpdateShareExportPolicyBodyRuleIpAclList;
1376
+ /** Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied This field must be set */
1377
+ order?: number;
1378
+ /** Flag to indicate if client IPs matching this rule can only mount the share in read only mode Default: false */
1379
+ readOnly?: boolean;
1380
+ /** Flag to honor set UUID Default: false */
1381
+ setUuid?: boolean;
1382
+ /** Flag to indicate if client IPs matching this rule have root access on the Share Default: true */
1383
+ superUser?: boolean;
1384
+ }
1385
+ export const UpdateShareExportPolicyBodyRule = /*@__PURE__*/ S.suspend(() =>
1386
+ S.Struct({
1387
+ description: S.optional(S.NullOr(S.String)),
1388
+ ipAcl: S.optional(UpdateShareExportPolicyBodyRuleIpAclList),
1389
+ order: S.optional(S.Number),
1390
+ readOnly: S.optional(S.Boolean),
1391
+ setUuid: S.optional(S.Boolean),
1392
+ superUser: S.optional(S.Boolean),
1393
+ }),
1394
+ ).annotate({
1395
+ identifier: "UpdateShareExportPolicyBodyRule",
1396
+ }) as any as S.Schema<UpdateShareExportPolicyBodyRule>;
1397
+
1398
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule. The whole set of rules needs to be sent in the same request, e.g. if 1 rule is sent, the share export policy will have just that 1 rule, as opposed to extending the existing set of rules with the 1 rule that was sent Important note: the array of rules passed always overwrites the rule array (i.e. sending an empty array removes all rules) */
1399
+ export type UpdateShareExportPolicyRequestRulesList = Array<UpdateShareExportPolicyBodyRule>;
1400
+ export const UpdateShareExportPolicyRequestRulesList = /*@__PURE__*/ S.Array(
1401
+ UpdateShareExportPolicyBodyRule,
1402
+ ) as any as S.Schema<UpdateShareExportPolicyRequestRulesList>;
1403
+
1404
+ export interface UpdateShareExportPolicyRequest {
1405
+ projectId: string;
1406
+ region: string;
1407
+ policyId: string;
1408
+ /** An optional object that represents the labels associated with the share export policy. */
1409
+ labels?: UpdateShareExportPolicyRequestLabelsMap;
1410
+ /** List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule. The whole set of rules needs to be sent in the same request, e.g. if 1 rule is sent, the share export policy will have just that 1 rule, as opposed to extending the existing set of rules with the 1 rule that was sent Important note: the array of rules passed always overwrites the rule array (i.e. sending an empty array removes all rules) */
1411
+ rules?: UpdateShareExportPolicyRequestRulesList | null;
1412
+ }
1413
+ export const UpdateShareExportPolicyRequest = /*@__PURE__*/ S.suspend(() =>
1414
+ S.Struct({
1415
+ projectId: S.String.pipe(T.Label()),
1416
+ region: S.String.pipe(T.Label()),
1417
+ policyId: S.String.pipe(T.Label()),
1418
+ labels: S.optional(UpdateShareExportPolicyRequestLabelsMap),
1419
+ rules: S.optional(S.NullOr(UpdateShareExportPolicyRequestRulesList)),
1420
+ }).pipe(
1421
+ T.Http({
1422
+ method: "PATCH",
1423
+ uri: "/v1/projects/{projectId}/regions/{region}/shareExportPolicies/{policyId}",
1424
+ code: 200,
1425
+ baseUrl: "https://sfs.api.stackit.cloud",
1426
+ }),
1427
+ ),
1428
+ ).annotate({
1429
+ identifier: "UpdateShareExportPolicyRequest",
1430
+ }) as any as S.Schema<UpdateShareExportPolicyRequest>;
1431
+
1432
+ export interface UpdateShareExportPolicyResponse {
1433
+ shareExportPolicy?: ShareExportPolicy;
1434
+ }
1435
+ export const UpdateShareExportPolicyResponse = /*@__PURE__*/ S.suspend(() =>
1436
+ S.Struct({
1437
+ shareExportPolicy: S.optional(ShareExportPolicy),
1438
+ }),
1439
+ ).annotate({
1440
+ identifier: "UpdateShareExportPolicyResponse",
1441
+ }) as any as S.Schema<UpdateShareExportPolicyResponse>;
1442
+
1443
+ export type CreateResourcePoolError = BadRequest | StackitOpError;
1444
+ /** Create Resource Pool Create a Resource Pool in a project. */
1445
+ export const createResourcePool: API.OperationMethod<
1446
+ CreateResourcePoolRequest,
1447
+ CreateResourcePoolResponse,
1448
+ CreateResourcePoolError,
1449
+ StackitOpContext
1450
+ > = /*@__PURE__*/ API.make(() => ({
1451
+ input: CreateResourcePoolRequest,
1452
+ output: CreateResourcePoolResponse,
1453
+ errors: [BadRequest, UnknownStackitError],
1454
+ protocol: StackitProtocol,
1455
+ retry: Retry.Retry,
1456
+ }));
1457
+
1458
+ export type CreateResourcePoolSnapshotError = BadRequest | StackitOpError;
1459
+ /** Create Resource Pool Snapshot Creates a Snapshot of a Resource Pool in a project. */
1460
+ export const createResourcePoolSnapshot: API.OperationMethod<
1461
+ CreateResourcePoolSnapshotRequest,
1462
+ CreateResourcePoolSnapshotResponse,
1463
+ CreateResourcePoolSnapshotError,
1464
+ StackitOpContext
1465
+ > = /*@__PURE__*/ API.make(() => ({
1466
+ input: CreateResourcePoolSnapshotRequest,
1467
+ output: CreateResourcePoolSnapshotResponse,
1468
+ errors: [BadRequest, UnknownStackitError],
1469
+ protocol: StackitProtocol,
1470
+ retry: Retry.Retry,
1471
+ }));
1472
+
1473
+ export type CreateShareError = BadRequest | StackitOpError;
1474
+ /** Create Share Creates a Share in a Resource Pool in a project. */
1475
+ export const createShare: API.OperationMethod<
1476
+ CreateShareRequest,
1477
+ CreateShareResponse,
1478
+ CreateShareError,
1479
+ StackitOpContext
1480
+ > = /*@__PURE__*/ API.make(() => ({
1481
+ input: CreateShareRequest,
1482
+ output: CreateShareResponse,
1483
+ errors: [BadRequest, UnknownStackitError],
1484
+ protocol: StackitProtocol,
1485
+ retry: Retry.Retry,
1486
+ }));
1487
+
1488
+ export type CreateShareExportPolicyError = BadRequest | StackitOpError;
1489
+ /** Create Share Export Policy Creates a ShareExportPolicy in a Resource Pool in a project. */
1490
+ export const createShareExportPolicy: API.OperationMethod<
1491
+ CreateShareExportPolicyRequest,
1492
+ CreateShareExportPolicyResponse,
1493
+ CreateShareExportPolicyError,
1494
+ StackitOpContext
1495
+ > = /*@__PURE__*/ API.make(() => ({
1496
+ input: CreateShareExportPolicyRequest,
1497
+ output: CreateShareExportPolicyResponse,
1498
+ errors: [BadRequest, UnknownStackitError],
1499
+ protocol: StackitProtocol,
1500
+ retry: Retry.Retry,
1501
+ }));
1502
+
1503
+ export type DeleteResourcePoolError = BadRequest | StackitOpError;
1504
+ /** Delete Resource Pool Deletes a Resource Pool in a project. */
1505
+ export const deleteResourcePool: API.OperationMethod<
1506
+ DeleteResourcePoolRequest,
1507
+ DeleteResourcePoolResponse2,
1508
+ DeleteResourcePoolError,
1509
+ StackitOpContext
1510
+ > = /*@__PURE__*/ API.make(() => ({
1511
+ input: DeleteResourcePoolRequest,
1512
+ output: DeleteResourcePoolResponse2,
1513
+ errors: [BadRequest, UnknownStackitError],
1514
+ protocol: StackitProtocol,
1515
+ retry: Retry.Retry,
1516
+ }));
1517
+
1518
+ export type DeleteResourcePoolSnapshotError = BadRequest | StackitOpError;
1519
+ /** Delete Resource Pool Snapshot Deletes a Snapshot from a Resource Pool in a project. */
1520
+ export const deleteResourcePoolSnapshot: API.OperationMethod<
1521
+ DeleteResourcePoolSnapshotRequest,
1522
+ DeleteResourcePoolSnapshotResponse2,
1523
+ DeleteResourcePoolSnapshotError,
1524
+ StackitOpContext
1525
+ > = /*@__PURE__*/ API.make(() => ({
1526
+ input: DeleteResourcePoolSnapshotRequest,
1527
+ output: DeleteResourcePoolSnapshotResponse2,
1528
+ errors: [BadRequest, UnknownStackitError],
1529
+ protocol: StackitProtocol,
1530
+ retry: Retry.Retry,
1531
+ }));
1532
+
1533
+ export type DeleteShareError = BadRequest | StackitOpError;
1534
+ /** Delete Share Deletes a Shares in a Resource Pool in a project. */
1535
+ export const deleteShare: API.OperationMethod<
1536
+ DeleteShareRequest,
1537
+ DeleteShareResponse2,
1538
+ DeleteShareError,
1539
+ StackitOpContext
1540
+ > = /*@__PURE__*/ API.make(() => ({
1541
+ input: DeleteShareRequest,
1542
+ output: DeleteShareResponse2,
1543
+ errors: [BadRequest, UnknownStackitError],
1544
+ protocol: StackitProtocol,
1545
+ retry: Retry.Retry,
1546
+ }));
1547
+
1548
+ export type DeleteShareExportPolicyError = BadRequest | StackitOpError;
1549
+ /** Delete Share Export Policy Deletes a ShareExportPolicies in a Resource Pool in a project. */
1550
+ export const deleteShareExportPolicy: API.OperationMethod<
1551
+ DeleteShareExportPolicyRequest,
1552
+ DeleteShareExportPolicyResponse2,
1553
+ DeleteShareExportPolicyError,
1554
+ StackitOpContext
1555
+ > = /*@__PURE__*/ API.make(() => ({
1556
+ input: DeleteShareExportPolicyRequest,
1557
+ output: DeleteShareExportPolicyResponse2,
1558
+ errors: [BadRequest, UnknownStackitError],
1559
+ protocol: StackitProtocol,
1560
+ retry: Retry.Retry,
1561
+ }));
1562
+
1563
+ export type DisableLockError = StackitOpError;
1564
+ /** Clean up locks for a project so that it can be deleted successfully. */
1565
+ export const disableLock: API.OperationMethod<
1566
+ DisableLockRequest,
1567
+ DisableLockResponse2,
1568
+ DisableLockError,
1569
+ StackitOpContext
1570
+ > = /*@__PURE__*/ API.make(() => ({
1571
+ input: DisableLockRequest,
1572
+ output: DisableLockResponse2,
1573
+ errors: [UnknownStackitError],
1574
+ protocol: StackitProtocol,
1575
+ retry: Retry.Retry,
1576
+ }));
1577
+
1578
+ export type EnableLockError = StackitOpError;
1579
+ /** Enable Lock for a project. Necessary for immutable snapshots and to prevent accidental deletion of resources. */
1580
+ export const enableLock: API.OperationMethod<
1581
+ EnableLockRequest,
1582
+ EnableLockResponse,
1583
+ EnableLockError,
1584
+ StackitOpContext
1585
+ > = /*@__PURE__*/ API.make(() => ({
1586
+ input: EnableLockRequest,
1587
+ output: EnableLockResponse,
1588
+ errors: [UnknownStackitError],
1589
+ protocol: StackitProtocol,
1590
+ retry: Retry.Retry,
1591
+ }));
1592
+
1593
+ export type GetLockError = StackitOpError;
1594
+ /** Get lock status for a project. */
1595
+ export const getLock: API.OperationMethod<
1596
+ GetLockRequest,
1597
+ GetLockResponse,
1598
+ GetLockError,
1599
+ StackitOpContext
1600
+ > = /*@__PURE__*/ API.make(() => ({
1601
+ input: GetLockRequest,
1602
+ output: GetLockResponse,
1603
+ errors: [UnknownStackitError],
1604
+ protocol: StackitProtocol,
1605
+ retry: Retry.Retry,
1606
+ }));
1607
+
1608
+ export type GetResourcePoolError = BadRequest | StackitOpError;
1609
+ /** Get Resource Pool Retrieves a Resource Pool in a project. */
1610
+ export const getResourcePool: API.OperationMethod<
1611
+ GetResourcePoolRequest,
1612
+ GetResourcePoolResponse,
1613
+ GetResourcePoolError,
1614
+ StackitOpContext
1615
+ > = /*@__PURE__*/ API.make(() => ({
1616
+ input: GetResourcePoolRequest,
1617
+ output: GetResourcePoolResponse,
1618
+ errors: [BadRequest, UnknownStackitError],
1619
+ protocol: StackitProtocol,
1620
+ retry: Retry.Retry,
1621
+ }));
1622
+
1623
+ export type GetResourcePoolSnapshotError = BadRequest | StackitOpError;
1624
+ /** Get Resource Pool Snapshot Retrieves a Snapshot from a Resource Pool in a project. */
1625
+ export const getResourcePoolSnapshot: API.OperationMethod<
1626
+ GetResourcePoolSnapshotRequest,
1627
+ GetResourcePoolSnapshotResponse,
1628
+ GetResourcePoolSnapshotError,
1629
+ StackitOpContext
1630
+ > = /*@__PURE__*/ API.make(() => ({
1631
+ input: GetResourcePoolSnapshotRequest,
1632
+ output: GetResourcePoolSnapshotResponse,
1633
+ errors: [BadRequest, UnknownStackitError],
1634
+ protocol: StackitProtocol,
1635
+ retry: Retry.Retry,
1636
+ }));
1637
+
1638
+ export type GetShareError = BadRequest | StackitOpError;
1639
+ /** Get Share Retrieves a Shares in a Resource Pool in a project. */
1640
+ export const getShare: API.OperationMethod<
1641
+ GetShareRequest,
1642
+ GetShareResponse,
1643
+ GetShareError,
1644
+ StackitOpContext
1645
+ > = /*@__PURE__*/ API.make(() => ({
1646
+ input: GetShareRequest,
1647
+ output: GetShareResponse,
1648
+ errors: [BadRequest, UnknownStackitError],
1649
+ protocol: StackitProtocol,
1650
+ retry: Retry.Retry,
1651
+ }));
1652
+
1653
+ export type GetShareExportPolicyError = BadRequest | StackitOpError;
1654
+ /** Get Share Export Policy Retrieves a ShareExportPolicies in a Resource Pool in a project. */
1655
+ export const getShareExportPolicy: API.OperationMethod<
1656
+ GetShareExportPolicyRequest,
1657
+ GetShareExportPolicyResponse,
1658
+ GetShareExportPolicyError,
1659
+ StackitOpContext
1660
+ > = /*@__PURE__*/ API.make(() => ({
1661
+ input: GetShareExportPolicyRequest,
1662
+ output: GetShareExportPolicyResponse,
1663
+ errors: [BadRequest, UnknownStackitError],
1664
+ protocol: StackitProtocol,
1665
+ retry: Retry.Retry,
1666
+ }));
1667
+
1668
+ export type GetSnapshotPolicyError = StackitOpError;
1669
+ /** Get Snapshot Policy */
1670
+ export const getSnapshotPolicy: API.OperationMethod<
1671
+ GetSnapshotPolicyRequest,
1672
+ GetSnapshotPolicyResponse,
1673
+ GetSnapshotPolicyError,
1674
+ StackitOpContext
1675
+ > = /*@__PURE__*/ API.make(() => ({
1676
+ input: GetSnapshotPolicyRequest,
1677
+ output: GetSnapshotPolicyResponse,
1678
+ errors: [UnknownStackitError],
1679
+ protocol: StackitProtocol,
1680
+ retry: Retry.Retry,
1681
+ }));
1682
+
1683
+ export type ListPerformanceClassesError = BadRequest | StackitOpError;
1684
+ /** List Resource Performance Classes Lists all performances classes available */
1685
+ export const listPerformanceClasses: API.OperationMethod<
1686
+ ListPerformanceClassesRequest,
1687
+ ListPerformanceClassesResponse,
1688
+ ListPerformanceClassesError,
1689
+ StackitOpContext
1690
+ > = /*@__PURE__*/ API.make(() => ({
1691
+ input: ListPerformanceClassesRequest,
1692
+ output: ListPerformanceClassesResponse,
1693
+ errors: [BadRequest, UnknownStackitError],
1694
+ protocol: StackitProtocol,
1695
+ retry: Retry.Retry,
1696
+ }));
1697
+
1698
+ export type ListResourcePoolsError = BadRequest | StackitOpError;
1699
+ /** List Resource Pools Lists Resource Pools in a project. */
1700
+ export const listResourcePools: API.OperationMethod<
1701
+ ListResourcePoolsRequest,
1702
+ ListResourcePoolsResponse,
1703
+ ListResourcePoolsError,
1704
+ StackitOpContext
1705
+ > = /*@__PURE__*/ API.make(() => ({
1706
+ input: ListResourcePoolsRequest,
1707
+ output: ListResourcePoolsResponse,
1708
+ errors: [BadRequest, UnknownStackitError],
1709
+ protocol: StackitProtocol,
1710
+ retry: Retry.Retry,
1711
+ }));
1712
+
1713
+ export type ListResourcePoolSnapshotsError = BadRequest | StackitOpError;
1714
+ /** List Resource Pool Snapshots Lists the Snapshots of a Resource Pool in a project. */
1715
+ export const listResourcePoolSnapshots: API.OperationMethod<
1716
+ ListResourcePoolSnapshotsRequest,
1717
+ ListResourcePoolSnapshotsResponse,
1718
+ ListResourcePoolSnapshotsError,
1719
+ StackitOpContext
1720
+ > = /*@__PURE__*/ API.make(() => ({
1721
+ input: ListResourcePoolSnapshotsRequest,
1722
+ output: ListResourcePoolSnapshotsResponse,
1723
+ errors: [BadRequest, UnknownStackitError],
1724
+ protocol: StackitProtocol,
1725
+ retry: Retry.Retry,
1726
+ }));
1727
+
1728
+ export type ListShareExportPoliciesError = BadRequest | StackitOpError;
1729
+ /** List Share Export Policies Lists ShareExportPolicies in a Resource Pool in a project. */
1730
+ export const listShareExportPolicies: API.OperationMethod<
1731
+ ListShareExportPoliciesRequest,
1732
+ ListShareExportPoliciesResponse,
1733
+ ListShareExportPoliciesError,
1734
+ StackitOpContext
1735
+ > = /*@__PURE__*/ API.make(() => ({
1736
+ input: ListShareExportPoliciesRequest,
1737
+ output: ListShareExportPoliciesResponse,
1738
+ errors: [BadRequest, UnknownStackitError],
1739
+ protocol: StackitProtocol,
1740
+ retry: Retry.Retry,
1741
+ }));
1742
+
1743
+ export type ListSharesError = BadRequest | StackitOpError;
1744
+ /** List Shares Lists Shares in a Resource Pool in a project. */
1745
+ export const listShares: API.OperationMethod<
1746
+ ListSharesRequest,
1747
+ ListSharesResponse,
1748
+ ListSharesError,
1749
+ StackitOpContext
1750
+ > = /*@__PURE__*/ API.make(() => ({
1751
+ input: ListSharesRequest,
1752
+ output: ListSharesResponse,
1753
+ errors: [BadRequest, UnknownStackitError],
1754
+ protocol: StackitProtocol,
1755
+ retry: Retry.Retry,
1756
+ }));
1757
+
1758
+ export type ListSnapshotPoliciesError = StackitOpError;
1759
+ /** List Snapshot Policies */
1760
+ export const listSnapshotPolicies: API.OperationMethod<
1761
+ ListSnapshotPoliciesRequest,
1762
+ ListSnapshotPoliciesResponse,
1763
+ ListSnapshotPoliciesError,
1764
+ StackitOpContext
1765
+ > = /*@__PURE__*/ API.make(() => ({
1766
+ input: ListSnapshotPoliciesRequest,
1767
+ output: ListSnapshotPoliciesResponse,
1768
+ errors: [UnknownStackitError],
1769
+ protocol: StackitProtocol,
1770
+ retry: Retry.Retry,
1771
+ }));
1772
+
1773
+ export type UpdateResourcePoolError = BadRequest | StackitOpError;
1774
+ /** Update Resource Pool Updates a Resource Pool in a project. */
1775
+ export const updateResourcePool: API.OperationMethod<
1776
+ UpdateResourcePoolRequest,
1777
+ UpdateResourcePoolResponse,
1778
+ UpdateResourcePoolError,
1779
+ StackitOpContext
1780
+ > = /*@__PURE__*/ API.make(() => ({
1781
+ input: UpdateResourcePoolRequest,
1782
+ output: UpdateResourcePoolResponse,
1783
+ errors: [BadRequest, UnknownStackitError],
1784
+ protocol: StackitProtocol,
1785
+ retry: Retry.Retry,
1786
+ }));
1787
+
1788
+ export type UpdateResourcePoolSnapshotError = BadRequest | StackitOpError;
1789
+ /** Update Resource Pool Snapshot Updates a Snapshot from a Resource Pool in a project. */
1790
+ export const updateResourcePoolSnapshot: API.OperationMethod<
1791
+ UpdateResourcePoolSnapshotRequest,
1792
+ UpdateResourcePoolSnapshotResponse,
1793
+ UpdateResourcePoolSnapshotError,
1794
+ StackitOpContext
1795
+ > = /*@__PURE__*/ API.make(() => ({
1796
+ input: UpdateResourcePoolSnapshotRequest,
1797
+ output: UpdateResourcePoolSnapshotResponse,
1798
+ errors: [BadRequest, UnknownStackitError],
1799
+ protocol: StackitProtocol,
1800
+ retry: Retry.Retry,
1801
+ }));
1802
+
1803
+ export type UpdateShareError = BadRequest | StackitOpError;
1804
+ /** Update Share Updates a Shares in a Resource Pool in a project. */
1805
+ export const updateShare: API.OperationMethod<
1806
+ UpdateShareRequest,
1807
+ UpdateShareResponse,
1808
+ UpdateShareError,
1809
+ StackitOpContext
1810
+ > = /*@__PURE__*/ API.make(() => ({
1811
+ input: UpdateShareRequest,
1812
+ output: UpdateShareResponse,
1813
+ errors: [BadRequest, UnknownStackitError],
1814
+ protocol: StackitProtocol,
1815
+ retry: Retry.Retry,
1816
+ }));
1817
+
1818
+ export type UpdateShareExportPolicyError = BadRequest | StackitOpError;
1819
+ /** Update Share Export Policy Updates a ShareExportPolicies in a Resource Pool in a project. */
1820
+ export const updateShareExportPolicy: API.OperationMethod<
1821
+ UpdateShareExportPolicyRequest,
1822
+ UpdateShareExportPolicyResponse,
1823
+ UpdateShareExportPolicyError,
1824
+ StackitOpContext
1825
+ > = /*@__PURE__*/ API.make(() => ({
1826
+ input: UpdateShareExportPolicyRequest,
1827
+ output: UpdateShareExportPolicyResponse,
1828
+ errors: [BadRequest, UnknownStackitError],
1829
+ protocol: StackitProtocol,
1830
+ retry: Retry.Retry,
1831
+ }));