@distilled.cloud/stackit 0.0.0-placeholder → 1.0.0-rc.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -0
  3. package/lib/credentials.d.ts +29 -0
  4. package/lib/credentials.d.ts.map +1 -0
  5. package/lib/credentials.js +49 -0
  6. package/lib/credentials.js.map +1 -0
  7. package/lib/errors.d.ts +36 -0
  8. package/lib/errors.d.ts.map +1 -0
  9. package/lib/errors.js +26 -0
  10. package/lib/errors.js.map +1 -0
  11. package/lib/index.d.ts +30 -0
  12. package/lib/index.d.ts.map +1 -0
  13. package/lib/index.js +30 -0
  14. package/lib/index.js.map +1 -0
  15. package/lib/pagination.d.ts +9 -0
  16. package/lib/pagination.d.ts.map +1 -0
  17. package/lib/pagination.js +48 -0
  18. package/lib/pagination.js.map +1 -0
  19. package/lib/protocol.d.ts +32 -0
  20. package/lib/protocol.d.ts.map +1 -0
  21. package/lib/protocol.js +148 -0
  22. package/lib/protocol.js.map +1 -0
  23. package/lib/response-validation.test.d.ts +4 -0
  24. package/lib/response-validation.test.d.ts.map +1 -0
  25. package/lib/response-validation.test.js +31 -0
  26. package/lib/response-validation.test.js.map +1 -0
  27. package/lib/retry.d.ts +31 -0
  28. package/lib/retry.d.ts.map +1 -0
  29. package/lib/retry.js +31 -0
  30. package/lib/retry.js.map +1 -0
  31. package/lib/services/alb.d.ts +603 -0
  32. package/lib/services/alb.d.ts.map +1 -0
  33. package/lib/services/alb.js +562 -0
  34. package/lib/services/alb.js.map +1 -0
  35. package/lib/services/alb_waf.d.ts +526 -0
  36. package/lib/services/alb_waf.d.ts.map +1 -0
  37. package/lib/services/alb_waf.js +545 -0
  38. package/lib/services/alb_waf.js.map +1 -0
  39. package/lib/services/authorization.d.ts +251 -0
  40. package/lib/services/authorization.d.ts.map +1 -0
  41. package/lib/services/authorization.js +353 -0
  42. package/lib/services/authorization.js.map +1 -0
  43. package/lib/services/automation.d.ts +358 -0
  44. package/lib/services/automation.d.ts.map +1 -0
  45. package/lib/services/automation.js +426 -0
  46. package/lib/services/automation.js.map +1 -0
  47. package/lib/services/cdn.d.ts +1239 -0
  48. package/lib/services/cdn.d.ts.map +1 -0
  49. package/lib/services/cdn.js +992 -0
  50. package/lib/services/cdn.js.map +1 -0
  51. package/lib/services/certificates.d.ts +201 -0
  52. package/lib/services/certificates.d.ts.map +1 -0
  53. package/lib/services/certificates.js +197 -0
  54. package/lib/services/certificates.js.map +1 -0
  55. package/lib/services/cost.d.ts +222 -0
  56. package/lib/services/cost.d.ts.map +1 -0
  57. package/lib/services/cost.js +188 -0
  58. package/lib/services/cost.js.map +1 -0
  59. package/lib/services/dns.d.ts +875 -0
  60. package/lib/services/dns.d.ts.map +1 -0
  61. package/lib/services/dns.js +854 -0
  62. package/lib/services/dns.js.map +1 -0
  63. package/lib/services/dremio.d.ts +358 -0
  64. package/lib/services/dremio.d.ts.map +1 -0
  65. package/lib/services/dremio.js +339 -0
  66. package/lib/services/dremio.js.map +1 -0
  67. package/lib/services/edge.d.ts +312 -0
  68. package/lib/services/edge.d.ts.map +1 -0
  69. package/lib/services/edge.js +375 -0
  70. package/lib/services/edge.js.map +1 -0
  71. package/lib/services/functions.d.ts +409 -0
  72. package/lib/services/functions.d.ts.map +1 -0
  73. package/lib/services/functions.js +423 -0
  74. package/lib/services/functions.js.map +1 -0
  75. package/lib/services/git.d.ts +497 -0
  76. package/lib/services/git.d.ts.map +1 -0
  77. package/lib/services/git.js +552 -0
  78. package/lib/services/git.js.map +1 -0
  79. package/lib/services/iaas.d.ts +2965 -0
  80. package/lib/services/iaas.d.ts.map +1 -0
  81. package/lib/services/iaas.js +3768 -0
  82. package/lib/services/iaas.js.map +1 -0
  83. package/lib/services/index.d.ts +51 -0
  84. package/lib/services/index.d.ts.map +1 -0
  85. package/lib/services/index.js +52 -0
  86. package/lib/services/index.js.map +1 -0
  87. package/lib/services/intake.d.ts +555 -0
  88. package/lib/services/intake.d.ts.map +1 -0
  89. package/lib/services/intake.js +513 -0
  90. package/lib/services/intake.js.map +1 -0
  91. package/lib/services/kms.d.ts +654 -0
  92. package/lib/services/kms.d.ts.map +1 -0
  93. package/lib/services/kms.js +703 -0
  94. package/lib/services/kms.js.map +1 -0
  95. package/lib/services/lb_ip_lists.d.ts +162 -0
  96. package/lib/services/lb_ip_lists.d.ts.map +1 -0
  97. package/lib/services/lb_ip_lists.js +173 -0
  98. package/lib/services/lb_ip_lists.js.map +1 -0
  99. package/lib/services/load_balancer.d.ts +563 -0
  100. package/lib/services/load_balancer.d.ts.map +1 -0
  101. package/lib/services/load_balancer.js +542 -0
  102. package/lib/services/load_balancer.js.map +1 -0
  103. package/lib/services/logme.d.ts +516 -0
  104. package/lib/services/logme.d.ts.map +1 -0
  105. package/lib/services/logme.js +636 -0
  106. package/lib/services/logme.js.map +1 -0
  107. package/lib/services/logs.d.ts +436 -0
  108. package/lib/services/logs.d.ts.map +1 -0
  109. package/lib/services/logs.js +498 -0
  110. package/lib/services/logs.js.map +1 -0
  111. package/lib/services/mariadb.d.ts +479 -0
  112. package/lib/services/mariadb.d.ts.map +1 -0
  113. package/lib/services/mariadb.js +611 -0
  114. package/lib/services/mariadb.js.map +1 -0
  115. package/lib/services/model_experiments.d.ts +306 -0
  116. package/lib/services/model_experiments.d.ts.map +1 -0
  117. package/lib/services/model_experiments.js +356 -0
  118. package/lib/services/model_experiments.js.map +1 -0
  119. package/lib/services/model_serving.d.ts +289 -0
  120. package/lib/services/model_serving.d.ts.map +1 -0
  121. package/lib/services/model_serving.js +319 -0
  122. package/lib/services/model_serving.js.map +1 -0
  123. package/lib/services/mongodb_flex.d.ts +826 -0
  124. package/lib/services/mongodb_flex.d.ts.map +1 -0
  125. package/lib/services/mongodb_flex.js +889 -0
  126. package/lib/services/mongodb_flex.js.map +1 -0
  127. package/lib/services/object_storage.d.ts +446 -0
  128. package/lib/services/object_storage.d.ts.map +1 -0
  129. package/lib/services/object_storage.js +577 -0
  130. package/lib/services/object_storage.js.map +1 -0
  131. package/lib/services/observability.d.ts +2750 -0
  132. package/lib/services/observability.d.ts.map +1 -0
  133. package/lib/services/observability.js +3407 -0
  134. package/lib/services/observability.js.map +1 -0
  135. package/lib/services/opensearch.d.ts +505 -0
  136. package/lib/services/opensearch.d.ts.map +1 -0
  137. package/lib/services/opensearch.js +623 -0
  138. package/lib/services/opensearch.js.map +1 -0
  139. package/lib/services/pim.d.ts +997 -0
  140. package/lib/services/pim.d.ts.map +1 -0
  141. package/lib/services/pim.js +789 -0
  142. package/lib/services/pim.js.map +1 -0
  143. package/lib/services/postgres_flex.d.ts +854 -0
  144. package/lib/services/postgres_flex.d.ts.map +1 -0
  145. package/lib/services/postgres_flex.js +1018 -0
  146. package/lib/services/postgres_flex.js.map +1 -0
  147. package/lib/services/pubsub.d.ts +489 -0
  148. package/lib/services/pubsub.d.ts.map +1 -0
  149. package/lib/services/pubsub.js +614 -0
  150. package/lib/services/pubsub.js.map +1 -0
  151. package/lib/services/rabbitmq.d.ts +523 -0
  152. package/lib/services/rabbitmq.d.ts.map +1 -0
  153. package/lib/services/rabbitmq.js +636 -0
  154. package/lib/services/rabbitmq.js.map +1 -0
  155. package/lib/services/registry.d.ts +212 -0
  156. package/lib/services/registry.d.ts.map +1 -0
  157. package/lib/services/registry.js +221 -0
  158. package/lib/services/registry.js.map +1 -0
  159. package/lib/services/resource_manager.d.ts +458 -0
  160. package/lib/services/resource_manager.d.ts.map +1 -0
  161. package/lib/services/resource_manager.js +503 -0
  162. package/lib/services/resource_manager.js.map +1 -0
  163. package/lib/services/run_command.d.ts +175 -0
  164. package/lib/services/run_command.d.ts.map +1 -0
  165. package/lib/services/run_command.js +203 -0
  166. package/lib/services/run_command.js.map +1 -0
  167. package/lib/services/sca.d.ts +541 -0
  168. package/lib/services/sca.d.ts.map +1 -0
  169. package/lib/services/sca.js +478 -0
  170. package/lib/services/sca.js.map +1 -0
  171. package/lib/services/scf.d.ts +498 -0
  172. package/lib/services/scf.d.ts.map +1 -0
  173. package/lib/services/scf.js +718 -0
  174. package/lib/services/scf.js.map +1 -0
  175. package/lib/services/secrets_manager.d.ts +505 -0
  176. package/lib/services/secrets_manager.d.ts.map +1 -0
  177. package/lib/services/secrets_manager.js +659 -0
  178. package/lib/services/secrets_manager.js.map +1 -0
  179. package/lib/services/server_backup.d.ts +380 -0
  180. package/lib/services/server_backup.d.ts.map +1 -0
  181. package/lib/services/server_backup.js +474 -0
  182. package/lib/services/server_backup.js.map +1 -0
  183. package/lib/services/server_update.d.ts +292 -0
  184. package/lib/services/server_update.d.ts.map +1 -0
  185. package/lib/services/server_update.js +364 -0
  186. package/lib/services/server_update.js.map +1 -0
  187. package/lib/services/service_account.d.ts +465 -0
  188. package/lib/services/service_account.d.ts.map +1 -0
  189. package/lib/services/service_account.js +523 -0
  190. package/lib/services/service_account.js.map +1 -0
  191. package/lib/services/service_enablement.d.ts +149 -0
  192. package/lib/services/service_enablement.d.ts.map +1 -0
  193. package/lib/services/service_enablement.js +159 -0
  194. package/lib/services/service_enablement.js.map +1 -0
  195. package/lib/services/sfs.d.ts +721 -0
  196. package/lib/services/sfs.d.ts.map +1 -0
  197. package/lib/services/sfs.js +845 -0
  198. package/lib/services/sfs.js.map +1 -0
  199. package/lib/services/ske.d.ts +536 -0
  200. package/lib/services/ske.d.ts.map +1 -0
  201. package/lib/services/ske.js +598 -0
  202. package/lib/services/ske.js.map +1 -0
  203. package/lib/services/sqlserverflex.d.ts +956 -0
  204. package/lib/services/sqlserverflex.d.ts.map +1 -0
  205. package/lib/services/sqlserverflex.js +1087 -0
  206. package/lib/services/sqlserverflex.js.map +1 -0
  207. package/lib/services/stackit_marketplace.d.ts +288 -0
  208. package/lib/services/stackit_marketplace.d.ts.map +1 -0
  209. package/lib/services/stackit_marketplace.js +393 -0
  210. package/lib/services/stackit_marketplace.js.map +1 -0
  211. package/lib/services/telemetry_link.d.ts +443 -0
  212. package/lib/services/telemetry_link.d.ts.map +1 -0
  213. package/lib/services/telemetry_link.js +550 -0
  214. package/lib/services/telemetry_link.js.map +1 -0
  215. package/lib/services/telemetry_router.d.ts +493 -0
  216. package/lib/services/telemetry_router.d.ts.map +1 -0
  217. package/lib/services/telemetry_router.js +523 -0
  218. package/lib/services/telemetry_router.js.map +1 -0
  219. package/lib/services/ufw.d.ts +295 -0
  220. package/lib/services/ufw.d.ts.map +1 -0
  221. package/lib/services/ufw.js +301 -0
  222. package/lib/services/ufw.js.map +1 -0
  223. package/lib/services/valkey.d.ts +505 -0
  224. package/lib/services/valkey.d.ts.map +1 -0
  225. package/lib/services/valkey.js +627 -0
  226. package/lib/services/valkey.js.map +1 -0
  227. package/lib/services/vpn.d.ts +1024 -0
  228. package/lib/services/vpn.d.ts.map +1 -0
  229. package/lib/services/vpn.js +1013 -0
  230. package/lib/services/vpn.js.map +1 -0
  231. package/lib/services/workflows.d.ts +600 -0
  232. package/lib/services/workflows.d.ts.map +1 -0
  233. package/lib/services/workflows.js +556 -0
  234. package/lib/services/workflows.js.map +1 -0
  235. package/lib/traits.d.ts +24 -0
  236. package/lib/traits.d.ts.map +1 -0
  237. package/lib/traits.js +15 -0
  238. package/lib/traits.js.map +1 -0
  239. package/package.json +78 -7
  240. package/src/credentials.ts +90 -0
  241. package/src/errors.ts +50 -0
  242. package/src/index.ts +34 -0
  243. package/src/pagination.ts +73 -0
  244. package/src/protocol.ts +243 -0
  245. package/src/response-validation.test.ts +45 -0
  246. package/src/retry.ts +53 -0
  247. package/src/services/alb.ts +1409 -0
  248. package/src/services/alb_waf.ts +1347 -0
  249. package/src/services/authorization.ts +740 -0
  250. package/src/services/automation.ts +966 -0
  251. package/src/services/cdn.ts +2736 -0
  252. package/src/services/certificates.ts +450 -0
  253. package/src/services/cost.ts +484 -0
  254. package/src/services/dns.ts +2271 -0
  255. package/src/services/dremio.ts +803 -0
  256. package/src/services/edge.ts +839 -0
  257. package/src/services/functions.ts +1010 -0
  258. package/src/services/git.ts +1275 -0
  259. package/src/services/iaas.ts +8670 -0
  260. package/src/services/index.ts +51 -0
  261. package/src/services/intake.ts +1233 -0
  262. package/src/services/kms.ts +1638 -0
  263. package/src/services/lb_ip_lists.ts +377 -0
  264. package/src/services/load_balancer.ts +1342 -0
  265. package/src/services/logme.ts +1379 -0
  266. package/src/services/logs.ts +1150 -0
  267. package/src/services/mariadb.ts +1293 -0
  268. package/src/services/model_experiments.ts +797 -0
  269. package/src/services/model_serving.ts +697 -0
  270. package/src/services/mongodb_flex.ts +2078 -0
  271. package/src/services/object_storage.ts +1248 -0
  272. package/src/services/observability.ts +7856 -0
  273. package/src/services/opensearch.ts +1354 -0
  274. package/src/services/pim.ts +2090 -0
  275. package/src/services/postgres_flex.ts +2326 -0
  276. package/src/services/pubsub.ts +1336 -0
  277. package/src/services/rabbitmq.ts +1402 -0
  278. package/src/services/registry.ts +494 -0
  279. package/src/services/resource_manager.ts +1155 -0
  280. package/src/services/run_command.ts +441 -0
  281. package/src/services/sca.ts +1222 -0
  282. package/src/services/scf.ts +1537 -0
  283. package/src/services/secrets_manager.ts +1399 -0
  284. package/src/services/server_backup.ts +1032 -0
  285. package/src/services/server_update.ts +767 -0
  286. package/src/services/service_account.ts +1208 -0
  287. package/src/services/service_enablement.ts +359 -0
  288. package/src/services/sfs.ts +1913 -0
  289. package/src/services/ske.ts +1408 -0
  290. package/src/services/sqlserverflex.ts +2543 -0
  291. package/src/services/stackit_marketplace.ts +853 -0
  292. package/src/services/telemetry_link.ts +1245 -0
  293. package/src/services/telemetry_router.ts +1205 -0
  294. package/src/services/ufw.ts +704 -0
  295. package/src/services/valkey.ts +1357 -0
  296. package/src/services/vpn.ts +2554 -0
  297. package/src/services/workflows.ts +1361 -0
  298. package/src/traits.ts +65 -0
@@ -0,0 +1,450 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-stackit). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as Redacted from "effect/Redacted";
4
+ import * as API from "@distilled.cloud/core/api";
5
+ import * as C from "@distilled.cloud/core/category";
6
+ import * as T from "../traits.ts";
7
+ import {
8
+ StackitProtocol,
9
+ type StackitOpError,
10
+ type StackitOpContext,
11
+ } from "../protocol.ts";
12
+ import { UnknownStackitError } from "../errors.ts";
13
+ import * as Retry from "../retry.ts";
14
+
15
+ export type { StackitOpError, StackitOpContext };
16
+
17
+ export class BadRequest
18
+ extends /*@__PURE__*/ T.applyErrorMatchers(
19
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
20
+ code: S.Number,
21
+ message: S.String,
22
+ }).pipe(C.withBadRequestError),
23
+ [{ status: 400 }],
24
+ ) {}
25
+
26
+ export class Forbidden
27
+ extends /*@__PURE__*/ T.applyErrorMatchers(
28
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
29
+ code: S.Number,
30
+ message: S.String,
31
+ }).pipe(C.withAuthError),
32
+ [{ status: 403 }],
33
+ ) {}
34
+
35
+ export class NotFound
36
+ extends /*@__PURE__*/ T.applyErrorMatchers(
37
+ /*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
38
+ code: S.Number,
39
+ message: S.String,
40
+ }).pipe(C.withBadRequestError),
41
+ [{ status: 404 }],
42
+ ) {}
43
+
44
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per Certificate. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
45
+ export type CreateCertificateRequestLabelsMap = {
46
+ [key: string]: string | undefined;
47
+ };
48
+ export const CreateCertificateRequestLabelsMap = /*@__PURE__*/ S.Record(
49
+ S.String,
50
+ S.String,
51
+ ) as any as S.Schema<CreateCertificateRequestLabelsMap>;
52
+
53
+ export interface CreateCertificateRequest {
54
+ projectId: string;
55
+ region: string;
56
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per Certificate. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
57
+ labels?: CreateCertificateRequestLabelsMap;
58
+ /** TLS certificate name */
59
+ name?: string;
60
+ /** The PEM encoded private key part */
61
+ privateKey?: string | Redacted.Redacted<string>;
62
+ /** The PEM encoded public key part */
63
+ publicKey?: string;
64
+ }
65
+ export const CreateCertificateRequest = /*@__PURE__*/ S.suspend(() =>
66
+ S.Struct({
67
+ projectId: S.String.pipe(T.Label()),
68
+ region: S.String.pipe(T.Label()),
69
+ labels: S.optional(CreateCertificateRequestLabelsMap),
70
+ name: S.optional(S.String),
71
+ privateKey: S.optional(S.String.pipe(T.SensitiveValue({}))),
72
+ publicKey: S.optional(S.String),
73
+ }).pipe(
74
+ T.Http({
75
+ method: "POST",
76
+ uri: "/v2/projects/{projectId}/regions/{region}/certificates",
77
+ code: 200,
78
+ baseUrl: "https://certificates.api.stackit.cloud",
79
+ }),
80
+ ),
81
+ ).annotate({
82
+ identifier: "CreateCertificateRequest",
83
+ }) as any as S.Schema<CreateCertificateRequest>;
84
+
85
+ export interface Data {
86
+ /** Comma-separated list of all domains and IP addresses the certificate is valid for (Subject Alternative Names). */
87
+ dnsNames?: string;
88
+ /** Comma-separated list of purposes the cert is valid for. 'Server Auth' is required for Load Balancer use. */
89
+ extendedKeyUsage?: string;
90
+ /** The legacy SHA1 thumbprint. Provided for cross-referencing with older systems and browsers. */
91
+ fingerprintSha1?: string;
92
+ /** The unique SHA256 hash of the raw certificate bytes. Use this as the primary unique identifier. */
93
+ fingerprintSha256?: string;
94
+ /** Indicates if the certificate is a Certificate Authority, meaning it can sign other certificates. */
95
+ isCa?: boolean;
96
+ /** Indicates if the certificate was signed by its own private key rather than a trusted third-party CA. */
97
+ isSelfSigned?: boolean;
98
+ /** The Common Name of the Certificate Authority (CA) that signed and issued the certificate. */
99
+ issuerCn?: string;
100
+ /** Human-readable summary of the public key's algorithm and bit-length or curve name. */
101
+ keyStrength?: string;
102
+ /** The expiration timestamp. After this date, browsers will show security warnings (RFC3339 format). */
103
+ notAfter?: string;
104
+ /** The timestamp indicating when the certificate starts being valid (RFC3339 format). */
105
+ notBefore?: string;
106
+ /** Organization name associated with the certificate subject. */
107
+ organization?: string;
108
+ /** The cryptographic algorithm used to generate the public/private key pair. */
109
+ publicKeyAlgorithm?: string;
110
+ /** The unique serial number assigned by the CA, represented in uppercase hexadecimal format. */
111
+ serialNumber?: string;
112
+ /** The algorithm used by the CA to sign this certificate. */
113
+ signatureAlgorithm?: string;
114
+ /** The primary identity of the certificate. Fallback sequence: Common Name -> First DNS Name -> Full Subject String. */
115
+ subjectCn?: string;
116
+ }
117
+ export const Data = /*@__PURE__*/ S.suspend(() =>
118
+ S.Struct({
119
+ dnsNames: S.optional(S.String),
120
+ extendedKeyUsage: S.optional(S.String),
121
+ fingerprintSha1: S.optional(S.String),
122
+ fingerprintSha256: S.optional(S.String),
123
+ isCa: S.optional(S.Boolean),
124
+ isSelfSigned: S.optional(S.Boolean),
125
+ issuerCn: S.optional(S.String),
126
+ keyStrength: S.optional(S.String),
127
+ notAfter: S.optional(S.String),
128
+ notBefore: S.optional(S.String),
129
+ organization: S.optional(S.String),
130
+ publicKeyAlgorithm: S.optional(S.String),
131
+ serialNumber: S.optional(S.String),
132
+ signatureAlgorithm: S.optional(S.String),
133
+ subjectCn: S.optional(S.String),
134
+ }),
135
+ ).annotate({ identifier: "Data" }) as any as S.Schema<Data>;
136
+
137
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per Certificate. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
138
+ export type GetCertificateResponseLabelsMap = {
139
+ [key: string]: string | undefined;
140
+ };
141
+ export const GetCertificateResponseLabelsMap = /*@__PURE__*/ S.Record(
142
+ S.String,
143
+ S.String,
144
+ ) as any as S.Schema<GetCertificateResponseLabelsMap>;
145
+
146
+ /** The list of listener names in this Load Balancer, that are using the certificate. */
147
+ export type UsageItemListenerNamesList = Array<string>;
148
+ export const UsageItemListenerNamesList = /*@__PURE__*/ S.Array(
149
+ S.String,
150
+ ) as any as S.Schema<UsageItemListenerNamesList>;
151
+
152
+ export interface UsageItem {
153
+ /** The list of listener names in this Load Balancer, that are using the certificate. */
154
+ listenerNames?: UsageItemListenerNamesList;
155
+ /** The display name of the Load Balancer. */
156
+ loadBalancerName?: string;
157
+ }
158
+ export const UsageItem = /*@__PURE__*/ S.suspend(() =>
159
+ S.Struct({
160
+ listenerNames: S.optional(UsageItemListenerNamesList),
161
+ loadBalancerName: S.optional(S.String),
162
+ }),
163
+ ).annotate({ identifier: "UsageItem" }) as any as S.Schema<UsageItem>;
164
+
165
+ /** List of Load Balancers with their associated listeners that use this certificate. */
166
+ export type UsageItemsList = Array<UsageItem>;
167
+ export const UsageItemsList = /*@__PURE__*/ S.Array(
168
+ UsageItem,
169
+ ) as any as S.Schema<UsageItemsList>;
170
+
171
+ export interface Usage {
172
+ /** Number of listeners using this certificate. */
173
+ count?: number;
174
+ /** List of Load Balancers with their associated listeners that use this certificate. */
175
+ items?: UsageItemsList;
176
+ }
177
+ export const Usage = /*@__PURE__*/ S.suspend(() =>
178
+ S.Struct({
179
+ count: S.optional(S.Number),
180
+ items: S.optional(UsageItemsList),
181
+ }),
182
+ ).annotate({ identifier: "Usage" }) as any as S.Schema<Usage>;
183
+
184
+ /** GetCertificateResponse returns name, id and public key */
185
+ export interface GetCertificateResponse {
186
+ data?: Data;
187
+ /** The certificates resource id */
188
+ id?: string;
189
+ /** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per Certificate. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
190
+ labels?: GetCertificateResponseLabelsMap;
191
+ /** Certificate display name */
192
+ name?: string;
193
+ /** The PEM encoded public key part */
194
+ publicKey?: string;
195
+ /** Region of the LoadBalancer */
196
+ region?: string;
197
+ usage?: Usage;
198
+ }
199
+ export const GetCertificateResponse = /*@__PURE__*/ S.suspend(() =>
200
+ S.Struct({
201
+ data: S.optional(Data),
202
+ id: S.optional(S.String),
203
+ labels: S.optional(GetCertificateResponseLabelsMap),
204
+ name: S.optional(S.String),
205
+ publicKey: S.optional(S.String),
206
+ region: S.optional(S.String),
207
+ usage: S.optional(Usage),
208
+ }),
209
+ ).annotate({
210
+ identifier: "GetCertificateResponse",
211
+ }) as any as S.Schema<GetCertificateResponse>;
212
+
213
+ export interface DeleteCertificateRequest {
214
+ projectId: string;
215
+ region: string;
216
+ id: string;
217
+ }
218
+ export const DeleteCertificateRequest = /*@__PURE__*/ S.suspend(() =>
219
+ S.Struct({
220
+ projectId: S.String.pipe(T.Label()),
221
+ region: S.String.pipe(T.Label()),
222
+ id: S.String.pipe(T.Label()),
223
+ }).pipe(
224
+ T.Http({
225
+ method: "DELETE",
226
+ uri: "/v2/projects/{projectId}/regions/{region}/certificates/{id}",
227
+ code: 200,
228
+ baseUrl: "https://certificates.api.stackit.cloud",
229
+ }),
230
+ ),
231
+ ).annotate({
232
+ identifier: "DeleteCertificateRequest",
233
+ }) as any as S.Schema<DeleteCertificateRequest>;
234
+
235
+ export type DeleteCertificateResponse2 = unknown;
236
+ export const DeleteCertificateResponse2 = /*@__PURE__*/ S.suspend(() =>
237
+ S.Unknown.pipe(T.RawResponseRoot()),
238
+ ).annotate({
239
+ identifier: "DeleteCertificateResponse2",
240
+ }) as any as S.Schema<DeleteCertificateResponse2>;
241
+
242
+ export interface GetCertificateRequest {
243
+ projectId: string;
244
+ region: string;
245
+ id: string;
246
+ }
247
+ export const GetCertificateRequest = /*@__PURE__*/ S.suspend(() =>
248
+ S.Struct({
249
+ projectId: S.String.pipe(T.Label()),
250
+ region: S.String.pipe(T.Label()),
251
+ id: S.String.pipe(T.Label()),
252
+ }).pipe(
253
+ T.Http({
254
+ method: "GET",
255
+ uri: "/v2/projects/{projectId}/regions/{region}/certificates/{id}",
256
+ code: 200,
257
+ baseUrl: "https://certificates.api.stackit.cloud",
258
+ }),
259
+ ),
260
+ ).annotate({
261
+ identifier: "GetCertificateRequest",
262
+ }) as any as S.Schema<GetCertificateRequest>;
263
+
264
+ export interface GetQuotaRequest {
265
+ projectId: string;
266
+ region: string;
267
+ }
268
+ export const GetQuotaRequest = /*@__PURE__*/ S.suspend(() =>
269
+ S.Struct({
270
+ projectId: S.String.pipe(T.Label()),
271
+ region: S.String.pipe(T.Label()),
272
+ }).pipe(
273
+ T.Http({
274
+ method: "GET",
275
+ uri: "/v2/projects/{projectId}/regions/{region}/quotas",
276
+ code: 200,
277
+ baseUrl: "https://certificates.api.stackit.cloud",
278
+ }),
279
+ ),
280
+ ).annotate({
281
+ identifier: "GetQuotaRequest",
282
+ }) as any as S.Schema<GetQuotaRequest>;
283
+
284
+ /** Certificates quotas holds the limits and usage for certificates resources */
285
+ export interface CertificatesQuota {
286
+ /** The maximum number of TLS certificates in this project. */
287
+ limit?: number;
288
+ /** The number of certificates that are currently existing in this project. */
289
+ usage?: number;
290
+ }
291
+ export const CertificatesQuota = /*@__PURE__*/ S.suspend(() =>
292
+ S.Struct({
293
+ limit: S.optional(S.Number),
294
+ usage: S.optional(S.Number),
295
+ }),
296
+ ).annotate({
297
+ identifier: "CertificatesQuota",
298
+ }) as any as S.Schema<CertificatesQuota>;
299
+
300
+ /** Quotas holds the specific quota elements for different resources */
301
+ export interface Quotas {
302
+ certificates?: CertificatesQuota;
303
+ }
304
+ export const Quotas = /*@__PURE__*/ S.suspend(() =>
305
+ S.Struct({
306
+ certificates: S.optional(CertificatesQuota),
307
+ }),
308
+ ).annotate({ identifier: "Quotas" }) as any as S.Schema<Quotas>;
309
+
310
+ export interface GetQuotaResponse {
311
+ /** Project identifier */
312
+ projectId?: string;
313
+ quotas?: Quotas;
314
+ /** Region */
315
+ region?: string;
316
+ }
317
+ export const GetQuotaResponse = /*@__PURE__*/ S.suspend(() =>
318
+ S.Struct({
319
+ projectId: S.optional(S.String),
320
+ quotas: S.optional(Quotas),
321
+ region: S.optional(S.String),
322
+ }),
323
+ ).annotate({
324
+ identifier: "GetQuotaResponse",
325
+ }) as any as S.Schema<GetQuotaResponse>;
326
+
327
+ export interface ListCertificatesRequest {
328
+ projectId: string;
329
+ region: string;
330
+ /** page_size specifies how many certificates should be returned on this page. Must be a positive number <= 1000 */
331
+ pageSize?: string;
332
+ /** page_id is a page identifier returned by the previous response and is used to request the next page */
333
+ pageId?: string;
334
+ }
335
+ export const ListCertificatesRequest = /*@__PURE__*/ S.suspend(() =>
336
+ S.Struct({
337
+ projectId: S.String.pipe(T.Label()),
338
+ region: S.String.pipe(T.Label()),
339
+ pageSize: S.optional(S.String.pipe(T.Query())),
340
+ pageId: S.optional(S.String.pipe(T.Query())),
341
+ }).pipe(
342
+ T.Http({
343
+ method: "GET",
344
+ uri: "/v2/projects/{projectId}/regions/{region}/certificates",
345
+ code: 200,
346
+ baseUrl: "https://certificates.api.stackit.cloud",
347
+ }),
348
+ ),
349
+ ).annotate({
350
+ identifier: "ListCertificatesRequest",
351
+ }) as any as S.Schema<ListCertificatesRequest>;
352
+
353
+ export type ListCertificatesResponseItemsList = Array<GetCertificateResponse>;
354
+ export const ListCertificatesResponseItemsList = /*@__PURE__*/ S.Array(
355
+ GetCertificateResponse,
356
+ ) as any as S.Schema<ListCertificatesResponseItemsList>;
357
+
358
+ /** ListCertificateResponse returns a list of certificate responses */
359
+ export interface ListCertificatesResponse {
360
+ items?: ListCertificatesResponseItemsList;
361
+ /** Continue token from the ListCertificatesResponse with Limit option */
362
+ nextPageId?: string;
363
+ }
364
+ export const ListCertificatesResponse = /*@__PURE__*/ S.suspend(() =>
365
+ S.Struct({
366
+ items: S.optional(ListCertificatesResponseItemsList),
367
+ nextPageId: S.optional(S.String),
368
+ }),
369
+ ).annotate({
370
+ identifier: "ListCertificatesResponse",
371
+ }) as any as S.Schema<ListCertificatesResponse>;
372
+
373
+ export type CreateCertificateError = BadRequest | Forbidden | StackitOpError;
374
+ /** Store a TLS certificate in a project. CreateCertificate will store a TLS certificate in a project. */
375
+ export const createCertificate: API.OperationMethod<
376
+ CreateCertificateRequest,
377
+ GetCertificateResponse,
378
+ CreateCertificateError,
379
+ StackitOpContext
380
+ > = /*@__PURE__*/ API.make(() => ({
381
+ input: CreateCertificateRequest,
382
+ output: GetCertificateResponse,
383
+ errors: [BadRequest, Forbidden, UnknownStackitError],
384
+ protocol: StackitProtocol,
385
+ retry: Retry.Retry,
386
+ }));
387
+
388
+ export type DeleteCertificateError = BadRequest | Forbidden | StackitOpError;
389
+ /** Delete a stored TLS certificate in a project. DeleteCertificate will delete the stored TLS certificate. */
390
+ export const deleteCertificate: API.OperationMethod<
391
+ DeleteCertificateRequest,
392
+ DeleteCertificateResponse2,
393
+ DeleteCertificateError,
394
+ StackitOpContext
395
+ > = /*@__PURE__*/ API.make(() => ({
396
+ input: DeleteCertificateRequest,
397
+ output: DeleteCertificateResponse2,
398
+ errors: [BadRequest, Forbidden, UnknownStackitError],
399
+ protocol: StackitProtocol,
400
+ retry: Retry.Retry,
401
+ }));
402
+
403
+ export type GetCertificateError =
404
+ | BadRequest
405
+ | Forbidden
406
+ | NotFound
407
+ | StackitOpError;
408
+ /** Retrieve the public parts of a stored TLS certificate. GetCertificate will return the public parts of a stored TLS certificate. */
409
+ export const getCertificate: API.OperationMethod<
410
+ GetCertificateRequest,
411
+ GetCertificateResponse,
412
+ GetCertificateError,
413
+ StackitOpContext
414
+ > = /*@__PURE__*/ API.make(() => ({
415
+ input: GetCertificateRequest,
416
+ output: GetCertificateResponse,
417
+ errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
418
+ protocol: StackitProtocol,
419
+ retry: Retry.Retry,
420
+ }));
421
+
422
+ export type GetQuotaError = BadRequest | Forbidden | StackitOpError;
423
+ /** Get the quota for TLS certificates in a project. Retrieves the configured TLS certificate quota for the project. Limit can be changed via service request. */
424
+ export const getQuota: API.OperationMethod<
425
+ GetQuotaRequest,
426
+ GetQuotaResponse,
427
+ GetQuotaError,
428
+ StackitOpContext
429
+ > = /*@__PURE__*/ API.make(() => ({
430
+ input: GetQuotaRequest,
431
+ output: GetQuotaResponse,
432
+ errors: [BadRequest, Forbidden, UnknownStackitError],
433
+ protocol: StackitProtocol,
434
+ retry: Retry.Retry,
435
+ }));
436
+
437
+ export type ListCertificatesError = BadRequest | Forbidden | StackitOpError;
438
+ /** Retrieve the list of TLS certificate stored in a project. ListCertificates will return the list of TLS certificates in a project. */
439
+ export const listCertificates: API.OperationMethod<
440
+ ListCertificatesRequest,
441
+ ListCertificatesResponse,
442
+ ListCertificatesError,
443
+ StackitOpContext
444
+ > = /*@__PURE__*/ API.make(() => ({
445
+ input: ListCertificatesRequest,
446
+ output: ListCertificatesResponse,
447
+ errors: [BadRequest, Forbidden, UnknownStackitError],
448
+ protocol: StackitProtocol,
449
+ retry: Retry.Retry,
450
+ }));