@distilled.cloud/stackit 1.0.0-rc.14 → 1.0.0-rc.16

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 (285) hide show
  1. package/lib/credentials.d.ts +2 -2
  2. package/lib/credentials.d.ts.map +1 -1
  3. package/lib/credentials.js +32 -28
  4. package/lib/credentials.js.map +1 -1
  5. package/lib/errors.d.ts +13 -13
  6. package/lib/errors.d.ts.map +1 -1
  7. package/lib/errors.js +16 -16
  8. package/lib/errors.js.map +1 -1
  9. package/lib/index.d.ts +2 -2
  10. package/lib/index.js +22 -22
  11. package/lib/pagination.d.ts +1 -1
  12. package/lib/pagination.js +15 -15
  13. package/lib/protocol.d.ts +3 -3
  14. package/lib/protocol.d.ts.map +1 -1
  15. package/lib/protocol.js +31 -29
  16. package/lib/protocol.js.map +1 -1
  17. package/lib/retry.d.ts +1 -1
  18. package/lib/retry.d.ts.map +1 -1
  19. package/lib/retry.js +24 -23
  20. package/lib/retry.js.map +1 -1
  21. package/lib/services/alb.d.ts +10 -87
  22. package/lib/services/alb.d.ts.map +1 -1
  23. package/lib/services/alb.js +73 -502
  24. package/lib/services/alb_waf.d.ts +9 -82
  25. package/lib/services/alb_waf.d.ts.map +1 -1
  26. package/lib/services/alb_waf.js +84 -510
  27. package/lib/services/authorization.d.ts +5 -47
  28. package/lib/services/authorization.d.ts.map +1 -1
  29. package/lib/services/authorization.js +67 -314
  30. package/lib/services/automation.d.ts +7 -47
  31. package/lib/services/automation.d.ts.map +1 -1
  32. package/lib/services/automation.js +58 -353
  33. package/lib/services/cdn.d.ts +8 -220
  34. package/lib/services/cdn.d.ts.map +1 -1
  35. package/lib/services/cdn.js +81 -896
  36. package/lib/services/certificates.d.ts +8 -27
  37. package/lib/services/certificates.d.ts.map +1 -1
  38. package/lib/services/certificates.js +45 -171
  39. package/lib/services/cost.d.ts +10 -37
  40. package/lib/services/cost.d.ts.map +1 -1
  41. package/lib/services/cost.js +39 -169
  42. package/lib/services/dns.d.ts +9 -104
  43. package/lib/services/dns.d.ts.map +1 -1
  44. package/lib/services/dns.js +98 -714
  45. package/lib/services/dremio.d.ts +8 -50
  46. package/lib/services/dremio.d.ts.map +1 -1
  47. package/lib/services/dremio.js +56 -307
  48. package/lib/services/edge.d.ts +7 -40
  49. package/lib/services/edge.d.ts.map +1 -1
  50. package/lib/services/edge.js +66 -347
  51. package/lib/services/functions.d.ts +1 -48
  52. package/lib/services/functions.d.ts.map +1 -1
  53. package/lib/services/functions.js +64 -393
  54. package/lib/services/git.d.ts +8 -61
  55. package/lib/services/git.d.ts.map +1 -1
  56. package/lib/services/git.js +87 -510
  57. package/lib/services/iaas.d.ts +9 -337
  58. package/lib/services/iaas.d.ts.map +1 -1
  59. package/lib/services/iaas.js +409 -3532
  60. package/lib/services/intake.d.ts +8 -75
  61. package/lib/services/intake.d.ts.map +1 -1
  62. package/lib/services/intake.js +74 -465
  63. package/lib/services/kms.d.ts +9 -92
  64. package/lib/services/kms.d.ts.map +1 -1
  65. package/lib/services/kms.js +95 -650
  66. package/lib/services/lb_ip_lists.d.ts +9 -25
  67. package/lib/services/lb_ip_lists.d.ts.map +1 -1
  68. package/lib/services/lb_ip_lists.js +45 -146
  69. package/lib/services/load_balancer.d.ts +10 -81
  70. package/lib/services/load_balancer.d.ts.map +1 -1
  71. package/lib/services/load_balancer.js +76 -486
  72. package/lib/services/logme.d.ts +8 -69
  73. package/lib/services/logme.d.ts.map +1 -1
  74. package/lib/services/logme.js +82 -564
  75. package/lib/services/logs.d.ts +8 -64
  76. package/lib/services/logs.d.ts.map +1 -1
  77. package/lib/services/logs.js +84 -465
  78. package/lib/services/mariadb.d.ts +8 -65
  79. package/lib/services/mariadb.d.ts.map +1 -1
  80. package/lib/services/mariadb.js +84 -541
  81. package/lib/services/model_experiments.d.ts +9 -48
  82. package/lib/services/model_experiments.d.ts.map +1 -1
  83. package/lib/services/model_experiments.js +66 -325
  84. package/lib/services/model_serving.d.ts +7 -47
  85. package/lib/services/model_serving.d.ts.map +1 -1
  86. package/lib/services/model_serving.js +55 -277
  87. package/lib/services/mongodb_flex.d.ts +8 -137
  88. package/lib/services/mongodb_flex.d.ts.map +1 -1
  89. package/lib/services/mongodb_flex.js +102 -793
  90. package/lib/services/object_storage.d.ts +12 -59
  91. package/lib/services/object_storage.d.ts.map +1 -1
  92. package/lib/services/object_storage.js +93 -528
  93. package/lib/services/observability.d.ts +8 -407
  94. package/lib/services/observability.d.ts.map +1 -1
  95. package/lib/services/observability.js +375 -3148
  96. package/lib/services/opensearch.d.ts +8 -71
  97. package/lib/services/opensearch.d.ts.map +1 -1
  98. package/lib/services/opensearch.js +85 -553
  99. package/lib/services/pim.d.ts +12 -108
  100. package/lib/services/pim.d.ts.map +1 -1
  101. package/lib/services/pim.js +81 -726
  102. package/lib/services/postgres_flex.d.ts +14 -136
  103. package/lib/services/postgres_flex.d.ts.map +1 -1
  104. package/lib/services/postgres_flex.js +114 -841
  105. package/lib/services/pubsub.d.ts +11 -73
  106. package/lib/services/pubsub.d.ts.map +1 -1
  107. package/lib/services/pubsub.js +92 -507
  108. package/lib/services/rabbitmq.d.ts +8 -76
  109. package/lib/services/rabbitmq.d.ts.map +1 -1
  110. package/lib/services/rabbitmq.js +88 -564
  111. package/lib/services/registry.d.ts +10 -28
  112. package/lib/services/registry.d.ts.map +1 -1
  113. package/lib/services/registry.js +49 -189
  114. package/lib/services/resource_manager.d.ts +9 -61
  115. package/lib/services/resource_manager.d.ts.map +1 -1
  116. package/lib/services/resource_manager.js +92 -462
  117. package/lib/services/run_command.d.ts +5 -28
  118. package/lib/services/run_command.d.ts.map +1 -1
  119. package/lib/services/run_command.js +38 -176
  120. package/lib/services/sca.d.ts +8 -79
  121. package/lib/services/sca.d.ts.map +1 -1
  122. package/lib/services/sca.js +63 -435
  123. package/lib/services/scf.d.ts +8 -64
  124. package/lib/services/scf.d.ts.map +1 -1
  125. package/lib/services/scf.js +99 -660
  126. package/lib/services/secrets_manager.d.ts +8 -61
  127. package/lib/services/secrets_manager.d.ts.map +1 -1
  128. package/lib/services/secrets_manager.js +99 -601
  129. package/lib/services/server_backup.d.ts +7 -50
  130. package/lib/services/server_backup.d.ts.map +1 -1
  131. package/lib/services/server_backup.js +70 -444
  132. package/lib/services/server_update.d.ts +7 -35
  133. package/lib/services/server_update.d.ts.map +1 -1
  134. package/lib/services/server_update.js +58 -342
  135. package/lib/services/service_account.d.ts +10 -68
  136. package/lib/services/service_account.d.ts.map +1 -1
  137. package/lib/services/service_account.js +75 -495
  138. package/lib/services/service_enablement.d.ts +7 -29
  139. package/lib/services/service_enablement.d.ts.map +1 -1
  140. package/lib/services/service_enablement.js +40 -147
  141. package/lib/services/sfs.d.ts +4 -96
  142. package/lib/services/sfs.d.ts.map +1 -1
  143. package/lib/services/sfs.js +117 -782
  144. package/lib/services/ske.d.ts +9 -108
  145. package/lib/services/ske.d.ts.map +1 -1
  146. package/lib/services/ske.js +67 -549
  147. package/lib/services/sqlserverflex.d.ts +11 -152
  148. package/lib/services/sqlserverflex.d.ts.map +1 -1
  149. package/lib/services/sqlserverflex.js +112 -925
  150. package/lib/services/stackit_marketplace.d.ts +9 -38
  151. package/lib/services/stackit_marketplace.d.ts.map +1 -1
  152. package/lib/services/stackit_marketplace.js +64 -369
  153. package/lib/services/telemetry_link.d.ts +8 -61
  154. package/lib/services/telemetry_link.d.ts.map +1 -1
  155. package/lib/services/telemetry_link.js +81 -522
  156. package/lib/services/telemetry_router.d.ts +8 -72
  157. package/lib/services/telemetry_router.d.ts.map +1 -1
  158. package/lib/services/telemetry_router.js +73 -474
  159. package/lib/services/ufw.d.ts +7 -42
  160. package/lib/services/ufw.d.ts.map +1 -1
  161. package/lib/services/ufw.js +55 -269
  162. package/lib/services/valkey.d.ts +8 -68
  163. package/lib/services/valkey.d.ts.map +1 -1
  164. package/lib/services/valkey.js +85 -557
  165. package/lib/services/vpn.d.ts +21 -186
  166. package/lib/services/vpn.d.ts.map +1 -1
  167. package/lib/services/vpn.js +105 -920
  168. package/lib/services/workflows.d.ts +15 -84
  169. package/lib/services/workflows.d.ts.map +1 -1
  170. package/lib/services/workflows.js +67 -497
  171. package/lib/traits.d.ts +1 -1
  172. package/lib/traits.js +10 -10
  173. package/package.json +13 -9
  174. package/src/credentials.ts +21 -18
  175. package/src/errors.ts +10 -14
  176. package/src/index.ts +2 -2
  177. package/src/pagination.ts +2 -2
  178. package/src/protocol.ts +12 -9
  179. package/src/retry.ts +6 -4
  180. package/src/services/alb.ts +599 -655
  181. package/src/services/alb_waf.ts +597 -637
  182. package/src/services/authorization.ts +400 -383
  183. package/src/services/automation.ts +422 -405
  184. package/src/services/cdn.ts +817 -1375
  185. package/src/services/certificates.ts +209 -190
  186. package/src/services/cost.ts +100 -207
  187. package/src/services/dns.ts +793 -833
  188. package/src/services/dremio.ts +356 -349
  189. package/src/services/edge.ts +406 -366
  190. package/src/services/functions.ts +465 -463
  191. package/src/services/git.ts +602 -547
  192. package/src/services/iaas.ts +3931 -3821
  193. package/src/services/intake.ts +521 -549
  194. package/src/services/kms.ts +715 -692
  195. package/src/services/lb_ip_lists.ts +173 -152
  196. package/src/services/load_balancer.ts +576 -619
  197. package/src/services/logme.ts +696 -641
  198. package/src/services/logs.ts +510 -493
  199. package/src/services/mariadb.ts +671 -604
  200. package/src/services/model_experiments.ts +343 -356
  201. package/src/services/model_serving.ts +337 -328
  202. package/src/services/mongodb_flex.ts +955 -1007
  203. package/src/services/object_storage.ts +614 -557
  204. package/src/services/observability.ts +3469 -3866
  205. package/src/services/opensearch.ts +679 -628
  206. package/src/services/pim.ts +672 -909
  207. package/src/services/postgres_flex.ts +966 -986
  208. package/src/services/pubsub.ts +524 -546
  209. package/src/services/rabbitmq.ts +693 -654
  210. package/src/services/registry.ts +227 -194
  211. package/src/services/resource_manager.ts +520 -517
  212. package/src/services/run_command.ts +219 -211
  213. package/src/services/sca.ts +543 -570
  214. package/src/services/scf.ts +790 -716
  215. package/src/services/secrets_manager.ts +707 -622
  216. package/src/services/server_backup.ts +490 -475
  217. package/src/services/server_update.ts +353 -356
  218. package/src/services/service_account.ts +515 -553
  219. package/src/services/service_enablement.ts +162 -166
  220. package/src/services/sfs.ts +879 -958
  221. package/src/services/ske.ts +694 -769
  222. package/src/services/sqlserverflex.ts +1042 -1117
  223. package/src/services/stackit_marketplace.ts +377 -372
  224. package/src/services/telemetry_link.ts +530 -531
  225. package/src/services/telemetry_router.ts +509 -534
  226. package/src/services/ufw.ts +305 -307
  227. package/src/services/valkey.ts +684 -629
  228. package/src/services/vpn.ts +935 -1195
  229. package/src/services/workflows.ts +426 -586
  230. package/src/traits.ts +1 -1
  231. package/lib/protocol.test.d.ts +0 -2
  232. package/lib/protocol.test.d.ts.map +0 -1
  233. package/lib/protocol.test.js +0 -181
  234. package/lib/protocol.test.js.map +0 -1
  235. package/lib/services/alb.js.map +0 -1
  236. package/lib/services/alb_waf.js.map +0 -1
  237. package/lib/services/authorization.js.map +0 -1
  238. package/lib/services/automation.js.map +0 -1
  239. package/lib/services/cdn.js.map +0 -1
  240. package/lib/services/certificates.js.map +0 -1
  241. package/lib/services/cost.js.map +0 -1
  242. package/lib/services/dns.js.map +0 -1
  243. package/lib/services/dremio.js.map +0 -1
  244. package/lib/services/edge.js.map +0 -1
  245. package/lib/services/functions.js.map +0 -1
  246. package/lib/services/git.js.map +0 -1
  247. package/lib/services/iaas.js.map +0 -1
  248. package/lib/services/intake.js.map +0 -1
  249. package/lib/services/kms.js.map +0 -1
  250. package/lib/services/lb_ip_lists.js.map +0 -1
  251. package/lib/services/load_balancer.js.map +0 -1
  252. package/lib/services/logme.js.map +0 -1
  253. package/lib/services/logs.js.map +0 -1
  254. package/lib/services/mariadb.js.map +0 -1
  255. package/lib/services/model_experiments.js.map +0 -1
  256. package/lib/services/model_serving.js.map +0 -1
  257. package/lib/services/mongodb_flex.js.map +0 -1
  258. package/lib/services/object_storage.js.map +0 -1
  259. package/lib/services/observability.js.map +0 -1
  260. package/lib/services/opensearch.js.map +0 -1
  261. package/lib/services/pim.js.map +0 -1
  262. package/lib/services/postgres_flex.js.map +0 -1
  263. package/lib/services/pubsub.js.map +0 -1
  264. package/lib/services/rabbitmq.js.map +0 -1
  265. package/lib/services/registry.js.map +0 -1
  266. package/lib/services/resource_manager.js.map +0 -1
  267. package/lib/services/run_command.js.map +0 -1
  268. package/lib/services/sca.js.map +0 -1
  269. package/lib/services/scf.js.map +0 -1
  270. package/lib/services/secrets_manager.js.map +0 -1
  271. package/lib/services/server_backup.js.map +0 -1
  272. package/lib/services/server_update.js.map +0 -1
  273. package/lib/services/service_account.js.map +0 -1
  274. package/lib/services/service_enablement.js.map +0 -1
  275. package/lib/services/sfs.js.map +0 -1
  276. package/lib/services/ske.js.map +0 -1
  277. package/lib/services/sqlserverflex.js.map +0 -1
  278. package/lib/services/stackit_marketplace.js.map +0 -1
  279. package/lib/services/telemetry_link.js.map +0 -1
  280. package/lib/services/telemetry_router.js.map +0 -1
  281. package/lib/services/ufw.js.map +0 -1
  282. package/lib/services/valkey.js.map +0 -1
  283. package/lib/services/vpn.js.map +0 -1
  284. package/lib/services/workflows.js.map +0 -1
  285. package/src/protocol.test.ts +0 -304
@@ -1,11 +1,14 @@
1
1
  import * as API from "@distilled.cloud/core/api";
2
2
  import * as C from "@distilled.cloud/core/category";
3
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";
4
+ import * as S from "@distilled.cloud/core/schema-lite";
5
+ import * as __L from "@distilled.cloud/core/schema-lite";
5
6
  import { UnknownStackitError } from "../errors.ts";
6
7
  import { StackitProtocol, type StackitOpError, type StackitOpContext } from "../protocol.ts";
7
8
  import * as Retry from "../retry.ts";
8
9
  import * as T from "../traits.ts";
10
+ // Schema table, filled on first reach (see __S at the end).
11
+ const __s: any[] = [];
9
12
 
10
13
  export type { StackitOpError, StackitOpContext };
11
14
 
@@ -47,61 +50,28 @@ export class NotFound
47
50
 
48
51
  /** The region in which the resource is located. */
49
52
  export type CreateGatewayRequestRegion = "eu01" | "eu02";
50
- export const CreateGatewayRequestRegion = S.String;
51
-
52
53
  export interface CreateGatewayRequestAvailabilityZones {
53
54
  tunnel1: string;
54
55
  tunnel2: string;
55
56
  }
56
- export const CreateGatewayRequestAvailabilityZones = /*@__PURE__*/ S.suspend(() =>
57
- S.Struct({
58
- tunnel1: S.String,
59
- tunnel2: S.String,
60
- }),
61
- ).annotate({
62
- identifier: "CreateGatewayRequestAvailabilityZones",
63
- }) as any as S.Schema<CreateGatewayRequestAvailabilityZones>;
64
-
65
57
  /** A list of IPv4 Prefixes to advertise via BGP. If omitted, the SNA network ranges will be advertised. */
66
58
  export type BGPGatewayConfigOverrideAdvertisedRoutesList = Array<string>;
67
- export const BGPGatewayConfigOverrideAdvertisedRoutesList = /*@__PURE__*/ S.Array(
68
- S.String,
69
- ) as any as S.Schema<BGPGatewayConfigOverrideAdvertisedRoutesList>;
70
-
71
59
  /** BGP configuration effects all connections. (only for routingMode=BGP_ROUTE_BASED) */
72
60
  export interface BGPGatewayConfig {
73
61
  localAsn: number;
74
62
  /** A list of IPv4 Prefixes to advertise via BGP. If omitted, the SNA network ranges will be advertised. */
75
63
  overrideAdvertisedRoutes?: BGPGatewayConfigOverrideAdvertisedRoutesList;
76
64
  }
77
- export const BGPGatewayConfig = /*@__PURE__*/ S.suspend(() =>
78
- S.Struct({
79
- localAsn: S.Number,
80
- overrideAdvertisedRoutes: S.optional(BGPGatewayConfigOverrideAdvertisedRoutesList),
81
- }),
82
- ).annotate({ identifier: "BGPGatewayConfig" }) as any as S.Schema<BGPGatewayConfig>;
83
-
84
65
  /** Map of custom labels. Key and values must be a string with max 63 chars, start/end with alphanumeric. The key of a label follows the same rules as the `LabelValue` except that it cannot be empty. */
85
66
  export type Label = { [key: string]: string | undefined };
86
- export const Label = /*@__PURE__*/ S.Record(S.String, S.String) as any as S.Schema<Label>;
87
-
88
67
  export interface NetworkConfig {
89
68
  /** The IPv4 network prefix (CIDR notation) allocated for the VPN gateway. Must have a prefix length of /28 or larger. Once the gateway is created, is not possible to change this attribute. */
90
69
  predefinedNetworkPrefix?: string;
91
70
  /** Custom routing table ID for the VPN gateway */
92
71
  routingTableId?: string;
93
72
  }
94
- export const NetworkConfig = /*@__PURE__*/ S.suspend(() =>
95
- S.Struct({
96
- predefinedNetworkPrefix: S.optional(S.String),
97
- routingTableId: S.optional(S.String),
98
- }),
99
- ).annotate({ identifier: "NetworkConfig" }) as any as S.Schema<NetworkConfig>;
100
-
101
73
  /** Once the gateway is created, it is not possible to change this attribute. */
102
74
  export type RoutingType = "POLICY_BASED" | "ROUTE_BASED" | "BGP_ROUTE_BASED";
103
- export const RoutingType = S.String;
104
-
105
75
  export interface CreateGatewayRequest {
106
76
  projectId: string;
107
77
  region: CreateGatewayRequestRegion | (string & {});
@@ -115,34 +85,9 @@ export interface CreateGatewayRequest {
115
85
  planId: string;
116
86
  routingType: RoutingType | (string & {});
117
87
  }
118
- export const CreateGatewayRequest = /*@__PURE__*/ S.suspend(() =>
119
- S.Struct({
120
- projectId: S.String.pipe(T.Label()),
121
- region: CreateGatewayRequestRegion.pipe(T.Label()),
122
- availabilityZones: CreateGatewayRequestAvailabilityZones,
123
- bgp: S.optional(BGPGatewayConfig),
124
- displayName: S.String,
125
- labels: S.optional(Label),
126
- networkConfig: S.optional(NetworkConfig),
127
- planId: S.String,
128
- routingType: RoutingType,
129
- }).pipe(
130
- T.Http({
131
- method: "POST",
132
- uri: "/v1/projects/{projectId}/regions/{region}/gateways",
133
- code: 200,
134
- baseUrl: "https://vpn.api.stackit.cloud",
135
- }),
136
- ),
137
- ).annotate({ identifier: "CreateGatewayRequest" }) as any as S.Schema<CreateGatewayRequest>;
138
-
139
88
  export type CreateGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
140
- export const CreateGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
141
-
142
89
  /** The current lifecycle state of the gateway infrastructure. - `PENDING`: Provisioning or update is in progress. - `READY`: The gateway is fully operational. - `ERROR`: A failure occurred. - `DELETING`: The resource is being removed. */
143
90
  export type GatewayStatus = "PENDING" | "READY" | "ERROR" | "DELETING";
144
- export const GatewayStatus = S.String;
145
-
146
91
  export interface CreateGatewayResponse {
147
92
  availabilityZones: CreateGatewayRequestAvailabilityZones;
148
93
  bgp?: BGPGatewayConfig;
@@ -157,89 +102,32 @@ export interface CreateGatewayResponse {
157
102
  id?: string;
158
103
  state?: GatewayStatus;
159
104
  }
160
- export const CreateGatewayResponse = /*@__PURE__*/ S.suspend(() =>
161
- S.Struct({
162
- availabilityZones: CreateGatewayRequestAvailabilityZones,
163
- bgp: S.optional(BGPGatewayConfig),
164
- displayName: S.String,
165
- labels: S.optional(Label),
166
- networkConfig: S.optional(NetworkConfig),
167
- planId: S.String,
168
- routingType: RoutingType,
169
- id: S.optional(S.String),
170
- state: S.optional(GatewayStatus),
171
- }),
172
- ).annotate({ identifier: "CreateGatewayResponse" }) as any as S.Schema<CreateGatewayResponse>;
173
-
174
105
  /** The region in which the resource is located. */
175
106
  export type CreateGatewayBGPFilterRequestRegion = "eu01" | "eu02";
176
- export const CreateGatewayBGPFilterRequestRegion = S.String;
177
-
178
107
  export interface CreateGatewayBGPFilterRequest {
179
108
  projectId: string;
180
109
  region: CreateGatewayBGPFilterRequestRegion | (string & {});
181
110
  gatewayId: string;
182
- /** A user-friendly name for the filter. Display only — not enforced unique across a gateway. */
111
+ /** A user-friendly name for the filter. Display only -- not enforced unique across a gateway. */
183
112
  displayName: string;
184
113
  }
185
- export const CreateGatewayBGPFilterRequest = /*@__PURE__*/ S.suspend(() =>
186
- S.Struct({
187
- projectId: S.String.pipe(T.Label()),
188
- region: CreateGatewayBGPFilterRequestRegion.pipe(T.Label()),
189
- gatewayId: S.String.pipe(T.Label()),
190
- displayName: S.String,
191
- }).pipe(
192
- T.Http({
193
- method: "POST",
194
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters",
195
- code: 200,
196
- baseUrl: "https://vpn.api.stackit.cloud",
197
- }),
198
- ),
199
- ).annotate({
200
- identifier: "CreateGatewayBGPFilterRequest",
201
- }) as any as S.Schema<CreateGatewayBGPFilterRequest>;
202
-
203
114
  /** A named BGP route filter. Internally a BGPFilter holds an ordered set of rules (managed via the nested /rules sub-resource); a route is evaluated against each rule in 'sequence' order and the first match decides the outcome. An implicit DENY is applied after the last rule, so a route that matches no PERMIT rule is dropped. Attaching an empty filter to a tunnel therefore denies every route. Resource limits: the maximum number of filters per gateway equals the gateway plan's maxConnections value; the maximum number of rules per filter is 10. */
204
115
  export interface BGPFilter {
205
- /** A user-friendly name for the filter. Display only — not enforced unique across a gateway. */
116
+ /** A user-friendly name for the filter. Display only -- not enforced unique across a gateway. */
206
117
  displayName: string;
207
118
  /** The server-generated UUID of the filter. */
208
119
  id?: string;
209
120
  }
210
- export const BGPFilter = /*@__PURE__*/ S.suspend(() =>
211
- S.Struct({
212
- displayName: S.String,
213
- id: S.optional(S.String),
214
- }),
215
- ).annotate({ identifier: "BGPFilter" }) as any as S.Schema<BGPFilter>;
216
-
217
121
  /** The region in which the resource is located. */
218
122
  export type CreateGatewayBGPFilterRuleRequestRegion = "eu01" | "eu02";
219
- export const CreateGatewayBGPFilterRuleRequestRegion = S.String;
220
-
221
123
  /** The action to take if the route matches all criteria. Case-sensitive. */
222
124
  export type CreateGatewayBGPFilterRuleRequestAction = "PERMIT" | "DENY";
223
- export const CreateGatewayBGPFilterRuleRequestAction = S.String;
224
-
225
125
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
226
126
  export type CreateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList = Array<number>;
227
- export const CreateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList = /*@__PURE__*/ S.Array(
228
- S.Number,
229
- ) as any as S.Schema<CreateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList>;
230
-
231
127
  /** Matches if the route carries any one of these BGP standard communities (logical OR within the list). Format is 'asn:value' per RFC 1997 (both halves must fit in a uint32, i.e. 0..4294967295). Extended, large and well-known communities are not supported. */
232
128
  export type CreateGatewayBGPFilterRuleRequestMatchCommunitiesList = Array<string>;
233
- export const CreateGatewayBGPFilterRuleRequestMatchCommunitiesList = /*@__PURE__*/ S.Array(
234
- S.String,
235
- ) as any as S.Schema<CreateGatewayBGPFilterRuleRequestMatchCommunitiesList>;
236
-
237
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
129
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
238
130
  export type CreateGatewayBGPFilterRuleRequestMatchPrefixesList = Array<string>;
239
- export const CreateGatewayBGPFilterRuleRequestMatchPrefixesList = /*@__PURE__*/ S.Array(
240
- S.String,
241
- ) as any as S.Schema<CreateGatewayBGPFilterRuleRequestMatchPrefixesList>;
242
-
243
131
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
244
132
  export interface CreateGatewayBGPFilterRuleRequestMatch {
245
133
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
@@ -254,36 +142,14 @@ export interface CreateGatewayBGPFilterRuleRequestMatch {
254
142
  minPrefixLength?: number;
255
143
  /** Matches the exact IPv4 address of the BGP neighbor that advertised the route. Useful when the same filter is attached to multiple tunnels with different neighbor IPs (allows per-peer rules in a shared filter). When a filter is attached to a single tunnel, this field is effectively a no-op because the route-map is already neighbor-scoped. */
256
144
  peer?: string;
257
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
145
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
258
146
  prefixes?: CreateGatewayBGPFilterRuleRequestMatchPrefixesList;
259
147
  }
260
- export const CreateGatewayBGPFilterRuleRequestMatch = /*@__PURE__*/ S.suspend(() =>
261
- S.Struct({
262
- asPathContainsAny: S.optional(CreateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList),
263
- communities: S.optional(CreateGatewayBGPFilterRuleRequestMatchCommunitiesList),
264
- firstASN: S.optional(S.Number),
265
- maxPrefixLength: S.optional(S.Number),
266
- minPrefixLength: S.optional(S.Number),
267
- peer: S.optional(S.String),
268
- prefixes: S.optional(CreateGatewayBGPFilterRuleRequestMatchPrefixesList),
269
- }),
270
- ).annotate({
271
- identifier: "CreateGatewayBGPFilterRuleRequestMatch",
272
- }) as any as S.Schema<CreateGatewayBGPFilterRuleRequestMatch>;
273
-
274
148
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
275
149
  export interface CreateGatewayBGPFilterRuleRequestSet {
276
150
  /** BGP LOCAL_PREF to set on the route. Higher values are preferred during best-path selection. Default BGP LOCAL_PREF is 100; any value here overrides. */
277
151
  localPreference?: number;
278
152
  }
279
- export const CreateGatewayBGPFilterRuleRequestSet = /*@__PURE__*/ S.suspend(() =>
280
- S.Struct({
281
- localPreference: S.optional(S.Number),
282
- }),
283
- ).annotate({
284
- identifier: "CreateGatewayBGPFilterRuleRequestSet",
285
- }) as any as S.Schema<CreateGatewayBGPFilterRuleRequestSet>;
286
-
287
153
  export interface CreateGatewayBGPFilterRuleRequest {
288
154
  projectId: string;
289
155
  region: CreateGatewayBGPFilterRuleRequestRegion | (string & {});
@@ -293,55 +159,19 @@ export interface CreateGatewayBGPFilterRuleRequest {
293
159
  action: CreateGatewayBGPFilterRuleRequestAction | (string & {});
294
160
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
295
161
  match?: CreateGatewayBGPFilterRuleRequestMatch;
296
- /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required — sending a partial update without 'sequence' returns 400. */
162
+ /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required -- sending a partial update without 'sequence' returns 400. */
297
163
  sequence?: number;
298
164
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
299
165
  set?: CreateGatewayBGPFilterRuleRequestSet;
300
166
  }
301
- export const CreateGatewayBGPFilterRuleRequest = /*@__PURE__*/ S.suspend(() =>
302
- S.Struct({
303
- projectId: S.String.pipe(T.Label()),
304
- region: CreateGatewayBGPFilterRuleRequestRegion.pipe(T.Label()),
305
- gatewayId: S.String.pipe(T.Label()),
306
- filterId: S.String.pipe(T.Label()),
307
- action: CreateGatewayBGPFilterRuleRequestAction,
308
- match: S.optional(CreateGatewayBGPFilterRuleRequestMatch),
309
- sequence: S.optional(S.Number),
310
- set: S.optional(CreateGatewayBGPFilterRuleRequestSet),
311
- }).pipe(
312
- T.Http({
313
- method: "POST",
314
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules",
315
- code: 200,
316
- baseUrl: "https://vpn.api.stackit.cloud",
317
- }),
318
- ),
319
- ).annotate({
320
- identifier: "CreateGatewayBGPFilterRuleRequest",
321
- }) as any as S.Schema<CreateGatewayBGPFilterRuleRequest>;
322
-
323
167
  /** The action to take if the route matches all criteria. Case-sensitive. */
324
168
  export type BGPFilterRuleAction = "PERMIT" | "DENY";
325
- export const BGPFilterRuleAction = S.String;
326
-
327
169
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
328
170
  export type BGPFilterRuleMatchAsPathContainsAnyList = Array<number>;
329
- export const BGPFilterRuleMatchAsPathContainsAnyList = /*@__PURE__*/ S.Array(
330
- S.Number,
331
- ) as any as S.Schema<BGPFilterRuleMatchAsPathContainsAnyList>;
332
-
333
171
  /** Matches if the route carries any one of these BGP standard communities (logical OR within the list). Format is 'asn:value' per RFC 1997 (both halves must fit in a uint32, i.e. 0..4294967295). Extended, large and well-known communities are not supported. */
334
172
  export type BGPFilterRuleMatchCommunitiesList = Array<string>;
335
- export const BGPFilterRuleMatchCommunitiesList = /*@__PURE__*/ S.Array(
336
- S.String,
337
- ) as any as S.Schema<BGPFilterRuleMatchCommunitiesList>;
338
-
339
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
173
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
340
174
  export type BGPFilterRuleMatchPrefixesList = Array<string>;
341
- export const BGPFilterRuleMatchPrefixesList = /*@__PURE__*/ S.Array(
342
- S.String,
343
- ) as any as S.Schema<BGPFilterRuleMatchPrefixesList>;
344
-
345
175
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
346
176
  export interface BGPFilterRuleMatch {
347
177
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
@@ -356,25 +186,11 @@ export interface BGPFilterRuleMatch {
356
186
  minPrefixLength?: number;
357
187
  /** Matches the exact IPv4 address of the BGP neighbor that advertised the route. Useful when the same filter is attached to multiple tunnels with different neighbor IPs (allows per-peer rules in a shared filter). When a filter is attached to a single tunnel, this field is effectively a no-op because the route-map is already neighbor-scoped. */
358
188
  peer?: string;
359
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
189
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
360
190
  prefixes?: BGPFilterRuleMatchPrefixesList;
361
191
  }
362
- export const BGPFilterRuleMatch = /*@__PURE__*/ S.suspend(() =>
363
- S.Struct({
364
- asPathContainsAny: S.optional(BGPFilterRuleMatchAsPathContainsAnyList),
365
- communities: S.optional(BGPFilterRuleMatchCommunitiesList),
366
- firstASN: S.optional(S.Number),
367
- maxPrefixLength: S.optional(S.Number),
368
- minPrefixLength: S.optional(S.Number),
369
- peer: S.optional(S.String),
370
- prefixes: S.optional(BGPFilterRuleMatchPrefixesList),
371
- }),
372
- ).annotate({ identifier: "BGPFilterRuleMatch" }) as any as S.Schema<BGPFilterRuleMatch>;
373
-
374
192
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
375
193
  export type BGPFilterRuleSet = CreateGatewayBGPFilterRuleRequestSet;
376
- export const BGPFilterRuleSet = CreateGatewayBGPFilterRuleRequestSet;
377
-
378
194
  /** A single rule within a BGPFilter. All non-empty fields within the 'match' block are AND-combined. Rules within a filter are evaluated in 'sequence' order; the first matching rule decides the outcome (logical OR across rules). An implicit DENY follows the last rule. */
379
195
  export interface BGPFilterRule {
380
196
  /** The action to take if the route matches all criteria. Case-sensitive. */
@@ -383,111 +199,55 @@ export interface BGPFilterRule {
383
199
  id?: string;
384
200
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
385
201
  match?: BGPFilterRuleMatch;
386
- /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required — sending a partial update without 'sequence' returns 400. */
202
+ /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required -- sending a partial update without 'sequence' returns 400. */
387
203
  sequence?: number;
388
204
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
389
205
  set?: CreateGatewayBGPFilterRuleRequestSet;
390
206
  }
391
- export const BGPFilterRule = /*@__PURE__*/ S.suspend(() =>
392
- S.Struct({
393
- action: BGPFilterRuleAction,
394
- id: S.optional(S.String),
395
- match: S.optional(BGPFilterRuleMatch),
396
- sequence: S.optional(S.Number),
397
- set: S.optional(CreateGatewayBGPFilterRuleRequestSet),
398
- }),
399
- ).annotate({ identifier: "BGPFilterRule" }) as any as S.Schema<BGPFilterRule>;
400
-
401
207
  /** The region in which the resource is located. */
402
208
  export type CreateGatewayConnectionRequestRegion = "eu01" | "eu02";
403
- export const CreateGatewayConnectionRequestRegion = S.String;
404
-
405
209
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
406
210
  export type CreateGatewayConnectionRequestLocalSubnetsList = Array<string>;
407
- export const CreateGatewayConnectionRequestLocalSubnetsList = /*@__PURE__*/ S.Array(
408
- S.String,
409
- ) as any as S.Schema<CreateGatewayConnectionRequestLocalSubnetsList>;
410
-
411
211
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
412
212
  export type CreateGatewayConnectionRequestRemoteSubnetsList = Array<string>;
413
- export const CreateGatewayConnectionRequestRemoteSubnetsList = /*@__PURE__*/ S.Array(
414
- S.String,
415
- ) as any as S.Schema<CreateGatewayConnectionRequestRemoteSubnetsList>;
416
-
417
213
  /** Optional. Use this for route-based VPN. */
418
214
  export type CreateGatewayConnectionRequestStaticRoutesList = Array<string>;
419
- export const CreateGatewayConnectionRequestStaticRoutesList = /*@__PURE__*/ S.Array(
420
- S.String,
421
- ) as any as S.Schema<CreateGatewayConnectionRequestStaticRoutesList>;
422
-
423
215
  export interface BGPTunnelConfig {
424
216
  /** UUID of the BGPFilter to apply to incoming routes from this tunnel's BGP neighbor. The filter must exist in the same gateway. Multiple tunnels may reference the same BGPFilter; in that case the rules' 'match.peer' field can be used to scope behavior per neighbor. Outbound filtering is not yet supported; use gateway.bgp.overrideAdvertisedRoutes to control what is advertised. */
425
217
  inboundFilterId?: string | null;
426
218
  remoteAsn: number;
427
219
  }
428
- export const BGPTunnelConfig = /*@__PURE__*/ S.suspend(() =>
429
- S.Struct({
430
- inboundFilterId: S.optional(S.NullOr(S.String)),
431
- remoteAsn: S.Number,
432
- }),
433
- ).annotate({ identifier: "BGPTunnelConfig" }) as any as S.Schema<BGPTunnelConfig>;
434
-
435
220
  /** The peering object defines the point-to-point IP configuration for the Tunnel Interface. These addresses serve as next-hop identifiers and are used for BGP peering sessions and can be used in Static Route-Based connectivity. */
436
221
  export interface PeeringConfig {
437
222
  localAddress?: string;
438
223
  remoteAddress?: string;
439
224
  }
440
- export const PeeringConfig = /*@__PURE__*/ S.suspend(() =>
441
- S.Struct({
442
- localAddress: S.optional(S.String),
443
- remoteAddress: S.optional(S.String),
444
- }),
445
- ).annotate({ identifier: "PeeringConfig" }) as any as S.Schema<PeeringConfig>;
446
-
447
225
  export type TunnelConfigurationPhase1DhGroupsItem =
448
226
  | "modp1024"
449
227
  | "modp2048"
450
228
  | "ecp256"
451
229
  | "ecp384"
452
230
  | "modp2048s256";
453
- export const TunnelConfigurationPhase1DhGroupsItem = S.String;
454
-
455
231
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
456
232
  export type TunnelConfigurationPhase1DhGroupsList = Array<
457
233
  TunnelConfigurationPhase1DhGroupsItem | (string & {})
458
234
  >;
459
- export const TunnelConfigurationPhase1DhGroupsList = /*@__PURE__*/ S.Array(
460
- TunnelConfigurationPhase1DhGroupsItem,
461
- ) as any as S.Schema<TunnelConfigurationPhase1DhGroupsList>;
462
-
463
235
  export type TunnelConfigurationPhase1EncryptionAlgorithmsItem =
464
236
  | "aes256"
465
237
  | "aes128gcm16"
466
238
  | "aes256gcm16";
467
- export const TunnelConfigurationPhase1EncryptionAlgorithmsItem = S.String;
468
-
469
239
  export type TunnelConfigurationPhase1EncryptionAlgorithmsList = Array<
470
240
  TunnelConfigurationPhase1EncryptionAlgorithmsItem | (string & {})
471
241
  >;
472
- export const TunnelConfigurationPhase1EncryptionAlgorithmsList = /*@__PURE__*/ S.Array(
473
- TunnelConfigurationPhase1EncryptionAlgorithmsItem,
474
- ) as any as S.Schema<TunnelConfigurationPhase1EncryptionAlgorithmsList>;
475
-
476
242
  export type TunnelConfigurationPhase1IntegrityAlgorithmsItem =
477
243
  | "sha1"
478
244
  | "sha2_256"
479
245
  | "sha2_384"
480
246
  | "sha2_512";
481
- export const TunnelConfigurationPhase1IntegrityAlgorithmsItem = S.String;
482
-
483
247
  /** Supported integrity algorithms. SHA1 is deprecated and will be removed on 2026-12-31. */
484
248
  export type TunnelConfigurationPhase1IntegrityAlgorithmsList = Array<
485
249
  TunnelConfigurationPhase1IntegrityAlgorithmsItem | (string & {})
486
250
  >;
487
- export const TunnelConfigurationPhase1IntegrityAlgorithmsList = /*@__PURE__*/ S.Array(
488
- TunnelConfigurationPhase1IntegrityAlgorithmsItem,
489
- ) as any as S.Schema<TunnelConfigurationPhase1IntegrityAlgorithmsList>;
490
-
491
251
  export interface TunnelConfigurationPhase1 {
492
252
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
493
253
  dhGroups?: TunnelConfigurationPhase1DhGroupsList;
@@ -497,69 +257,36 @@ export interface TunnelConfigurationPhase1 {
497
257
  /** Time to schedule a IKE re-keying (in seconds). */
498
258
  rekeyTime?: number;
499
259
  }
500
- export const TunnelConfigurationPhase1 = /*@__PURE__*/ S.suspend(() =>
501
- S.Struct({
502
- dhGroups: S.optional(TunnelConfigurationPhase1DhGroupsList),
503
- encryptionAlgorithms: TunnelConfigurationPhase1EncryptionAlgorithmsList,
504
- integrityAlgorithms: TunnelConfigurationPhase1IntegrityAlgorithmsList,
505
- rekeyTime: S.optional(S.Number),
506
- }),
507
- ).annotate({
508
- identifier: "TunnelConfigurationPhase1",
509
- }) as any as S.Schema<TunnelConfigurationPhase1>;
510
-
511
260
  export type TunnelConfigurationPhase2DhGroupsItem =
512
261
  | "modp1024"
513
262
  | "modp2048"
514
263
  | "ecp256"
515
264
  | "ecp384"
516
265
  | "modp2048s256";
517
- export const TunnelConfigurationPhase2DhGroupsItem = S.String;
518
-
519
266
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
520
267
  export type TunnelConfigurationPhase2DhGroupsList = Array<
521
268
  TunnelConfigurationPhase2DhGroupsItem | (string & {})
522
269
  >;
523
- export const TunnelConfigurationPhase2DhGroupsList = /*@__PURE__*/ S.Array(
524
- TunnelConfigurationPhase2DhGroupsItem,
525
- ) as any as S.Schema<TunnelConfigurationPhase2DhGroupsList>;
526
-
527
270
  export type TunnelConfigurationPhase2EncryptionAlgorithmsItem =
528
271
  | "aes256"
529
272
  | "aes128gcm16"
530
273
  | "aes256gcm16";
531
- export const TunnelConfigurationPhase2EncryptionAlgorithmsItem = S.String;
532
-
533
274
  export type TunnelConfigurationPhase2EncryptionAlgorithmsList = Array<
534
275
  TunnelConfigurationPhase2EncryptionAlgorithmsItem | (string & {})
535
276
  >;
536
- export const TunnelConfigurationPhase2EncryptionAlgorithmsList = /*@__PURE__*/ S.Array(
537
- TunnelConfigurationPhase2EncryptionAlgorithmsItem,
538
- ) as any as S.Schema<TunnelConfigurationPhase2EncryptionAlgorithmsList>;
539
-
540
277
  export type TunnelConfigurationPhase2IntegrityAlgorithmsItem =
541
278
  | "sha1"
542
279
  | "sha2_256"
543
280
  | "sha2_384"
544
281
  | "sha2_512";
545
- export const TunnelConfigurationPhase2IntegrityAlgorithmsItem = S.String;
546
-
547
282
  /** Supported integrity algorithms. SHA1 is deprecated and will be removed on 2026-12-31. */
548
283
  export type TunnelConfigurationPhase2IntegrityAlgorithmsList = Array<
549
284
  TunnelConfigurationPhase2IntegrityAlgorithmsItem | (string & {})
550
285
  >;
551
- export const TunnelConfigurationPhase2IntegrityAlgorithmsList = /*@__PURE__*/ S.Array(
552
- TunnelConfigurationPhase2IntegrityAlgorithmsItem,
553
- ) as any as S.Schema<TunnelConfigurationPhase2IntegrityAlgorithmsList>;
554
-
555
286
  /** Action to perform for this CHILD_SA on DPD timeout. "clear": Closes the CHILD_SA and does not take further action. "restart": immediately tries to re-negotiate the CILD_SA under a fresh IKE_SA. */
556
287
  export type TunnelConfigurationPhase2DpdAction = "clear" | "restart";
557
- export const TunnelConfigurationPhase2DpdAction = S.String;
558
-
559
288
  /** Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. */
560
289
  export type TunnelConfigurationPhase2StartAction = "none" | "start";
561
- export const TunnelConfigurationPhase2StartAction = S.String;
562
-
563
290
  export interface TunnelConfigurationPhase2 {
564
291
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
565
292
  dhGroups?: TunnelConfigurationPhase2DhGroupsList;
@@ -573,19 +300,6 @@ export interface TunnelConfigurationPhase2 {
573
300
  /** Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. */
574
301
  startAction?: TunnelConfigurationPhase2StartAction | (string & {});
575
302
  }
576
- export const TunnelConfigurationPhase2 = /*@__PURE__*/ S.suspend(() =>
577
- S.Struct({
578
- dhGroups: S.optional(TunnelConfigurationPhase2DhGroupsList),
579
- encryptionAlgorithms: TunnelConfigurationPhase2EncryptionAlgorithmsList,
580
- integrityAlgorithms: TunnelConfigurationPhase2IntegrityAlgorithmsList,
581
- dpdAction: S.optional(TunnelConfigurationPhase2DpdAction),
582
- rekeyTime: S.optional(S.Number),
583
- startAction: S.optional(TunnelConfigurationPhase2StartAction),
584
- }),
585
- ).annotate({
586
- identifier: "TunnelConfigurationPhase2",
587
- }) as any as S.Schema<TunnelConfigurationPhase2>;
588
-
589
303
  export interface TunnelConfiguration {
590
304
  bgp?: BGPTunnelConfig;
591
305
  peering?: PeeringConfig;
@@ -595,17 +309,6 @@ export interface TunnelConfiguration {
595
309
  preSharedKey?: string;
596
310
  remoteAddress: string;
597
311
  }
598
- export const TunnelConfiguration = /*@__PURE__*/ S.suspend(() =>
599
- S.Struct({
600
- bgp: S.optional(BGPTunnelConfig),
601
- peering: S.optional(PeeringConfig),
602
- phase1: TunnelConfigurationPhase1,
603
- phase2: TunnelConfigurationPhase2,
604
- preSharedKey: S.optional(S.String),
605
- remoteAddress: S.String,
606
- }),
607
- ).annotate({ identifier: "TunnelConfiguration" }) as any as S.Schema<TunnelConfiguration>;
608
-
609
312
  export interface CreateGatewayConnectionRequest {
610
313
  projectId: string;
611
314
  region: CreateGatewayConnectionRequestRegion | (string & {});
@@ -624,90 +327,35 @@ export interface CreateGatewayConnectionRequest {
624
327
  tunnel1: TunnelConfiguration;
625
328
  tunnel2: TunnelConfiguration;
626
329
  }
627
- export const CreateGatewayConnectionRequest = /*@__PURE__*/ S.suspend(() =>
628
- S.Struct({
629
- projectId: S.String.pipe(T.Label()),
630
- region: CreateGatewayConnectionRequestRegion.pipe(T.Label()),
631
- gatewayId: S.String.pipe(T.Label()),
632
- displayName: S.String,
633
- enabled: S.optional(S.Boolean),
634
- labels: S.optional(Label),
635
- localSubnets: S.optional(CreateGatewayConnectionRequestLocalSubnetsList),
636
- remoteSubnets: S.optional(CreateGatewayConnectionRequestRemoteSubnetsList),
637
- staticRoutes: S.optional(CreateGatewayConnectionRequestStaticRoutesList),
638
- tunnel1: TunnelConfiguration,
639
- tunnel2: TunnelConfiguration,
640
- }).pipe(
641
- T.Http({
642
- method: "POST",
643
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections",
644
- code: 200,
645
- baseUrl: "https://vpn.api.stackit.cloud",
646
- }),
647
- ),
648
- ).annotate({
649
- identifier: "CreateGatewayConnectionRequest",
650
- }) as any as S.Schema<CreateGatewayConnectionRequest>;
651
-
652
330
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
653
331
  export type ConnectionResponseOutputLocalSubnetsList = Array<string>;
654
- export const ConnectionResponseOutputLocalSubnetsList = /*@__PURE__*/ S.Array(
655
- S.String,
656
- ) as any as S.Schema<ConnectionResponseOutputLocalSubnetsList>;
657
-
658
332
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
659
333
  export type ConnectionResponseOutputRemoteSubnetsList = Array<string>;
660
- export const ConnectionResponseOutputRemoteSubnetsList = /*@__PURE__*/ S.Array(
661
- S.String,
662
- ) as any as S.Schema<ConnectionResponseOutputRemoteSubnetsList>;
663
-
664
334
  /** Optional. Use this for route-based VPN. */
665
335
  export type ConnectionResponseOutputStaticRoutesList = Array<string>;
666
- export const ConnectionResponseOutputStaticRoutesList = /*@__PURE__*/ S.Array(
667
- S.String,
668
- ) as any as S.Schema<ConnectionResponseOutputStaticRoutesList>;
669
-
670
336
  export type TunnelConfigurationOutputPhase1DhGroupsItem =
671
337
  | "modp1024"
672
338
  | "modp2048"
673
339
  | "ecp256"
674
340
  | "ecp384"
675
341
  | "modp2048s256";
676
- export const TunnelConfigurationOutputPhase1DhGroupsItem = S.String;
677
-
678
342
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
679
343
  export type TunnelConfigurationOutputPhase1DhGroupsList =
680
344
  Array<TunnelConfigurationOutputPhase1DhGroupsItem>;
681
- export const TunnelConfigurationOutputPhase1DhGroupsList = /*@__PURE__*/ S.Array(
682
- TunnelConfigurationOutputPhase1DhGroupsItem,
683
- ) as any as S.Schema<TunnelConfigurationOutputPhase1DhGroupsList>;
684
-
685
345
  export type TunnelConfigurationOutputPhase1EncryptionAlgorithmsItem =
686
346
  | "aes256"
687
347
  | "aes128gcm16"
688
348
  | "aes256gcm16";
689
- export const TunnelConfigurationOutputPhase1EncryptionAlgorithmsItem = S.String;
690
-
691
349
  export type TunnelConfigurationOutputPhase1EncryptionAlgorithmsList =
692
350
  Array<TunnelConfigurationOutputPhase1EncryptionAlgorithmsItem>;
693
- export const TunnelConfigurationOutputPhase1EncryptionAlgorithmsList = /*@__PURE__*/ S.Array(
694
- TunnelConfigurationOutputPhase1EncryptionAlgorithmsItem,
695
- ) as any as S.Schema<TunnelConfigurationOutputPhase1EncryptionAlgorithmsList>;
696
-
697
351
  export type TunnelConfigurationOutputPhase1IntegrityAlgorithmsItem =
698
352
  | "sha1"
699
353
  | "sha2_256"
700
354
  | "sha2_384"
701
355
  | "sha2_512";
702
- export const TunnelConfigurationOutputPhase1IntegrityAlgorithmsItem = S.String;
703
-
704
356
  /** Supported integrity algorithms. SHA1 is deprecated and will be removed on 2026-12-31. */
705
357
  export type TunnelConfigurationOutputPhase1IntegrityAlgorithmsList =
706
358
  Array<TunnelConfigurationOutputPhase1IntegrityAlgorithmsItem>;
707
- export const TunnelConfigurationOutputPhase1IntegrityAlgorithmsList = /*@__PURE__*/ S.Array(
708
- TunnelConfigurationOutputPhase1IntegrityAlgorithmsItem,
709
- ) as any as S.Schema<TunnelConfigurationOutputPhase1IntegrityAlgorithmsList>;
710
-
711
359
  export interface TunnelConfigurationOutputPhase1 {
712
360
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
713
361
  dhGroups?: TunnelConfigurationOutputPhase1DhGroupsList;
@@ -717,66 +365,33 @@ export interface TunnelConfigurationOutputPhase1 {
717
365
  /** Time to schedule a IKE re-keying (in seconds). */
718
366
  rekeyTime?: number;
719
367
  }
720
- export const TunnelConfigurationOutputPhase1 = /*@__PURE__*/ S.suspend(() =>
721
- S.Struct({
722
- dhGroups: S.optional(TunnelConfigurationOutputPhase1DhGroupsList),
723
- encryptionAlgorithms: TunnelConfigurationOutputPhase1EncryptionAlgorithmsList,
724
- integrityAlgorithms: TunnelConfigurationOutputPhase1IntegrityAlgorithmsList,
725
- rekeyTime: S.optional(S.Number),
726
- }),
727
- ).annotate({
728
- identifier: "TunnelConfigurationOutputPhase1",
729
- }) as any as S.Schema<TunnelConfigurationOutputPhase1>;
730
-
731
368
  export type TunnelConfigurationOutputPhase2DhGroupsItem =
732
369
  | "modp1024"
733
370
  | "modp2048"
734
371
  | "ecp256"
735
372
  | "ecp384"
736
373
  | "modp2048s256";
737
- export const TunnelConfigurationOutputPhase2DhGroupsItem = S.String;
738
-
739
374
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
740
375
  export type TunnelConfigurationOutputPhase2DhGroupsList =
741
376
  Array<TunnelConfigurationOutputPhase2DhGroupsItem>;
742
- export const TunnelConfigurationOutputPhase2DhGroupsList = /*@__PURE__*/ S.Array(
743
- TunnelConfigurationOutputPhase2DhGroupsItem,
744
- ) as any as S.Schema<TunnelConfigurationOutputPhase2DhGroupsList>;
745
-
746
377
  export type TunnelConfigurationOutputPhase2EncryptionAlgorithmsItem =
747
378
  | "aes256"
748
379
  | "aes128gcm16"
749
380
  | "aes256gcm16";
750
- export const TunnelConfigurationOutputPhase2EncryptionAlgorithmsItem = S.String;
751
-
752
381
  export type TunnelConfigurationOutputPhase2EncryptionAlgorithmsList =
753
382
  Array<TunnelConfigurationOutputPhase2EncryptionAlgorithmsItem>;
754
- export const TunnelConfigurationOutputPhase2EncryptionAlgorithmsList = /*@__PURE__*/ S.Array(
755
- TunnelConfigurationOutputPhase2EncryptionAlgorithmsItem,
756
- ) as any as S.Schema<TunnelConfigurationOutputPhase2EncryptionAlgorithmsList>;
757
-
758
383
  export type TunnelConfigurationOutputPhase2IntegrityAlgorithmsItem =
759
384
  | "sha1"
760
385
  | "sha2_256"
761
386
  | "sha2_384"
762
387
  | "sha2_512";
763
- export const TunnelConfigurationOutputPhase2IntegrityAlgorithmsItem = S.String;
764
-
765
388
  /** Supported integrity algorithms. SHA1 is deprecated and will be removed on 2026-12-31. */
766
389
  export type TunnelConfigurationOutputPhase2IntegrityAlgorithmsList =
767
390
  Array<TunnelConfigurationOutputPhase2IntegrityAlgorithmsItem>;
768
- export const TunnelConfigurationOutputPhase2IntegrityAlgorithmsList = /*@__PURE__*/ S.Array(
769
- TunnelConfigurationOutputPhase2IntegrityAlgorithmsItem,
770
- ) as any as S.Schema<TunnelConfigurationOutputPhase2IntegrityAlgorithmsList>;
771
-
772
391
  /** Action to perform for this CHILD_SA on DPD timeout. "clear": Closes the CHILD_SA and does not take further action. "restart": immediately tries to re-negotiate the CILD_SA under a fresh IKE_SA. */
773
392
  export type TunnelConfigurationOutputPhase2DpdAction = "clear" | "restart";
774
- export const TunnelConfigurationOutputPhase2DpdAction = S.String;
775
-
776
393
  /** Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. */
777
394
  export type TunnelConfigurationOutputPhase2StartAction = "none" | "start";
778
- export const TunnelConfigurationOutputPhase2StartAction = S.String;
779
-
780
395
  export interface TunnelConfigurationOutputPhase2 {
781
396
  /** The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. */
782
397
  dhGroups?: TunnelConfigurationOutputPhase2DhGroupsList;
@@ -790,19 +405,6 @@ export interface TunnelConfigurationOutputPhase2 {
790
405
  /** Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. */
791
406
  startAction?: TunnelConfigurationOutputPhase2StartAction;
792
407
  }
793
- export const TunnelConfigurationOutputPhase2 = /*@__PURE__*/ S.suspend(() =>
794
- S.Struct({
795
- dhGroups: S.optional(TunnelConfigurationOutputPhase2DhGroupsList),
796
- encryptionAlgorithms: TunnelConfigurationOutputPhase2EncryptionAlgorithmsList,
797
- integrityAlgorithms: TunnelConfigurationOutputPhase2IntegrityAlgorithmsList,
798
- dpdAction: S.optional(TunnelConfigurationOutputPhase2DpdAction),
799
- rekeyTime: S.optional(S.Number),
800
- startAction: S.optional(TunnelConfigurationOutputPhase2StartAction),
801
- }),
802
- ).annotate({
803
- identifier: "TunnelConfigurationOutputPhase2",
804
- }) as any as S.Schema<TunnelConfigurationOutputPhase2>;
805
-
806
408
  export interface TunnelConfigurationOutput {
807
409
  bgp?: BGPTunnelConfig;
808
410
  peering?: PeeringConfig;
@@ -810,18 +412,6 @@ export interface TunnelConfigurationOutput {
810
412
  phase2: TunnelConfigurationOutputPhase2;
811
413
  remoteAddress: string;
812
414
  }
813
- export const TunnelConfigurationOutput = /*@__PURE__*/ S.suspend(() =>
814
- S.Struct({
815
- bgp: S.optional(BGPTunnelConfig),
816
- peering: S.optional(PeeringConfig),
817
- phase1: TunnelConfigurationOutputPhase1,
818
- phase2: TunnelConfigurationOutputPhase2,
819
- remoteAddress: S.String,
820
- }),
821
- ).annotate({
822
- identifier: "TunnelConfigurationOutput",
823
- }) as any as S.Schema<TunnelConfigurationOutput>;
824
-
825
415
  export interface ConnectionResponseOutput {
826
416
  /** A user-friendly name for the connection. */
827
417
  displayName: string;
@@ -839,86 +429,25 @@ export interface ConnectionResponseOutput {
839
429
  tunnel1: TunnelConfigurationOutput;
840
430
  tunnel2: TunnelConfigurationOutput;
841
431
  }
842
- export const ConnectionResponseOutput = /*@__PURE__*/ S.suspend(() =>
843
- S.Struct({
844
- displayName: S.String,
845
- enabled: S.optional(S.Boolean),
846
- id: S.optional(S.String),
847
- labels: S.optional(Label),
848
- localSubnets: S.optional(ConnectionResponseOutputLocalSubnetsList),
849
- remoteSubnets: S.optional(ConnectionResponseOutputRemoteSubnetsList),
850
- staticRoutes: S.optional(ConnectionResponseOutputStaticRoutesList),
851
- tunnel1: TunnelConfigurationOutput,
852
- tunnel2: TunnelConfigurationOutput,
853
- }),
854
- ).annotate({ identifier: "ConnectionResponseOutput" }) as any as S.Schema<ConnectionResponseOutput>;
855
-
856
432
  /** The region in which the resource is located. */
857
433
  export type DeleteGatewayRequestRegion = "eu01" | "eu02";
858
- export const DeleteGatewayRequestRegion = S.String;
859
-
860
434
  export interface DeleteGatewayRequest {
861
435
  projectId: string;
862
436
  region: DeleteGatewayRequestRegion | (string & {});
863
437
  gatewayId: string;
864
438
  }
865
- export const DeleteGatewayRequest = /*@__PURE__*/ S.suspend(() =>
866
- S.Struct({
867
- projectId: S.String.pipe(T.Label()),
868
- region: DeleteGatewayRequestRegion.pipe(T.Label()),
869
- gatewayId: S.String.pipe(T.Label()),
870
- }).pipe(
871
- T.Http({
872
- method: "DELETE",
873
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
874
- code: 200,
875
- baseUrl: "https://vpn.api.stackit.cloud",
876
- }),
877
- ),
878
- ).annotate({ identifier: "DeleteGatewayRequest" }) as any as S.Schema<DeleteGatewayRequest>;
879
-
880
439
  export interface DeleteGatewayResponse {}
881
- export const DeleteGatewayResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
882
- identifier: "DeleteGatewayResponse",
883
- }) as any as S.Schema<DeleteGatewayResponse>;
884
-
885
440
  /** The region in which the resource is located. */
886
441
  export type DeleteGatewayBGPFilterRequestRegion = "eu01" | "eu02";
887
- export const DeleteGatewayBGPFilterRequestRegion = S.String;
888
-
889
442
  export interface DeleteGatewayBGPFilterRequest {
890
443
  projectId: string;
891
444
  region: DeleteGatewayBGPFilterRequestRegion | (string & {});
892
445
  gatewayId: string;
893
446
  filterId: string;
894
447
  }
895
- export const DeleteGatewayBGPFilterRequest = /*@__PURE__*/ S.suspend(() =>
896
- S.Struct({
897
- projectId: S.String.pipe(T.Label()),
898
- region: DeleteGatewayBGPFilterRequestRegion.pipe(T.Label()),
899
- gatewayId: S.String.pipe(T.Label()),
900
- filterId: S.String.pipe(T.Label()),
901
- }).pipe(
902
- T.Http({
903
- method: "DELETE",
904
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
905
- code: 200,
906
- baseUrl: "https://vpn.api.stackit.cloud",
907
- }),
908
- ),
909
- ).annotate({
910
- identifier: "DeleteGatewayBGPFilterRequest",
911
- }) as any as S.Schema<DeleteGatewayBGPFilterRequest>;
912
-
913
448
  export interface DeleteGatewayBGPFilterResponse {}
914
- export const DeleteGatewayBGPFilterResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
915
- identifier: "DeleteGatewayBGPFilterResponse",
916
- }) as any as S.Schema<DeleteGatewayBGPFilterResponse>;
917
-
918
449
  /** The region in which the resource is located. */
919
450
  export type DeleteGatewayBGPFilterRuleRequestRegion = "eu01" | "eu02";
920
- export const DeleteGatewayBGPFilterRuleRequestRegion = S.String;
921
-
922
451
  export interface DeleteGatewayBGPFilterRuleRequest {
923
452
  projectId: string;
924
453
  region: DeleteGatewayBGPFilterRuleRequestRegion | (string & {});
@@ -926,92 +455,24 @@ export interface DeleteGatewayBGPFilterRuleRequest {
926
455
  filterId: string;
927
456
  ruleId: string;
928
457
  }
929
- export const DeleteGatewayBGPFilterRuleRequest = /*@__PURE__*/ S.suspend(() =>
930
- S.Struct({
931
- projectId: S.String.pipe(T.Label()),
932
- region: DeleteGatewayBGPFilterRuleRequestRegion.pipe(T.Label()),
933
- gatewayId: S.String.pipe(T.Label()),
934
- filterId: S.String.pipe(T.Label()),
935
- ruleId: S.String.pipe(T.Label()),
936
- }).pipe(
937
- T.Http({
938
- method: "DELETE",
939
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
940
- code: 200,
941
- baseUrl: "https://vpn.api.stackit.cloud",
942
- }),
943
- ),
944
- ).annotate({
945
- identifier: "DeleteGatewayBGPFilterRuleRequest",
946
- }) as any as S.Schema<DeleteGatewayBGPFilterRuleRequest>;
947
-
948
458
  export interface DeleteGatewayBGPFilterRuleResponse {}
949
- export const DeleteGatewayBGPFilterRuleResponse = /*@__PURE__*/ S.suspend(() =>
950
- S.Struct({}),
951
- ).annotate({
952
- identifier: "DeleteGatewayBGPFilterRuleResponse",
953
- }) as any as S.Schema<DeleteGatewayBGPFilterRuleResponse>;
954
-
955
459
  /** The region in which the resource is located. */
956
460
  export type DeleteGatewayConnectionRequestRegion = "eu01" | "eu02";
957
- export const DeleteGatewayConnectionRequestRegion = S.String;
958
-
959
461
  export interface DeleteGatewayConnectionRequest {
960
462
  projectId: string;
961
463
  region: DeleteGatewayConnectionRequestRegion | (string & {});
962
464
  gatewayId: string;
963
465
  connectionId: string;
964
466
  }
965
- export const DeleteGatewayConnectionRequest = /*@__PURE__*/ S.suspend(() =>
966
- S.Struct({
967
- projectId: S.String.pipe(T.Label()),
968
- region: DeleteGatewayConnectionRequestRegion.pipe(T.Label()),
969
- gatewayId: S.String.pipe(T.Label()),
970
- connectionId: S.String.pipe(T.Label()),
971
- }).pipe(
972
- T.Http({
973
- method: "DELETE",
974
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
975
- code: 200,
976
- baseUrl: "https://vpn.api.stackit.cloud",
977
- }),
978
- ),
979
- ).annotate({
980
- identifier: "DeleteGatewayConnectionRequest",
981
- }) as any as S.Schema<DeleteGatewayConnectionRequest>;
982
-
983
467
  export interface DeleteGatewayConnectionResponse {}
984
- export const DeleteGatewayConnectionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate(
985
- { identifier: "DeleteGatewayConnectionResponse" },
986
- ) as any as S.Schema<DeleteGatewayConnectionResponse>;
987
-
988
468
  /** The region in which the resource is located. */
989
469
  export type GetGatewayRequestRegion = "eu01" | "eu02";
990
- export const GetGatewayRequestRegion = S.String;
991
-
992
470
  export interface GetGatewayRequest {
993
471
  projectId: string;
994
472
  region: GetGatewayRequestRegion | (string & {});
995
473
  gatewayId: string;
996
474
  }
997
- export const GetGatewayRequest = /*@__PURE__*/ S.suspend(() =>
998
- S.Struct({
999
- projectId: S.String.pipe(T.Label()),
1000
- region: GetGatewayRequestRegion.pipe(T.Label()),
1001
- gatewayId: S.String.pipe(T.Label()),
1002
- }).pipe(
1003
- T.Http({
1004
- method: "GET",
1005
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
1006
- code: 200,
1007
- baseUrl: "https://vpn.api.stackit.cloud",
1008
- }),
1009
- ),
1010
- ).annotate({ identifier: "GetGatewayRequest" }) as any as S.Schema<GetGatewayRequest>;
1011
-
1012
475
  export type GetGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1013
- export const GetGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1014
-
1015
476
  export interface GetGatewayResponse {
1016
477
  availabilityZones: CreateGatewayRequestAvailabilityZones;
1017
478
  bgp?: BGPGatewayConfig;
@@ -1026,52 +487,16 @@ export interface GetGatewayResponse {
1026
487
  id?: string;
1027
488
  state?: GatewayStatus;
1028
489
  }
1029
- export const GetGatewayResponse = /*@__PURE__*/ S.suspend(() =>
1030
- S.Struct({
1031
- availabilityZones: CreateGatewayRequestAvailabilityZones,
1032
- bgp: S.optional(BGPGatewayConfig),
1033
- displayName: S.String,
1034
- labels: S.optional(Label),
1035
- networkConfig: S.optional(NetworkConfig),
1036
- planId: S.String,
1037
- routingType: RoutingType,
1038
- id: S.optional(S.String),
1039
- state: S.optional(GatewayStatus),
1040
- }),
1041
- ).annotate({ identifier: "GetGatewayResponse" }) as any as S.Schema<GetGatewayResponse>;
1042
-
1043
490
  /** The region in which the resource is located. */
1044
491
  export type GetGatewayBGPFilterRequestRegion = "eu01" | "eu02";
1045
- export const GetGatewayBGPFilterRequestRegion = S.String;
1046
-
1047
492
  export interface GetGatewayBGPFilterRequest {
1048
493
  projectId: string;
1049
494
  region: GetGatewayBGPFilterRequestRegion | (string & {});
1050
495
  gatewayId: string;
1051
496
  filterId: string;
1052
497
  }
1053
- export const GetGatewayBGPFilterRequest = /*@__PURE__*/ S.suspend(() =>
1054
- S.Struct({
1055
- projectId: S.String.pipe(T.Label()),
1056
- region: GetGatewayBGPFilterRequestRegion.pipe(T.Label()),
1057
- gatewayId: S.String.pipe(T.Label()),
1058
- filterId: S.String.pipe(T.Label()),
1059
- }).pipe(
1060
- T.Http({
1061
- method: "GET",
1062
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
1063
- code: 200,
1064
- baseUrl: "https://vpn.api.stackit.cloud",
1065
- }),
1066
- ),
1067
- ).annotate({
1068
- identifier: "GetGatewayBGPFilterRequest",
1069
- }) as any as S.Schema<GetGatewayBGPFilterRequest>;
1070
-
1071
498
  /** The region in which the resource is located. */
1072
499
  export type GetGatewayBGPFilterRuleRequestRegion = "eu01" | "eu02";
1073
- export const GetGatewayBGPFilterRuleRequestRegion = S.String;
1074
-
1075
500
  export interface GetGatewayBGPFilterRuleRequest {
1076
501
  projectId: string;
1077
502
  region: GetGatewayBGPFilterRuleRequestRegion | (string & {});
@@ -1079,84 +504,23 @@ export interface GetGatewayBGPFilterRuleRequest {
1079
504
  filterId: string;
1080
505
  ruleId: string;
1081
506
  }
1082
- export const GetGatewayBGPFilterRuleRequest = /*@__PURE__*/ S.suspend(() =>
1083
- S.Struct({
1084
- projectId: S.String.pipe(T.Label()),
1085
- region: GetGatewayBGPFilterRuleRequestRegion.pipe(T.Label()),
1086
- gatewayId: S.String.pipe(T.Label()),
1087
- filterId: S.String.pipe(T.Label()),
1088
- ruleId: S.String.pipe(T.Label()),
1089
- }).pipe(
1090
- T.Http({
1091
- method: "GET",
1092
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
1093
- code: 200,
1094
- baseUrl: "https://vpn.api.stackit.cloud",
1095
- }),
1096
- ),
1097
- ).annotate({
1098
- identifier: "GetGatewayBGPFilterRuleRequest",
1099
- }) as any as S.Schema<GetGatewayBGPFilterRuleRequest>;
1100
-
1101
507
  /** The region in which the resource is located. */
1102
508
  export type GetGatewayConnectionRequestRegion = "eu01" | "eu02";
1103
- export const GetGatewayConnectionRequestRegion = S.String;
1104
-
1105
509
  export interface GetGatewayConnectionRequest {
1106
510
  projectId: string;
1107
511
  region: GetGatewayConnectionRequestRegion | (string & {});
1108
512
  gatewayId: string;
1109
513
  connectionId: string;
1110
514
  }
1111
- export const GetGatewayConnectionRequest = /*@__PURE__*/ S.suspend(() =>
1112
- S.Struct({
1113
- projectId: S.String.pipe(T.Label()),
1114
- region: GetGatewayConnectionRequestRegion.pipe(T.Label()),
1115
- gatewayId: S.String.pipe(T.Label()),
1116
- connectionId: S.String.pipe(T.Label()),
1117
- }).pipe(
1118
- T.Http({
1119
- method: "GET",
1120
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
1121
- code: 200,
1122
- baseUrl: "https://vpn.api.stackit.cloud",
1123
- }),
1124
- ),
1125
- ).annotate({
1126
- identifier: "GetGatewayConnectionRequest",
1127
- }) as any as S.Schema<GetGatewayConnectionRequest>;
1128
-
1129
515
  /** The region in which the resource is located. */
1130
516
  export type GetGatewayConnectionStatusRequestRegion = "eu01" | "eu02";
1131
- export const GetGatewayConnectionStatusRequestRegion = S.String;
1132
-
1133
517
  export interface GetGatewayConnectionStatusRequest {
1134
518
  projectId: string;
1135
519
  region: GetGatewayConnectionStatusRequestRegion | (string & {});
1136
520
  gatewayId: string;
1137
521
  connectionId: string;
1138
522
  }
1139
- export const GetGatewayConnectionStatusRequest = /*@__PURE__*/ S.suspend(() =>
1140
- S.Struct({
1141
- projectId: S.String.pipe(T.Label()),
1142
- region: GetGatewayConnectionStatusRequestRegion.pipe(T.Label()),
1143
- gatewayId: S.String.pipe(T.Label()),
1144
- connectionId: S.String.pipe(T.Label()),
1145
- }).pipe(
1146
- T.Http({
1147
- method: "GET",
1148
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}/status",
1149
- code: 200,
1150
- baseUrl: "https://vpn.api.stackit.cloud",
1151
- }),
1152
- ),
1153
- ).annotate({
1154
- identifier: "GetGatewayConnectionStatusRequest",
1155
- }) as any as S.Schema<GetGatewayConnectionStatusRequest>;
1156
-
1157
523
  export type TunnelStatusName = "tunnel1" | "tunnel2";
1158
- export const TunnelStatusName = S.String;
1159
-
1160
524
  export interface Phase1Status {
1161
525
  /** The negotiated Diffie-Hellman Group */
1162
526
  dhGroup?: string;
@@ -1166,15 +530,6 @@ export interface Phase1Status {
1166
530
  integrityAlgorithm?: string;
1167
531
  state?: string;
1168
532
  }
1169
- export const Phase1Status = /*@__PURE__*/ S.suspend(() =>
1170
- S.Struct({
1171
- dhGroup: S.optional(S.String),
1172
- encryptionAlgorithm: S.optional(S.String),
1173
- integrityAlgorithm: S.optional(S.String),
1174
- state: S.optional(S.String),
1175
- }),
1176
- ).annotate({ identifier: "Phase1Status" }) as any as S.Schema<Phase1Status>;
1177
-
1178
533
  export interface Phase2Status {
1179
534
  /** The total data volume received through this Security Association, measured in bytes. */
1180
535
  bytesIn?: string;
@@ -1196,21 +551,6 @@ export interface Phase2Status {
1196
551
  protocol?: string;
1197
552
  state?: string;
1198
553
  }
1199
- export const Phase2Status = /*@__PURE__*/ S.suspend(() =>
1200
- S.Struct({
1201
- bytesIn: S.optional(S.String),
1202
- bytesOut: S.optional(S.String),
1203
- dhGroup: S.optional(S.String),
1204
- encap: S.optional(S.String),
1205
- encryptionAlgorithm: S.optional(S.String),
1206
- integrityAlgorithm: S.optional(S.String),
1207
- packetsIn: S.optional(S.String),
1208
- packetsOut: S.optional(S.String),
1209
- protocol: S.optional(S.String),
1210
- state: S.optional(S.String),
1211
- }),
1212
- ).annotate({ identifier: "Phase2Status" }) as any as S.Schema<Phase2Status>;
1213
-
1214
554
  /** Describes the status of the VPN itself. */
1215
555
  export interface TunnelStatus {
1216
556
  established?: boolean;
@@ -1218,20 +558,7 @@ export interface TunnelStatus {
1218
558
  phase1?: Phase1Status;
1219
559
  phase2?: Phase2Status;
1220
560
  }
1221
- export const TunnelStatus = /*@__PURE__*/ S.suspend(() =>
1222
- S.Struct({
1223
- established: S.optional(S.Boolean),
1224
- name: S.optional(TunnelStatusName),
1225
- phase1: S.optional(Phase1Status),
1226
- phase2: S.optional(Phase2Status),
1227
- }),
1228
- ).annotate({ identifier: "TunnelStatus" }) as any as S.Schema<TunnelStatus>;
1229
-
1230
561
  export type ConnectionStatusResponseTunnelsList = Array<TunnelStatus>;
1231
- export const ConnectionStatusResponseTunnelsList = /*@__PURE__*/ S.Array(
1232
- TunnelStatus,
1233
- ) as any as S.Schema<ConnectionStatusResponseTunnelsList>;
1234
-
1235
562
  export interface ConnectionStatusResponse {
1236
563
  /** The name of the connection. */
1237
564
  displayName?: string;
@@ -1240,44 +567,14 @@ export interface ConnectionStatusResponse {
1240
567
  id?: string;
1241
568
  tunnels?: ConnectionStatusResponseTunnelsList;
1242
569
  }
1243
- export const ConnectionStatusResponse = /*@__PURE__*/ S.suspend(() =>
1244
- S.Struct({
1245
- displayName: S.optional(S.String),
1246
- enabled: S.optional(S.Boolean),
1247
- id: S.optional(S.String),
1248
- tunnels: S.optional(ConnectionStatusResponseTunnelsList),
1249
- }),
1250
- ).annotate({ identifier: "ConnectionStatusResponse" }) as any as S.Schema<ConnectionStatusResponse>;
1251
-
1252
570
  /** The region in which the resource is located. */
1253
571
  export type GetGatewayStatusRequestRegion = "eu01" | "eu02";
1254
- export const GetGatewayStatusRequestRegion = S.String;
1255
-
1256
572
  export interface GetGatewayStatusRequest {
1257
573
  projectId: string;
1258
574
  region: GetGatewayStatusRequestRegion | (string & {});
1259
575
  gatewayId: string;
1260
576
  }
1261
- export const GetGatewayStatusRequest = /*@__PURE__*/ S.suspend(() =>
1262
- S.Struct({
1263
- projectId: S.String.pipe(T.Label()),
1264
- region: GetGatewayStatusRequestRegion.pipe(T.Label()),
1265
- gatewayId: S.String.pipe(T.Label()),
1266
- }).pipe(
1267
- T.Http({
1268
- method: "GET",
1269
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/status",
1270
- code: 200,
1271
- baseUrl: "https://vpn.api.stackit.cloud",
1272
- }),
1273
- ),
1274
- ).annotate({ identifier: "GetGatewayStatusRequest" }) as any as S.Schema<GetGatewayStatusRequest>;
1275
-
1276
577
  export type GatewayStatusResponseConnectionsList = Array<ConnectionStatusResponse>;
1277
- export const GatewayStatusResponseConnectionsList = /*@__PURE__*/ S.Array(
1278
- ConnectionStatusResponse,
1279
- ) as any as S.Schema<GatewayStatusResponseConnectionsList>;
1280
-
1281
578
  export interface BGPStatusPeers {
1282
579
  /** The ASN of the local STACKIT gateway. */
1283
580
  localAs: number;
@@ -1294,23 +591,7 @@ export interface BGPStatusPeers {
1294
591
  /** The current BGP session state. */
1295
592
  state: string;
1296
593
  }
1297
- export const BGPStatusPeers = /*@__PURE__*/ S.suspend(() =>
1298
- S.Struct({
1299
- localAs: S.Number,
1300
- peerUptime: S.String,
1301
- pfxRcd: S.Number,
1302
- pfxSnt: S.Number,
1303
- remoteAs: S.Number,
1304
- remoteIP: S.String,
1305
- state: S.String,
1306
- }),
1307
- ).annotate({ identifier: "BGPStatusPeers" }) as any as S.Schema<BGPStatusPeers>;
1308
-
1309
594
  export type BGPStatusPeersList = Array<BGPStatusPeers>;
1310
- export const BGPStatusPeersList = /*@__PURE__*/ S.Array(
1311
- BGPStatusPeers,
1312
- ) as any as S.Schema<BGPStatusPeersList>;
1313
-
1314
595
  export interface BGPStatusRoutes {
1315
596
  /** The destination network */
1316
597
  network: string;
@@ -1321,35 +602,12 @@ export interface BGPStatusRoutes {
1321
602
  peerId: string;
1322
603
  weight: number;
1323
604
  }
1324
- export const BGPStatusRoutes = /*@__PURE__*/ S.suspend(() =>
1325
- S.Struct({
1326
- network: S.String,
1327
- origin: S.String,
1328
- path: S.String,
1329
- peerId: S.String,
1330
- weight: S.Number,
1331
- }),
1332
- ).annotate({ identifier: "BGPStatusRoutes" }) as any as S.Schema<BGPStatusRoutes>;
1333
-
1334
605
  export type BGPStatusRoutesList = Array<BGPStatusRoutes>;
1335
- export const BGPStatusRoutesList = /*@__PURE__*/ S.Array(
1336
- BGPStatusRoutes,
1337
- ) as any as S.Schema<BGPStatusRoutesList>;
1338
-
1339
606
  export interface BGPStatus {
1340
607
  peers?: BGPStatusPeersList;
1341
608
  routes?: BGPStatusRoutesList;
1342
609
  }
1343
- export const BGPStatus = /*@__PURE__*/ S.suspend(() =>
1344
- S.Struct({
1345
- peers: S.optional(BGPStatusPeersList),
1346
- routes: S.optional(BGPStatusRoutesList),
1347
- }),
1348
- ).annotate({ identifier: "BGPStatus" }) as any as S.Schema<BGPStatus>;
1349
-
1350
610
  export type VPNTunnelsName = "tunnel1" | "tunnel2";
1351
- export const VPNTunnelsName = S.String;
1352
-
1353
611
  /** Status of the underlying tunnel instances. */
1354
612
  export interface VPNTunnels {
1355
613
  bgpStatus?: BGPStatus | null;
@@ -1360,21 +618,7 @@ export interface VPNTunnels {
1360
618
  /** The public IPv4 address of this endpoint. */
1361
619
  publicIP?: string;
1362
620
  }
1363
- export const VPNTunnels = /*@__PURE__*/ S.suspend(() =>
1364
- S.Struct({
1365
- bgpStatus: S.optional(S.NullOr(BGPStatus)),
1366
- instanceState: S.optional(GatewayStatus),
1367
- internalNextHopIP: S.optional(S.String),
1368
- name: S.optional(VPNTunnelsName),
1369
- publicIP: S.optional(S.String),
1370
- }),
1371
- ).annotate({ identifier: "VPNTunnels" }) as any as S.Schema<VPNTunnels>;
1372
-
1373
621
  export type GatewayStatusResponseTunnelsList = Array<VPNTunnels>;
1374
- export const GatewayStatusResponseTunnelsList = /*@__PURE__*/ S.Array(
1375
- VPNTunnels,
1376
- ) as any as S.Schema<GatewayStatusResponseTunnelsList>;
1377
-
1378
622
  export interface GatewayStatusResponse {
1379
623
  connections?: GatewayStatusResponseConnectionsList;
1380
624
  /** Name of the Gateway instance. */
@@ -1386,112 +630,35 @@ export interface GatewayStatusResponse {
1386
630
  id?: string;
1387
631
  tunnels?: GatewayStatusResponseTunnelsList;
1388
632
  }
1389
- export const GatewayStatusResponse = /*@__PURE__*/ S.suspend(() =>
1390
- S.Struct({
1391
- connections: S.optional(GatewayStatusResponseConnectionsList),
1392
- displayName: S.optional(S.String),
1393
- errorMessage: S.optional(S.String),
1394
- gatewayStatus: S.optional(GatewayStatus),
1395
- id: S.optional(S.String),
1396
- tunnels: S.optional(GatewayStatusResponseTunnelsList),
1397
- }),
1398
- ).annotate({ identifier: "GatewayStatusResponse" }) as any as S.Schema<GatewayStatusResponse>;
1399
-
1400
633
  /** The region in which the resource is located. */
1401
634
  export type ListGatewayBGPFilterRulesRequestRegion = "eu01" | "eu02";
1402
- export const ListGatewayBGPFilterRulesRequestRegion = S.String;
1403
-
1404
635
  export interface ListGatewayBGPFilterRulesRequest {
1405
636
  projectId: string;
1406
637
  region: ListGatewayBGPFilterRulesRequestRegion | (string & {});
1407
638
  gatewayId: string;
1408
639
  filterId: string;
1409
640
  }
1410
- export const ListGatewayBGPFilterRulesRequest = /*@__PURE__*/ S.suspend(() =>
1411
- S.Struct({
1412
- projectId: S.String.pipe(T.Label()),
1413
- region: ListGatewayBGPFilterRulesRequestRegion.pipe(T.Label()),
1414
- gatewayId: S.String.pipe(T.Label()),
1415
- filterId: S.String.pipe(T.Label()),
1416
- }).pipe(
1417
- T.Http({
1418
- method: "GET",
1419
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules",
1420
- code: 200,
1421
- baseUrl: "https://vpn.api.stackit.cloud",
1422
- }),
1423
- ),
1424
- ).annotate({
1425
- identifier: "ListGatewayBGPFilterRulesRequest",
1426
- }) as any as S.Schema<ListGatewayBGPFilterRulesRequest>;
1427
-
1428
641
  export type BGPFilterRuleListRulesList = Array<BGPFilterRule>;
1429
- export const BGPFilterRuleListRulesList = /*@__PURE__*/ S.Array(
1430
- BGPFilterRule,
1431
- ) as any as S.Schema<BGPFilterRuleListRulesList>;
1432
-
1433
642
  /** Response wrapper for listing rules within a BGP filter. */
1434
643
  export interface BGPFilterRuleList {
1435
644
  rules: BGPFilterRuleListRulesList;
1436
645
  }
1437
- export const BGPFilterRuleList = /*@__PURE__*/ S.suspend(() =>
1438
- S.Struct({
1439
- rules: BGPFilterRuleListRulesList,
1440
- }),
1441
- ).annotate({ identifier: "BGPFilterRuleList" }) as any as S.Schema<BGPFilterRuleList>;
1442
-
1443
646
  /** The region in which the resource is located. */
1444
647
  export type ListGatewayBGPFiltersRequestRegion = "eu01" | "eu02";
1445
- export const ListGatewayBGPFiltersRequestRegion = S.String;
1446
-
1447
648
  export interface ListGatewayBGPFiltersRequest {
1448
649
  projectId: string;
1449
650
  region: ListGatewayBGPFiltersRequestRegion | (string & {});
1450
651
  gatewayId: string;
1451
652
  }
1452
- export const ListGatewayBGPFiltersRequest = /*@__PURE__*/ S.suspend(() =>
1453
- S.Struct({
1454
- projectId: S.String.pipe(T.Label()),
1455
- region: ListGatewayBGPFiltersRequestRegion.pipe(T.Label()),
1456
- gatewayId: S.String.pipe(T.Label()),
1457
- }).pipe(
1458
- T.Http({
1459
- method: "GET",
1460
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters",
1461
- code: 200,
1462
- baseUrl: "https://vpn.api.stackit.cloud",
1463
- }),
1464
- ),
1465
- ).annotate({
1466
- identifier: "ListGatewayBGPFiltersRequest",
1467
- }) as any as S.Schema<ListGatewayBGPFiltersRequest>;
1468
-
1469
653
  export type BGPFilterListBgpFiltersList = Array<BGPFilter>;
1470
- export const BGPFilterListBgpFiltersList = /*@__PURE__*/ S.Array(
1471
- BGPFilter,
1472
- ) as any as S.Schema<BGPFilterListBgpFiltersList>;
1473
-
1474
654
  /** Response wrapper for listing BGP filters. */
1475
655
  export interface BGPFilterList {
1476
656
  bgpFilters: BGPFilterListBgpFiltersList;
1477
657
  }
1478
- export const BGPFilterList = /*@__PURE__*/ S.suspend(() =>
1479
- S.Struct({
1480
- bgpFilters: BGPFilterListBgpFiltersList,
1481
- }),
1482
- ).annotate({ identifier: "BGPFilterList" }) as any as S.Schema<BGPFilterList>;
1483
-
1484
658
  /** The region in which the resource is located. */
1485
659
  export type ListGatewayConnectionsRequestRegion = "eu01" | "eu02";
1486
- export const ListGatewayConnectionsRequestRegion = S.String;
1487
-
1488
660
  /** Filter resources by labels. */
1489
661
  export type LabelSelector = { [key: string]: string | undefined };
1490
- export const LabelSelector = /*@__PURE__*/ S.Record(
1491
- S.String,
1492
- S.String,
1493
- ) as any as S.Schema<LabelSelector>;
1494
-
1495
662
  export interface ListGatewayConnectionsRequest {
1496
663
  projectId: string;
1497
664
  region: ListGatewayConnectionsRequestRegion | (string & {});
@@ -1499,66 +666,19 @@ export interface ListGatewayConnectionsRequest {
1499
666
  /** Filter resources by labels. */
1500
667
  label_selector?: LabelSelector;
1501
668
  }
1502
- export const ListGatewayConnectionsRequest = /*@__PURE__*/ S.suspend(() =>
1503
- S.Struct({
1504
- projectId: S.String.pipe(T.Label()),
1505
- region: ListGatewayConnectionsRequestRegion.pipe(T.Label()),
1506
- gatewayId: S.String.pipe(T.Label()),
1507
- label_selector: S.optional(LabelSelector.pipe(T.Query())),
1508
- }).pipe(
1509
- T.Http({
1510
- method: "GET",
1511
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections",
1512
- code: 200,
1513
- baseUrl: "https://vpn.api.stackit.cloud",
1514
- }),
1515
- ),
1516
- ).annotate({
1517
- identifier: "ListGatewayConnectionsRequest",
1518
- }) as any as S.Schema<ListGatewayConnectionsRequest>;
1519
-
1520
669
  export type ConnectionListOutputConnectionsList = Array<ConnectionResponseOutput>;
1521
- export const ConnectionListOutputConnectionsList = /*@__PURE__*/ S.Array(
1522
- ConnectionResponseOutput,
1523
- ) as any as S.Schema<ConnectionListOutputConnectionsList>;
1524
-
1525
670
  export interface ConnectionListOutput {
1526
671
  connections: ConnectionListOutputConnectionsList;
1527
672
  }
1528
- export const ConnectionListOutput = /*@__PURE__*/ S.suspend(() =>
1529
- S.Struct({
1530
- connections: ConnectionListOutputConnectionsList,
1531
- }),
1532
- ).annotate({ identifier: "ConnectionListOutput" }) as any as S.Schema<ConnectionListOutput>;
1533
-
1534
673
  /** The region in which the resource is located. */
1535
674
  export type ListGatewaysRequestRegion = "eu01" | "eu02";
1536
- export const ListGatewaysRequestRegion = S.String;
1537
-
1538
675
  export interface ListGatewaysRequest {
1539
676
  projectId: string;
1540
677
  region: ListGatewaysRequestRegion | (string & {});
1541
678
  /** Filter resources by labels. */
1542
679
  label_selector?: LabelSelector;
1543
680
  }
1544
- export const ListGatewaysRequest = /*@__PURE__*/ S.suspend(() =>
1545
- S.Struct({
1546
- projectId: S.String.pipe(T.Label()),
1547
- region: ListGatewaysRequestRegion.pipe(T.Label()),
1548
- label_selector: S.optional(LabelSelector.pipe(T.Query())),
1549
- }).pipe(
1550
- T.Http({
1551
- method: "GET",
1552
- uri: "/v1/projects/{projectId}/regions/{region}/gateways",
1553
- code: 200,
1554
- baseUrl: "https://vpn.api.stackit.cloud",
1555
- }),
1556
- ),
1557
- ).annotate({ identifier: "ListGatewaysRequest" }) as any as S.Schema<ListGatewaysRequest>;
1558
-
1559
681
  export type GatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1560
- export const GatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1561
-
1562
682
  export interface GatewayResponse {
1563
683
  availabilityZones: CreateGatewayRequestAvailabilityZones;
1564
684
  bgp?: BGPGatewayConfig;
@@ -1573,54 +693,15 @@ export interface GatewayResponse {
1573
693
  id?: string;
1574
694
  state?: GatewayStatus;
1575
695
  }
1576
- export const GatewayResponse = /*@__PURE__*/ S.suspend(() =>
1577
- S.Struct({
1578
- availabilityZones: CreateGatewayRequestAvailabilityZones,
1579
- bgp: S.optional(BGPGatewayConfig),
1580
- displayName: S.String,
1581
- labels: S.optional(Label),
1582
- networkConfig: S.optional(NetworkConfig),
1583
- planId: S.String,
1584
- routingType: RoutingType,
1585
- id: S.optional(S.String),
1586
- state: S.optional(GatewayStatus),
1587
- }),
1588
- ).annotate({ identifier: "GatewayResponse" }) as any as S.Schema<GatewayResponse>;
1589
-
1590
696
  export type GatewayListGatewaysList = Array<GatewayResponse>;
1591
- export const GatewayListGatewaysList = /*@__PURE__*/ S.Array(
1592
- GatewayResponse,
1593
- ) as any as S.Schema<GatewayListGatewaysList>;
1594
-
1595
697
  export interface GatewayList {
1596
698
  gateways: GatewayListGatewaysList;
1597
699
  }
1598
- export const GatewayList = /*@__PURE__*/ S.suspend(() =>
1599
- S.Struct({
1600
- gateways: GatewayListGatewaysList,
1601
- }),
1602
- ).annotate({ identifier: "GatewayList" }) as any as S.Schema<GatewayList>;
1603
-
1604
700
  /** The region in which the resource is located. */
1605
701
  export type ListPlansRequestRegion = "eu01" | "eu02";
1606
- export const ListPlansRequestRegion = S.String;
1607
-
1608
702
  export interface ListPlansRequest {
1609
703
  region: ListPlansRequestRegion | (string & {});
1610
704
  }
1611
- export const ListPlansRequest = /*@__PURE__*/ S.suspend(() =>
1612
- S.Struct({
1613
- region: ListPlansRequestRegion.pipe(T.Label()),
1614
- }).pipe(
1615
- T.Http({
1616
- method: "GET",
1617
- uri: "/v1/regions/{region}/plans",
1618
- code: 200,
1619
- baseUrl: "https://vpn.api.stackit.cloud",
1620
- }),
1621
- ),
1622
- ).annotate({ identifier: "ListPlansRequest" }) as any as S.Schema<ListPlansRequest>;
1623
-
1624
705
  export interface Plan {
1625
706
  /** The maximum throughput supported by the gateway in each direction, measured in MBit/s */
1626
707
  maxBandwidth?: number;
@@ -1632,89 +713,31 @@ export interface Plan {
1632
713
  /** The SKU identifier used for billing. */
1633
714
  sku?: string;
1634
715
  }
1635
- export const Plan = /*@__PURE__*/ S.suspend(() =>
1636
- S.Struct({
1637
- maxBandwidth: S.optional(S.Number),
1638
- maxConnections: S.optional(S.Number),
1639
- name: S.optional(S.String),
1640
- planId: S.optional(S.String),
1641
- sku: S.optional(S.String),
1642
- }),
1643
- ).annotate({ identifier: "Plan" }) as any as S.Schema<Plan>;
1644
-
1645
716
  export type PlanListPlansList = Array<Plan>;
1646
- export const PlanListPlansList = /*@__PURE__*/ S.Array(Plan) as any as S.Schema<PlanListPlansList>;
1647
-
1648
717
  export interface PlanList {
1649
718
  defaultPlanId?: string;
1650
719
  plans?: PlanListPlansList;
1651
720
  }
1652
- export const PlanList = /*@__PURE__*/ S.suspend(() =>
1653
- S.Struct({
1654
- defaultPlanId: S.optional(S.String),
1655
- plans: S.optional(PlanListPlansList),
1656
- }),
1657
- ).annotate({ identifier: "PlanList" }) as any as S.Schema<PlanList>;
1658
-
1659
721
  /** The region in which the resource is located. */
1660
722
  export type ListQuotasRequestRegion = "eu01" | "eu02";
1661
- export const ListQuotasRequestRegion = S.String;
1662
-
1663
723
  export interface ListQuotasRequest {
1664
724
  projectId: string;
1665
725
  region: ListQuotasRequestRegion | (string & {});
1666
726
  }
1667
- export const ListQuotasRequest = /*@__PURE__*/ S.suspend(() =>
1668
- S.Struct({
1669
- projectId: S.String.pipe(T.Label()),
1670
- region: ListQuotasRequestRegion.pipe(T.Label()),
1671
- }).pipe(
1672
- T.Http({
1673
- method: "GET",
1674
- uri: "/v1/projects/{projectId}/regions/{region}/quotas",
1675
- code: 200,
1676
- baseUrl: "https://vpn.api.stackit.cloud",
1677
- }),
1678
- ),
1679
- ).annotate({ identifier: "ListQuotasRequest" }) as any as S.Schema<ListQuotasRequest>;
1680
-
1681
727
  export interface Quota {
1682
728
  limit: number;
1683
729
  usage: number;
1684
730
  }
1685
- export const Quota = /*@__PURE__*/ S.suspend(() =>
1686
- S.Struct({
1687
- limit: S.Number,
1688
- usage: S.Number,
1689
- }),
1690
- ).annotate({ identifier: "Quota" }) as any as S.Schema<Quota>;
1691
-
1692
731
  export interface QuotaList {
1693
732
  /** Current limit and usage for VPN gateways. */
1694
733
  gateways: Quota;
1695
734
  }
1696
- export const QuotaList = /*@__PURE__*/ S.suspend(() =>
1697
- S.Struct({
1698
- gateways: Quota,
1699
- }),
1700
- ).annotate({ identifier: "QuotaList" }) as any as S.Schema<QuotaList>;
1701
-
1702
735
  export interface QuotaListResponse {
1703
736
  quotas: QuotaList;
1704
737
  }
1705
- export const QuotaListResponse = /*@__PURE__*/ S.suspend(() =>
1706
- S.Struct({
1707
- quotas: QuotaList,
1708
- }),
1709
- ).annotate({ identifier: "QuotaListResponse" }) as any as S.Schema<QuotaListResponse>;
1710
-
1711
738
  /** The region in which the resource is located. */
1712
739
  export type UpdateGatewayRequestRegion = "eu01" | "eu02";
1713
- export const UpdateGatewayRequestRegion = S.String;
1714
-
1715
740
  export type UpdateGatewayRequestAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1716
- export const UpdateGatewayRequestAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1717
-
1718
741
  export interface UpdateGatewayRequest {
1719
742
  projectId: string;
1720
743
  region: UpdateGatewayRequestRegion | (string & {});
@@ -1729,31 +752,7 @@ export interface UpdateGatewayRequest {
1729
752
  planId: string;
1730
753
  routingType: RoutingType | (string & {});
1731
754
  }
1732
- export const UpdateGatewayRequest = /*@__PURE__*/ S.suspend(() =>
1733
- S.Struct({
1734
- projectId: S.String.pipe(T.Label()),
1735
- region: UpdateGatewayRequestRegion.pipe(T.Label()),
1736
- gatewayId: S.String.pipe(T.Label()),
1737
- availabilityZones: CreateGatewayRequestAvailabilityZones,
1738
- bgp: S.optional(BGPGatewayConfig),
1739
- displayName: S.String,
1740
- labels: S.optional(Label),
1741
- networkConfig: S.optional(NetworkConfig),
1742
- planId: S.String,
1743
- routingType: RoutingType,
1744
- }).pipe(
1745
- T.Http({
1746
- method: "PUT",
1747
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
1748
- code: 200,
1749
- baseUrl: "https://vpn.api.stackit.cloud",
1750
- }),
1751
- ),
1752
- ).annotate({ identifier: "UpdateGatewayRequest" }) as any as S.Schema<UpdateGatewayRequest>;
1753
-
1754
755
  export type UpdateGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1755
- export const UpdateGatewayResponseAvailabilityZones = CreateGatewayRequestAvailabilityZones;
1756
-
1757
756
  export interface UpdateGatewayResponse {
1758
757
  availabilityZones: CreateGatewayRequestAvailabilityZones;
1759
758
  bgp?: BGPGatewayConfig;
@@ -1768,77 +767,26 @@ export interface UpdateGatewayResponse {
1768
767
  id?: string;
1769
768
  state?: GatewayStatus;
1770
769
  }
1771
- export const UpdateGatewayResponse = /*@__PURE__*/ S.suspend(() =>
1772
- S.Struct({
1773
- availabilityZones: CreateGatewayRequestAvailabilityZones,
1774
- bgp: S.optional(BGPGatewayConfig),
1775
- displayName: S.String,
1776
- labels: S.optional(Label),
1777
- networkConfig: S.optional(NetworkConfig),
1778
- planId: S.String,
1779
- routingType: RoutingType,
1780
- id: S.optional(S.String),
1781
- state: S.optional(GatewayStatus),
1782
- }),
1783
- ).annotate({ identifier: "UpdateGatewayResponse" }) as any as S.Schema<UpdateGatewayResponse>;
1784
-
1785
770
  /** The region in which the resource is located. */
1786
771
  export type UpdateGatewayBGPFilterRequestRegion = "eu01" | "eu02";
1787
- export const UpdateGatewayBGPFilterRequestRegion = S.String;
1788
-
1789
772
  export interface UpdateGatewayBGPFilterRequest {
1790
773
  projectId: string;
1791
774
  region: UpdateGatewayBGPFilterRequestRegion | (string & {});
1792
775
  gatewayId: string;
1793
776
  filterId: string;
1794
- /** A user-friendly name for the filter. Display only — not enforced unique across a gateway. */
777
+ /** A user-friendly name for the filter. Display only -- not enforced unique across a gateway. */
1795
778
  displayName: string;
1796
779
  }
1797
- export const UpdateGatewayBGPFilterRequest = /*@__PURE__*/ S.suspend(() =>
1798
- S.Struct({
1799
- projectId: S.String.pipe(T.Label()),
1800
- region: UpdateGatewayBGPFilterRequestRegion.pipe(T.Label()),
1801
- gatewayId: S.String.pipe(T.Label()),
1802
- filterId: S.String.pipe(T.Label()),
1803
- displayName: S.String,
1804
- }).pipe(
1805
- T.Http({
1806
- method: "PUT",
1807
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
1808
- code: 200,
1809
- baseUrl: "https://vpn.api.stackit.cloud",
1810
- }),
1811
- ),
1812
- ).annotate({
1813
- identifier: "UpdateGatewayBGPFilterRequest",
1814
- }) as any as S.Schema<UpdateGatewayBGPFilterRequest>;
1815
-
1816
780
  /** The region in which the resource is located. */
1817
781
  export type UpdateGatewayBGPFilterRuleRequestRegion = "eu01" | "eu02";
1818
- export const UpdateGatewayBGPFilterRuleRequestRegion = S.String;
1819
-
1820
782
  /** The action to take if the route matches all criteria. Case-sensitive. */
1821
783
  export type UpdateGatewayBGPFilterRuleRequestAction = "PERMIT" | "DENY";
1822
- export const UpdateGatewayBGPFilterRuleRequestAction = S.String;
1823
-
1824
784
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
1825
785
  export type UpdateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList = Array<number>;
1826
- export const UpdateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList = /*@__PURE__*/ S.Array(
1827
- S.Number,
1828
- ) as any as S.Schema<UpdateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList>;
1829
-
1830
786
  /** Matches if the route carries any one of these BGP standard communities (logical OR within the list). Format is 'asn:value' per RFC 1997 (both halves must fit in a uint32, i.e. 0..4294967295). Extended, large and well-known communities are not supported. */
1831
787
  export type UpdateGatewayBGPFilterRuleRequestMatchCommunitiesList = Array<string>;
1832
- export const UpdateGatewayBGPFilterRuleRequestMatchCommunitiesList = /*@__PURE__*/ S.Array(
1833
- S.String,
1834
- ) as any as S.Schema<UpdateGatewayBGPFilterRuleRequestMatchCommunitiesList>;
1835
-
1836
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
788
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
1837
789
  export type UpdateGatewayBGPFilterRuleRequestMatchPrefixesList = Array<string>;
1838
- export const UpdateGatewayBGPFilterRuleRequestMatchPrefixesList = /*@__PURE__*/ S.Array(
1839
- S.String,
1840
- ) as any as S.Schema<UpdateGatewayBGPFilterRuleRequestMatchPrefixesList>;
1841
-
1842
790
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
1843
791
  export interface UpdateGatewayBGPFilterRuleRequestMatch {
1844
792
  /** Matches if the AS-PATH contains any one of the listed ASNs (logical OR within the list). Treated as an unordered set; ordering is not preserved by the storage layer. When combined with firstASN, both conditions must hold (logical AND, consistent with the rest of the match block). If firstASN is also listed here, its presence as the first hop is sufficient to satisfy this list; no duplicate hop is required. */
@@ -1853,27 +801,11 @@ export interface UpdateGatewayBGPFilterRuleRequestMatch {
1853
801
  minPrefixLength?: number;
1854
802
  /** Matches the exact IPv4 address of the BGP neighbor that advertised the route. Useful when the same filter is attached to multiple tunnels with different neighbor IPs (allows per-peer rules in a shared filter). When a filter is attached to a single tunnel, this field is effectively a no-op because the route-map is already neighbor-scoped. */
1855
803
  peer?: string;
1856
- /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 → 10.0.0.0/24). */
804
+ /** List of IPv4 networks to match. A route's prefix matches if it equals one of these (subject to minPrefixLength/maxPrefixLength refinement). If omitted, an implicit 0.0.0.0/0 base is used when minPrefixLength or maxPrefixLength is set; if all three are omitted, prefix matching is not performed at all. Each entry must parse as a valid IPv4 CIDR; the network portion is normalised (10.0.0.5/24 -> 10.0.0.0/24). */
1857
805
  prefixes?: UpdateGatewayBGPFilterRuleRequestMatchPrefixesList;
1858
806
  }
1859
- export const UpdateGatewayBGPFilterRuleRequestMatch = /*@__PURE__*/ S.suspend(() =>
1860
- S.Struct({
1861
- asPathContainsAny: S.optional(UpdateGatewayBGPFilterRuleRequestMatchAsPathContainsAnyList),
1862
- communities: S.optional(UpdateGatewayBGPFilterRuleRequestMatchCommunitiesList),
1863
- firstASN: S.optional(S.Number),
1864
- maxPrefixLength: S.optional(S.Number),
1865
- minPrefixLength: S.optional(S.Number),
1866
- peer: S.optional(S.String),
1867
- prefixes: S.optional(UpdateGatewayBGPFilterRuleRequestMatchPrefixesList),
1868
- }),
1869
- ).annotate({
1870
- identifier: "UpdateGatewayBGPFilterRuleRequestMatch",
1871
- }) as any as S.Schema<UpdateGatewayBGPFilterRuleRequestMatch>;
1872
-
1873
807
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
1874
808
  export type UpdateGatewayBGPFilterRuleRequestSet = CreateGatewayBGPFilterRuleRequestSet;
1875
- export const UpdateGatewayBGPFilterRuleRequestSet = CreateGatewayBGPFilterRuleRequestSet;
1876
-
1877
809
  export interface UpdateGatewayBGPFilterRuleRequest {
1878
810
  projectId: string;
1879
811
  region: UpdateGatewayBGPFilterRuleRequestRegion | (string & {});
@@ -1884,56 +816,19 @@ export interface UpdateGatewayBGPFilterRuleRequest {
1884
816
  action: UpdateGatewayBGPFilterRuleRequestAction | (string & {});
1885
817
  /** Optional matching criteria. If omitted entirely, the rule acts as match-all. All non-empty fields in this block must match (logical AND). */
1886
818
  match?: UpdateGatewayBGPFilterRuleRequestMatch;
1887
- /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required — sending a partial update without 'sequence' returns 400. */
819
+ /** The evaluation order of the rule. Lower numbers are evaluated first. Must be unique within a filter. On POST, this field is optional: when omitted the server auto-assigns max(existing)+10 (the first rule starts at 10). On PUT this field is required -- sending a partial update without 'sequence' returns 400. */
1888
820
  sequence?: number;
1889
821
  /** Optional BGP attributes to apply when 'action' is PERMIT. Ignored for DENY rules. */
1890
822
  set?: CreateGatewayBGPFilterRuleRequestSet;
1891
823
  }
1892
- export const UpdateGatewayBGPFilterRuleRequest = /*@__PURE__*/ S.suspend(() =>
1893
- S.Struct({
1894
- projectId: S.String.pipe(T.Label()),
1895
- region: UpdateGatewayBGPFilterRuleRequestRegion.pipe(T.Label()),
1896
- gatewayId: S.String.pipe(T.Label()),
1897
- filterId: S.String.pipe(T.Label()),
1898
- ruleId: S.String.pipe(T.Label()),
1899
- action: UpdateGatewayBGPFilterRuleRequestAction,
1900
- match: S.optional(UpdateGatewayBGPFilterRuleRequestMatch),
1901
- sequence: S.optional(S.Number),
1902
- set: S.optional(CreateGatewayBGPFilterRuleRequestSet),
1903
- }).pipe(
1904
- T.Http({
1905
- method: "PUT",
1906
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
1907
- code: 200,
1908
- baseUrl: "https://vpn.api.stackit.cloud",
1909
- }),
1910
- ),
1911
- ).annotate({
1912
- identifier: "UpdateGatewayBGPFilterRuleRequest",
1913
- }) as any as S.Schema<UpdateGatewayBGPFilterRuleRequest>;
1914
-
1915
824
  /** The region in which the resource is located. */
1916
825
  export type UpdateGatewayConnectionRequestRegion = "eu01" | "eu02";
1917
- export const UpdateGatewayConnectionRequestRegion = S.String;
1918
-
1919
826
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
1920
827
  export type UpdateGatewayConnectionRequestLocalSubnetsList = Array<string>;
1921
- export const UpdateGatewayConnectionRequestLocalSubnetsList = /*@__PURE__*/ S.Array(
1922
- S.String,
1923
- ) as any as S.Schema<UpdateGatewayConnectionRequestLocalSubnetsList>;
1924
-
1925
828
  /** Optional. Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based. */
1926
829
  export type UpdateGatewayConnectionRequestRemoteSubnetsList = Array<string>;
1927
- export const UpdateGatewayConnectionRequestRemoteSubnetsList = /*@__PURE__*/ S.Array(
1928
- S.String,
1929
- ) as any as S.Schema<UpdateGatewayConnectionRequestRemoteSubnetsList>;
1930
-
1931
830
  /** Optional. Use this for route-based VPN. */
1932
831
  export type UpdateGatewayConnectionRequestStaticRoutesList = Array<string>;
1933
- export const UpdateGatewayConnectionRequestStaticRoutesList = /*@__PURE__*/ S.Array(
1934
- S.String,
1935
- ) as any as S.Schema<UpdateGatewayConnectionRequestStaticRoutesList>;
1936
-
1937
832
  export interface UpdateGatewayConnectionRequest {
1938
833
  projectId: string;
1939
834
  region: UpdateGatewayConnectionRequestRegion | (string & {});
@@ -1953,32 +848,6 @@ export interface UpdateGatewayConnectionRequest {
1953
848
  tunnel1: TunnelConfiguration;
1954
849
  tunnel2: TunnelConfiguration;
1955
850
  }
1956
- export const UpdateGatewayConnectionRequest = /*@__PURE__*/ S.suspend(() =>
1957
- S.Struct({
1958
- projectId: S.String.pipe(T.Label()),
1959
- region: UpdateGatewayConnectionRequestRegion.pipe(T.Label()),
1960
- gatewayId: S.String.pipe(T.Label()),
1961
- connectionId: S.String.pipe(T.Label()),
1962
- displayName: S.String,
1963
- enabled: S.optional(S.Boolean),
1964
- labels: S.optional(Label),
1965
- localSubnets: S.optional(UpdateGatewayConnectionRequestLocalSubnetsList),
1966
- remoteSubnets: S.optional(UpdateGatewayConnectionRequestRemoteSubnetsList),
1967
- staticRoutes: S.optional(UpdateGatewayConnectionRequestStaticRoutesList),
1968
- tunnel1: TunnelConfiguration,
1969
- tunnel2: TunnelConfiguration,
1970
- }).pipe(
1971
- T.Http({
1972
- method: "PUT",
1973
- uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
1974
- code: 200,
1975
- baseUrl: "https://vpn.api.stackit.cloud",
1976
- }),
1977
- ),
1978
- ).annotate({
1979
- identifier: "UpdateGatewayConnectionRequest",
1980
- }) as any as S.Schema<UpdateGatewayConnectionRequest>;
1981
-
1982
851
  export type CreateGatewayError = BadRequest | Forbidden | Conflict | StackitOpError;
1983
852
  /** Create a VPN gateway in a project. Provision a new VPN gateway. */
1984
853
  export const createGateway: API.OperationMethod<
@@ -1987,8 +856,8 @@ export const createGateway: API.OperationMethod<
1987
856
  CreateGatewayError,
1988
857
  StackitOpContext
1989
858
  > = /*@__PURE__*/ API.make(() => ({
1990
- input: CreateGatewayRequest,
1991
- output: CreateGatewayResponse,
859
+ input: __S(304, __c19, 0) as any as S.Schema<CreateGatewayRequest>,
860
+ output: __S(323, __c20, 3) as any as S.Schema<CreateGatewayResponse>,
1992
861
  errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
1993
862
  protocol: StackitProtocol,
1994
863
  retry: Retry.Retry,
@@ -2007,8 +876,8 @@ export const createGatewayBGPFilter: API.OperationMethod<
2007
876
  CreateGatewayBGPFilterError,
2008
877
  StackitOpContext
2009
878
  > = /*@__PURE__*/ API.make(() => ({
2010
- input: CreateGatewayBGPFilterRequest,
2011
- output: BGPFilter,
879
+ input: __S(368, __c23, 0) as any as S.Schema<CreateGatewayBGPFilterRequest>,
880
+ output: __S(384, __c24, 0) as any as S.Schema<BGPFilter>,
2012
881
  errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
2013
882
  protocol: StackitProtocol,
2014
883
  retry: Retry.Retry,
@@ -2027,8 +896,8 @@ export const createGatewayBGPFilterRule: API.OperationMethod<
2027
896
  CreateGatewayBGPFilterRuleError,
2028
897
  StackitOpContext
2029
898
  > = /*@__PURE__*/ API.make(() => ({
2030
- input: CreateGatewayBGPFilterRuleRequest,
2031
- output: BGPFilterRule,
899
+ input: __S(400, __c25, 0) as any as S.Schema<CreateGatewayBGPFilterRuleRequest>,
900
+ output: __S(419, __c26, 3) as any as S.Schema<BGPFilterRule>,
2032
901
  errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
2033
902
  protocol: StackitProtocol,
2034
903
  retry: Retry.Retry,
@@ -2042,8 +911,8 @@ export const createGatewayConnection: API.OperationMethod<
2042
911
  CreateGatewayConnectionError,
2043
912
  StackitOpContext
2044
913
  > = /*@__PURE__*/ API.make(() => ({
2045
- input: CreateGatewayConnectionRequest,
2046
- output: ConnectionResponseOutput,
914
+ input: __S(432, __c27, 0) as any as S.Schema<CreateGatewayConnectionRequest>,
915
+ output: __S(454, __c28, 6) as any as S.Schema<ConnectionResponseOutput>,
2047
916
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2048
917
  protocol: StackitProtocol,
2049
918
  retry: Retry.Retry,
@@ -2057,8 +926,8 @@ export const deleteGateway: API.OperationMethod<
2057
926
  DeleteGatewayError,
2058
927
  StackitOpContext
2059
928
  > = /*@__PURE__*/ API.make(() => ({
2060
- input: DeleteGatewayRequest,
2061
- output: DeleteGatewayResponse,
929
+ input: __S(480, __c30, 0) as any as S.Schema<DeleteGatewayRequest>,
930
+ output: __S(496, __c31, 0) as any as S.Schema<DeleteGatewayResponse>,
2062
931
  errors: [BadRequest, Forbidden, UnknownStackitError],
2063
932
  protocol: StackitProtocol,
2064
933
  retry: Retry.Retry,
@@ -2077,8 +946,8 @@ export const deleteGatewayBGPFilter: API.OperationMethod<
2077
946
  DeleteGatewayBGPFilterError,
2078
947
  StackitOpContext
2079
948
  > = /*@__PURE__*/ API.make(() => ({
2080
- input: DeleteGatewayBGPFilterRequest,
2081
- output: DeleteGatewayBGPFilterResponse,
949
+ input: __S(512, __c32, 0) as any as S.Schema<DeleteGatewayBGPFilterRequest>,
950
+ output: __S(496, __c31, 0) as any as S.Schema<DeleteGatewayBGPFilterResponse>,
2082
951
  errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
2083
952
  protocol: StackitProtocol,
2084
953
  retry: Retry.Retry,
@@ -2092,8 +961,8 @@ export const deleteGatewayBGPFilterRule: API.OperationMethod<
2092
961
  DeleteGatewayBGPFilterRuleError,
2093
962
  StackitOpContext
2094
963
  > = /*@__PURE__*/ API.make(() => ({
2095
- input: DeleteGatewayBGPFilterRuleRequest,
2096
- output: DeleteGatewayBGPFilterRuleResponse,
964
+ input: __S(0, __c0, 0) as any as S.Schema<DeleteGatewayBGPFilterRuleRequest>,
965
+ output: __S(496, __c31, 0) as any as S.Schema<DeleteGatewayBGPFilterRuleResponse>,
2097
966
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2098
967
  protocol: StackitProtocol,
2099
968
  retry: Retry.Retry,
@@ -2107,8 +976,8 @@ export const deleteGatewayConnection: API.OperationMethod<
2107
976
  DeleteGatewayConnectionError,
2108
977
  StackitOpContext
2109
978
  > = /*@__PURE__*/ API.make(() => ({
2110
- input: DeleteGatewayConnectionRequest,
2111
- output: DeleteGatewayConnectionResponse,
979
+ input: __S(16, __c1, 0) as any as S.Schema<DeleteGatewayConnectionRequest>,
980
+ output: __S(496, __c31, 0) as any as S.Schema<DeleteGatewayConnectionResponse>,
2112
981
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2113
982
  protocol: StackitProtocol,
2114
983
  retry: Retry.Retry,
@@ -2122,8 +991,8 @@ export const getGateway: API.OperationMethod<
2122
991
  GetGatewayError,
2123
992
  StackitOpContext
2124
993
  > = /*@__PURE__*/ API.make(() => ({
2125
- input: GetGatewayRequest,
2126
- output: GetGatewayResponse,
994
+ input: __S(32, __c2, 0) as any as S.Schema<GetGatewayRequest>,
995
+ output: __S(323, __c20, 3) as any as S.Schema<GetGatewayResponse>,
2127
996
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2128
997
  protocol: StackitProtocol,
2129
998
  retry: Retry.Retry,
@@ -2137,8 +1006,8 @@ export const getGatewayBGPFilter: API.OperationMethod<
2137
1006
  GetGatewayBGPFilterError,
2138
1007
  StackitOpContext
2139
1008
  > = /*@__PURE__*/ API.make(() => ({
2140
- input: GetGatewayBGPFilterRequest,
2141
- output: BGPFilter,
1009
+ input: __S(48, __c3, 0) as any as S.Schema<GetGatewayBGPFilterRequest>,
1010
+ output: __S(384, __c24, 0) as any as S.Schema<BGPFilter>,
2142
1011
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2143
1012
  protocol: StackitProtocol,
2144
1013
  retry: Retry.Retry,
@@ -2152,8 +1021,8 @@ export const getGatewayBGPFilterRule: API.OperationMethod<
2152
1021
  GetGatewayBGPFilterRuleError,
2153
1022
  StackitOpContext
2154
1023
  > = /*@__PURE__*/ API.make(() => ({
2155
- input: GetGatewayBGPFilterRuleRequest,
2156
- output: BGPFilterRule,
1024
+ input: __S(64, __c4, 0) as any as S.Schema<GetGatewayBGPFilterRuleRequest>,
1025
+ output: __S(419, __c26, 3) as any as S.Schema<BGPFilterRule>,
2157
1026
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2158
1027
  protocol: StackitProtocol,
2159
1028
  retry: Retry.Retry,
@@ -2167,8 +1036,8 @@ export const getGatewayConnection: API.OperationMethod<
2167
1036
  GetGatewayConnectionError,
2168
1037
  StackitOpContext
2169
1038
  > = /*@__PURE__*/ API.make(() => ({
2170
- input: GetGatewayConnectionRequest,
2171
- output: ConnectionResponseOutput,
1039
+ input: __S(80, __c5, 0) as any as S.Schema<GetGatewayConnectionRequest>,
1040
+ output: __S(454, __c28, 6) as any as S.Schema<ConnectionResponseOutput>,
2172
1041
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2173
1042
  protocol: StackitProtocol,
2174
1043
  retry: Retry.Retry,
@@ -2182,8 +1051,8 @@ export const getGatewayConnectionStatus: API.OperationMethod<
2182
1051
  GetGatewayConnectionStatusError,
2183
1052
  StackitOpContext
2184
1053
  > = /*@__PURE__*/ API.make(() => ({
2185
- input: GetGatewayConnectionStatusRequest,
2186
- output: ConnectionStatusResponse,
1054
+ input: __S(96, __c6, 0) as any as S.Schema<GetGatewayConnectionStatusRequest>,
1055
+ output: __S(116, __c7, 4) as any as S.Schema<ConnectionStatusResponse>,
2187
1056
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2188
1057
  protocol: StackitProtocol,
2189
1058
  retry: Retry.Retry,
@@ -2197,8 +1066,8 @@ export const getGatewayStatus: API.OperationMethod<
2197
1066
  GetGatewayStatusError,
2198
1067
  StackitOpContext
2199
1068
  > = /*@__PURE__*/ API.make(() => ({
2200
- input: GetGatewayStatusRequest,
2201
- output: GatewayStatusResponse,
1069
+ input: __S(128, __c8, 0) as any as S.Schema<GetGatewayStatusRequest>,
1070
+ output: __S(137, __c8, 9) as any as S.Schema<GatewayStatusResponse>,
2202
1071
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2203
1072
  protocol: StackitProtocol,
2204
1073
  retry: Retry.Retry,
@@ -2212,8 +1081,8 @@ export const listGatewayBGPFilterRules: API.OperationMethod<
2212
1081
  ListGatewayBGPFilterRulesError,
2213
1082
  StackitOpContext
2214
1083
  > = /*@__PURE__*/ API.make(() => ({
2215
- input: ListGatewayBGPFilterRulesRequest,
2216
- output: BGPFilterRuleList,
1084
+ input: __S(144, __c9, 0) as any as S.Schema<ListGatewayBGPFilterRulesRequest>,
1085
+ output: __S(146, __c9, 2) as any as S.Schema<BGPFilterRuleList>,
2217
1086
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2218
1087
  protocol: StackitProtocol,
2219
1088
  retry: Retry.Retry,
@@ -2227,8 +1096,8 @@ export const listGatewayBGPFilters: API.OperationMethod<
2227
1096
  ListGatewayBGPFiltersError,
2228
1097
  StackitOpContext
2229
1098
  > = /*@__PURE__*/ API.make(() => ({
2230
- input: ListGatewayBGPFiltersRequest,
2231
- output: BGPFilterList,
1099
+ input: __S(160, __c10, 0) as any as S.Schema<ListGatewayBGPFiltersRequest>,
1100
+ output: __S(162, __c10, 2) as any as S.Schema<BGPFilterList>,
2232
1101
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2233
1102
  protocol: StackitProtocol,
2234
1103
  retry: Retry.Retry,
@@ -2242,8 +1111,8 @@ export const listGatewayConnections: API.OperationMethod<
2242
1111
  ListGatewayConnectionsError,
2243
1112
  StackitOpContext
2244
1113
  > = /*@__PURE__*/ API.make(() => ({
2245
- input: ListGatewayConnectionsRequest,
2246
- output: ConnectionListOutput,
1114
+ input: __S(176, __c11, 0) as any as S.Schema<ListGatewayConnectionsRequest>,
1115
+ output: __S(178, __c11, 2) as any as S.Schema<ConnectionListOutput>,
2247
1116
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2248
1117
  protocol: StackitProtocol,
2249
1118
  retry: Retry.Retry,
@@ -2257,8 +1126,8 @@ export const listGateways: API.OperationMethod<
2257
1126
  ListGatewaysError,
2258
1127
  StackitOpContext
2259
1128
  > = /*@__PURE__*/ API.make(() => ({
2260
- input: ListGatewaysRequest,
2261
- output: GatewayList,
1129
+ input: __S(192, __c12, 0) as any as S.Schema<ListGatewaysRequest>,
1130
+ output: __S(194, __c12, 2) as any as S.Schema<GatewayList>,
2262
1131
  errors: [BadRequest, Forbidden, UnknownStackitError],
2263
1132
  protocol: StackitProtocol,
2264
1133
  retry: Retry.Retry,
@@ -2272,8 +1141,8 @@ export const listPlans: API.OperationMethod<
2272
1141
  ListPlansError,
2273
1142
  StackitOpContext
2274
1143
  > = /*@__PURE__*/ API.make(() => ({
2275
- input: ListPlansRequest,
2276
- output: PlanList,
1144
+ input: __S(208, __c13, 0) as any as S.Schema<ListPlansRequest>,
1145
+ output: __S(211, __c13, 3) as any as S.Schema<PlanList>,
2277
1146
  errors: [BadRequest, UnknownStackitError],
2278
1147
  protocol: StackitProtocol,
2279
1148
  retry: Retry.Retry,
@@ -2287,8 +1156,8 @@ export const listQuotas: API.OperationMethod<
2287
1156
  ListQuotasError,
2288
1157
  StackitOpContext
2289
1158
  > = /*@__PURE__*/ API.make(() => ({
2290
- input: ListQuotasRequest,
2291
- output: QuotaListResponse,
1159
+ input: __S(224, __c14, 0) as any as S.Schema<ListQuotasRequest>,
1160
+ output: __S(227, __c14, 3) as any as S.Schema<QuotaListResponse>,
2292
1161
  errors: [BadRequest, UnknownStackitError],
2293
1162
  protocol: StackitProtocol,
2294
1163
  retry: Retry.Retry,
@@ -2302,8 +1171,8 @@ export const updateGateway: API.OperationMethod<
2302
1171
  UpdateGatewayError,
2303
1172
  StackitOpContext
2304
1173
  > = /*@__PURE__*/ API.make(() => ({
2305
- input: UpdateGatewayRequest,
2306
- output: UpdateGatewayResponse,
1174
+ input: __S(240, __c15, 0) as any as S.Schema<UpdateGatewayRequest>,
1175
+ output: __S(323, __c20, 3) as any as S.Schema<UpdateGatewayResponse>,
2307
1176
  errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
2308
1177
  protocol: StackitProtocol,
2309
1178
  retry: Retry.Retry,
@@ -2322,8 +1191,8 @@ export const updateGatewayBGPFilter: API.OperationMethod<
2322
1191
  UpdateGatewayBGPFilterError,
2323
1192
  StackitOpContext
2324
1193
  > = /*@__PURE__*/ API.make(() => ({
2325
- input: UpdateGatewayBGPFilterRequest,
2326
- output: BGPFilter,
1194
+ input: __S(256, __c16, 0) as any as S.Schema<UpdateGatewayBGPFilterRequest>,
1195
+ output: __S(384, __c24, 0) as any as S.Schema<BGPFilter>,
2327
1196
  errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
2328
1197
  protocol: StackitProtocol,
2329
1198
  retry: Retry.Retry,
@@ -2342,8 +1211,8 @@ export const updateGatewayBGPFilterRule: API.OperationMethod<
2342
1211
  UpdateGatewayBGPFilterRuleError,
2343
1212
  StackitOpContext
2344
1213
  > = /*@__PURE__*/ API.make(() => ({
2345
- input: UpdateGatewayBGPFilterRuleRequest,
2346
- output: BGPFilterRule,
1214
+ input: __S(272, __c17, 0) as any as S.Schema<UpdateGatewayBGPFilterRuleRequest>,
1215
+ output: __S(419, __c26, 3) as any as S.Schema<BGPFilterRule>,
2347
1216
  errors: [BadRequest, Forbidden, NotFound, Conflict, UnknownStackitError],
2348
1217
  protocol: StackitProtocol,
2349
1218
  retry: Retry.Retry,
@@ -2357,9 +1226,880 @@ export const updateGatewayConnection: API.OperationMethod<
2357
1226
  UpdateGatewayConnectionError,
2358
1227
  StackitOpContext
2359
1228
  > = /*@__PURE__*/ API.make(() => ({
2360
- input: UpdateGatewayConnectionRequest,
2361
- output: ConnectionResponseOutput,
1229
+ input: __S(288, __c18, 0) as any as S.Schema<UpdateGatewayConnectionRequest>,
1230
+ output: __S(454, __c28, 6) as any as S.Schema<ConnectionResponseOutput>,
2362
1231
  errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
2363
1232
  protocol: StackitProtocol,
2364
1233
  retry: Retry.Retry,
2365
1234
  }));
1235
+
1236
+ // Schema builders: each runs one schema initializer, on that schema's first use.
1237
+ function __c0(j: number): any {
1238
+ switch (j) {
1239
+ case 0:
1240
+ return S.suspend(() =>
1241
+ S.Struct({
1242
+ projectId: S.String.pipe(T.Label()),
1243
+ region: S.String.pipe(T.Label()),
1244
+ gatewayId: S.String.pipe(T.Label()),
1245
+ filterId: S.String.pipe(T.Label()),
1246
+ ruleId: S.String.pipe(T.Label()),
1247
+ }).pipe(
1248
+ T.Http({
1249
+ method: "DELETE",
1250
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
1251
+ code: 200,
1252
+ baseUrl: "https://vpn.api.stackit.cloud",
1253
+ }),
1254
+ ),
1255
+ ).annotate({ identifier: "DeleteGatewayBGPFilterRuleRequest" });
1256
+ }
1257
+ }
1258
+ function __c1(j: number): any {
1259
+ switch (j) {
1260
+ case 0:
1261
+ return S.suspend(() =>
1262
+ S.Struct({
1263
+ projectId: S.String.pipe(T.Label()),
1264
+ region: S.String.pipe(T.Label()),
1265
+ gatewayId: S.String.pipe(T.Label()),
1266
+ connectionId: S.String.pipe(T.Label()),
1267
+ }).pipe(
1268
+ T.Http({
1269
+ method: "DELETE",
1270
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
1271
+ code: 200,
1272
+ baseUrl: "https://vpn.api.stackit.cloud",
1273
+ }),
1274
+ ),
1275
+ ).annotate({ identifier: "DeleteGatewayConnectionRequest" });
1276
+ }
1277
+ }
1278
+ function __c2(j: number): any {
1279
+ switch (j) {
1280
+ case 0:
1281
+ return S.suspend(() =>
1282
+ S.Struct({
1283
+ projectId: S.String.pipe(T.Label()),
1284
+ region: S.String.pipe(T.Label()),
1285
+ gatewayId: S.String.pipe(T.Label()),
1286
+ }).pipe(
1287
+ T.Http({
1288
+ method: "GET",
1289
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
1290
+ code: 200,
1291
+ baseUrl: "https://vpn.api.stackit.cloud",
1292
+ }),
1293
+ ),
1294
+ ).annotate({ identifier: "GetGatewayRequest" });
1295
+ }
1296
+ }
1297
+ function __c3(j: number): any {
1298
+ switch (j) {
1299
+ case 0:
1300
+ return S.suspend(() =>
1301
+ S.Struct({
1302
+ projectId: S.String.pipe(T.Label()),
1303
+ region: S.String.pipe(T.Label()),
1304
+ gatewayId: S.String.pipe(T.Label()),
1305
+ filterId: S.String.pipe(T.Label()),
1306
+ }).pipe(
1307
+ T.Http({
1308
+ method: "GET",
1309
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
1310
+ code: 200,
1311
+ baseUrl: "https://vpn.api.stackit.cloud",
1312
+ }),
1313
+ ),
1314
+ ).annotate({ identifier: "GetGatewayBGPFilterRequest" });
1315
+ }
1316
+ }
1317
+ function __c4(j: number): any {
1318
+ switch (j) {
1319
+ case 0:
1320
+ return S.suspend(() =>
1321
+ S.Struct({
1322
+ projectId: S.String.pipe(T.Label()),
1323
+ region: S.String.pipe(T.Label()),
1324
+ gatewayId: S.String.pipe(T.Label()),
1325
+ filterId: S.String.pipe(T.Label()),
1326
+ ruleId: S.String.pipe(T.Label()),
1327
+ }).pipe(
1328
+ T.Http({
1329
+ method: "GET",
1330
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
1331
+ code: 200,
1332
+ baseUrl: "https://vpn.api.stackit.cloud",
1333
+ }),
1334
+ ),
1335
+ ).annotate({ identifier: "GetGatewayBGPFilterRuleRequest" });
1336
+ }
1337
+ }
1338
+ function __c5(j: number): any {
1339
+ switch (j) {
1340
+ case 0:
1341
+ return S.suspend(() =>
1342
+ S.Struct({
1343
+ projectId: S.String.pipe(T.Label()),
1344
+ region: S.String.pipe(T.Label()),
1345
+ gatewayId: S.String.pipe(T.Label()),
1346
+ connectionId: S.String.pipe(T.Label()),
1347
+ }).pipe(
1348
+ T.Http({
1349
+ method: "GET",
1350
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
1351
+ code: 200,
1352
+ baseUrl: "https://vpn.api.stackit.cloud",
1353
+ }),
1354
+ ),
1355
+ ).annotate({ identifier: "GetGatewayConnectionRequest" });
1356
+ }
1357
+ }
1358
+ function __c6(j: number): any {
1359
+ switch (j) {
1360
+ case 0:
1361
+ return S.suspend(() =>
1362
+ S.Struct({
1363
+ projectId: S.String.pipe(T.Label()),
1364
+ region: S.String.pipe(T.Label()),
1365
+ gatewayId: S.String.pipe(T.Label()),
1366
+ connectionId: S.String.pipe(T.Label()),
1367
+ }).pipe(
1368
+ T.Http({
1369
+ method: "GET",
1370
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}/status",
1371
+ code: 200,
1372
+ baseUrl: "https://vpn.api.stackit.cloud",
1373
+ }),
1374
+ ),
1375
+ ).annotate({ identifier: "GetGatewayConnectionStatusRequest" });
1376
+ }
1377
+ }
1378
+ function __c7(j: number): any {
1379
+ switch (j) {
1380
+ case 0:
1381
+ return S.suspend(() =>
1382
+ S.Struct({
1383
+ dhGroup: S.optional(S.String),
1384
+ encryptionAlgorithm: S.optional(S.String),
1385
+ integrityAlgorithm: S.optional(S.String),
1386
+ state: S.optional(S.String),
1387
+ }),
1388
+ ).annotate({ identifier: "Phase1Status" });
1389
+ case 1:
1390
+ return S.suspend(() =>
1391
+ S.Struct({
1392
+ bytesIn: S.optional(S.String),
1393
+ bytesOut: S.optional(S.String),
1394
+ dhGroup: S.optional(S.String),
1395
+ encap: S.optional(S.String),
1396
+ encryptionAlgorithm: S.optional(S.String),
1397
+ integrityAlgorithm: S.optional(S.String),
1398
+ packetsIn: S.optional(S.String),
1399
+ packetsOut: S.optional(S.String),
1400
+ protocol: S.optional(S.String),
1401
+ state: S.optional(S.String),
1402
+ }),
1403
+ ).annotate({ identifier: "Phase2Status" });
1404
+ case 2:
1405
+ return S.suspend(() =>
1406
+ S.Struct({
1407
+ established: S.optional(S.Boolean),
1408
+ name: S.optional(S.String),
1409
+ phase1: S.optional(__S(112, __c7, 0)),
1410
+ phase2: S.optional(__S(113, __c7, 1)),
1411
+ }),
1412
+ ).annotate({ identifier: "TunnelStatus" });
1413
+ case 3:
1414
+ return S.Array(__S(114, __c7, 2));
1415
+ case 4:
1416
+ return S.suspend(() =>
1417
+ S.Struct({
1418
+ displayName: S.optional(S.String),
1419
+ enabled: S.optional(S.Boolean),
1420
+ id: S.optional(S.String),
1421
+ tunnels: S.optional(__S(115, __c7, 3)),
1422
+ }),
1423
+ ).annotate({ identifier: "ConnectionStatusResponse" });
1424
+ }
1425
+ }
1426
+ function __c8(j: number): any {
1427
+ switch (j) {
1428
+ case 0:
1429
+ return S.suspend(() =>
1430
+ S.Struct({
1431
+ projectId: S.String.pipe(T.Label()),
1432
+ region: S.String.pipe(T.Label()),
1433
+ gatewayId: S.String.pipe(T.Label()),
1434
+ }).pipe(
1435
+ T.Http({
1436
+ method: "GET",
1437
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/status",
1438
+ code: 200,
1439
+ baseUrl: "https://vpn.api.stackit.cloud",
1440
+ }),
1441
+ ),
1442
+ ).annotate({ identifier: "GetGatewayStatusRequest" });
1443
+ case 1:
1444
+ return S.Array(__S(116, __c7, 4));
1445
+ case 2:
1446
+ return S.suspend(() =>
1447
+ S.Struct({
1448
+ localAs: S.Number,
1449
+ peerUptime: S.String,
1450
+ pfxRcd: S.Number,
1451
+ pfxSnt: S.Number,
1452
+ remoteAs: S.Number,
1453
+ remoteIP: S.String,
1454
+ state: S.String,
1455
+ }),
1456
+ ).annotate({ identifier: "BGPStatusPeers" });
1457
+ case 3:
1458
+ return S.Array(__S(130, __c8, 2));
1459
+ case 4:
1460
+ return S.suspend(() =>
1461
+ S.Struct({
1462
+ network: S.String,
1463
+ origin: S.String,
1464
+ path: S.String,
1465
+ peerId: S.String,
1466
+ weight: S.Number,
1467
+ }),
1468
+ ).annotate({ identifier: "BGPStatusRoutes" });
1469
+ case 5:
1470
+ return S.Array(__S(132, __c8, 4));
1471
+ case 6:
1472
+ return S.suspend(() =>
1473
+ S.Struct({
1474
+ peers: S.optional(__S(131, __c8, 3)),
1475
+ routes: S.optional(__S(133, __c8, 5)),
1476
+ }),
1477
+ ).annotate({ identifier: "BGPStatus" });
1478
+ case 7:
1479
+ return S.suspend(() =>
1480
+ S.Struct({
1481
+ bgpStatus: S.optional(S.NullOr(__S(134, __c8, 6))),
1482
+ instanceState: S.optional(S.String),
1483
+ internalNextHopIP: S.optional(S.String),
1484
+ name: S.optional(S.String),
1485
+ publicIP: S.optional(S.String),
1486
+ }),
1487
+ ).annotate({ identifier: "VPNTunnels" });
1488
+ case 8:
1489
+ return S.Array(__S(135, __c8, 7));
1490
+ case 9:
1491
+ return S.suspend(() =>
1492
+ S.Struct({
1493
+ connections: S.optional(__S(129, __c8, 1)),
1494
+ displayName: S.optional(S.String),
1495
+ errorMessage: S.optional(S.String),
1496
+ gatewayStatus: S.optional(S.String),
1497
+ id: S.optional(S.String),
1498
+ tunnels: S.optional(__S(136, __c8, 8)),
1499
+ }),
1500
+ ).annotate({ identifier: "GatewayStatusResponse" });
1501
+ }
1502
+ }
1503
+ function __c9(j: number): any {
1504
+ switch (j) {
1505
+ case 0:
1506
+ return S.suspend(() =>
1507
+ S.Struct({
1508
+ projectId: S.String.pipe(T.Label()),
1509
+ region: S.String.pipe(T.Label()),
1510
+ gatewayId: S.String.pipe(T.Label()),
1511
+ filterId: S.String.pipe(T.Label()),
1512
+ }).pipe(
1513
+ T.Http({
1514
+ method: "GET",
1515
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules",
1516
+ code: 200,
1517
+ baseUrl: "https://vpn.api.stackit.cloud",
1518
+ }),
1519
+ ),
1520
+ ).annotate({ identifier: "ListGatewayBGPFilterRulesRequest" });
1521
+ case 1:
1522
+ return S.Array(__S(419, __c26, 3));
1523
+ case 2:
1524
+ return S.suspend(() =>
1525
+ S.Struct({
1526
+ rules: __S(145, __c9, 1),
1527
+ }),
1528
+ ).annotate({ identifier: "BGPFilterRuleList" });
1529
+ }
1530
+ }
1531
+ function __c10(j: number): any {
1532
+ switch (j) {
1533
+ case 0:
1534
+ return S.suspend(() =>
1535
+ S.Struct({
1536
+ projectId: S.String.pipe(T.Label()),
1537
+ region: S.String.pipe(T.Label()),
1538
+ gatewayId: S.String.pipe(T.Label()),
1539
+ }).pipe(
1540
+ T.Http({
1541
+ method: "GET",
1542
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters",
1543
+ code: 200,
1544
+ baseUrl: "https://vpn.api.stackit.cloud",
1545
+ }),
1546
+ ),
1547
+ ).annotate({ identifier: "ListGatewayBGPFiltersRequest" });
1548
+ case 1:
1549
+ return S.Array(__S(384, __c24, 0));
1550
+ case 2:
1551
+ return S.suspend(() =>
1552
+ S.Struct({
1553
+ bgpFilters: __S(161, __c10, 1),
1554
+ }),
1555
+ ).annotate({ identifier: "BGPFilterList" });
1556
+ }
1557
+ }
1558
+ function __c11(j: number): any {
1559
+ switch (j) {
1560
+ case 0:
1561
+ return S.suspend(() =>
1562
+ S.Struct({
1563
+ projectId: S.String.pipe(T.Label()),
1564
+ region: S.String.pipe(T.Label()),
1565
+ gatewayId: S.String.pipe(T.Label()),
1566
+ label_selector: S.optional(__S(352, __c22, 0).pipe(T.Query())),
1567
+ }).pipe(
1568
+ T.Http({
1569
+ method: "GET",
1570
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections",
1571
+ code: 200,
1572
+ baseUrl: "https://vpn.api.stackit.cloud",
1573
+ }),
1574
+ ),
1575
+ ).annotate({ identifier: "ListGatewayConnectionsRequest" });
1576
+ case 1:
1577
+ return S.Array(__S(454, __c28, 6));
1578
+ case 2:
1579
+ return S.suspend(() =>
1580
+ S.Struct({
1581
+ connections: __S(177, __c11, 1),
1582
+ }),
1583
+ ).annotate({ identifier: "ConnectionListOutput" });
1584
+ }
1585
+ }
1586
+ function __c12(j: number): any {
1587
+ switch (j) {
1588
+ case 0:
1589
+ return S.suspend(() =>
1590
+ S.Struct({
1591
+ projectId: S.String.pipe(T.Label()),
1592
+ region: S.String.pipe(T.Label()),
1593
+ label_selector: S.optional(__S(352, __c22, 0).pipe(T.Query())),
1594
+ }).pipe(
1595
+ T.Http({
1596
+ method: "GET",
1597
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways",
1598
+ code: 200,
1599
+ baseUrl: "https://vpn.api.stackit.cloud",
1600
+ }),
1601
+ ),
1602
+ ).annotate({ identifier: "ListGatewaysRequest" });
1603
+ case 1:
1604
+ return S.Array(__S(323, __c20, 3));
1605
+ case 2:
1606
+ return S.suspend(() =>
1607
+ S.Struct({
1608
+ gateways: __S(193, __c12, 1),
1609
+ }),
1610
+ ).annotate({ identifier: "GatewayList" });
1611
+ }
1612
+ }
1613
+ function __c13(j: number): any {
1614
+ switch (j) {
1615
+ case 0:
1616
+ return S.suspend(() =>
1617
+ S.Struct({
1618
+ region: S.String.pipe(T.Label()),
1619
+ }).pipe(
1620
+ T.Http({
1621
+ method: "GET",
1622
+ uri: "/v1/regions/{region}/plans",
1623
+ code: 200,
1624
+ baseUrl: "https://vpn.api.stackit.cloud",
1625
+ }),
1626
+ ),
1627
+ ).annotate({ identifier: "ListPlansRequest" });
1628
+ case 1:
1629
+ return S.suspend(() =>
1630
+ S.Struct({
1631
+ maxBandwidth: S.optional(S.Number),
1632
+ maxConnections: S.optional(S.Number),
1633
+ name: S.optional(S.String),
1634
+ planId: S.optional(S.String),
1635
+ sku: S.optional(S.String),
1636
+ }),
1637
+ ).annotate({ identifier: "Plan" });
1638
+ case 2:
1639
+ return S.Array(__S(209, __c13, 1));
1640
+ case 3:
1641
+ return S.suspend(() =>
1642
+ S.Struct({
1643
+ defaultPlanId: S.optional(S.String),
1644
+ plans: S.optional(__S(210, __c13, 2)),
1645
+ }),
1646
+ ).annotate({ identifier: "PlanList" });
1647
+ }
1648
+ }
1649
+ function __c14(j: number): any {
1650
+ switch (j) {
1651
+ case 0:
1652
+ return S.suspend(() =>
1653
+ S.Struct({
1654
+ projectId: S.String.pipe(T.Label()),
1655
+ region: S.String.pipe(T.Label()),
1656
+ }).pipe(
1657
+ T.Http({
1658
+ method: "GET",
1659
+ uri: "/v1/projects/{projectId}/regions/{region}/quotas",
1660
+ code: 200,
1661
+ baseUrl: "https://vpn.api.stackit.cloud",
1662
+ }),
1663
+ ),
1664
+ ).annotate({ identifier: "ListQuotasRequest" });
1665
+ case 1:
1666
+ return S.suspend(() =>
1667
+ S.Struct({
1668
+ limit: S.Number,
1669
+ usage: S.Number,
1670
+ }),
1671
+ ).annotate({ identifier: "Quota" });
1672
+ case 2:
1673
+ return S.suspend(() =>
1674
+ S.Struct({
1675
+ gateways: __S(225, __c14, 1),
1676
+ }),
1677
+ ).annotate({ identifier: "QuotaList" });
1678
+ case 3:
1679
+ return S.suspend(() =>
1680
+ S.Struct({
1681
+ quotas: __S(226, __c14, 2),
1682
+ }),
1683
+ ).annotate({ identifier: "QuotaListResponse" });
1684
+ }
1685
+ }
1686
+ function __c15(j: number): any {
1687
+ switch (j) {
1688
+ case 0:
1689
+ return S.suspend(() =>
1690
+ S.Struct({
1691
+ projectId: S.String.pipe(T.Label()),
1692
+ region: S.String.pipe(T.Label()),
1693
+ gatewayId: S.String.pipe(T.Label()),
1694
+ availabilityZones: __S(320, __c20, 0),
1695
+ bgp: S.optional(__S(321, __c20, 1)),
1696
+ displayName: S.String,
1697
+ labels: S.optional(__S(352, __c22, 0)),
1698
+ networkConfig: S.optional(__S(322, __c20, 2)),
1699
+ planId: S.String,
1700
+ routingType: S.String,
1701
+ }).pipe(
1702
+ T.Http({
1703
+ method: "PUT",
1704
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
1705
+ code: 200,
1706
+ baseUrl: "https://vpn.api.stackit.cloud",
1707
+ }),
1708
+ ),
1709
+ ).annotate({ identifier: "UpdateGatewayRequest" });
1710
+ }
1711
+ }
1712
+ function __c16(j: number): any {
1713
+ switch (j) {
1714
+ case 0:
1715
+ return S.suspend(() =>
1716
+ S.Struct({
1717
+ projectId: S.String.pipe(T.Label()),
1718
+ region: S.String.pipe(T.Label()),
1719
+ gatewayId: S.String.pipe(T.Label()),
1720
+ filterId: S.String.pipe(T.Label()),
1721
+ displayName: S.String,
1722
+ }).pipe(
1723
+ T.Http({
1724
+ method: "PUT",
1725
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
1726
+ code: 200,
1727
+ baseUrl: "https://vpn.api.stackit.cloud",
1728
+ }),
1729
+ ),
1730
+ ).annotate({ identifier: "UpdateGatewayBGPFilterRequest" });
1731
+ }
1732
+ }
1733
+ function __c17(j: number): any {
1734
+ switch (j) {
1735
+ case 0:
1736
+ return S.suspend(() =>
1737
+ S.Struct({
1738
+ projectId: S.String.pipe(T.Label()),
1739
+ region: S.String.pipe(T.Label()),
1740
+ gatewayId: S.String.pipe(T.Label()),
1741
+ filterId: S.String.pipe(T.Label()),
1742
+ ruleId: S.String.pipe(T.Label()),
1743
+ action: S.String,
1744
+ match: S.optional(__S(417, __c26, 1)),
1745
+ sequence: S.optional(S.Number),
1746
+ set: S.optional(__S(418, __c26, 2)),
1747
+ }).pipe(
1748
+ T.Http({
1749
+ method: "PUT",
1750
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules/{ruleId}",
1751
+ code: 200,
1752
+ baseUrl: "https://vpn.api.stackit.cloud",
1753
+ }),
1754
+ ),
1755
+ ).annotate({ identifier: "UpdateGatewayBGPFilterRuleRequest" });
1756
+ }
1757
+ }
1758
+ function __c18(j: number): any {
1759
+ switch (j) {
1760
+ case 0:
1761
+ return S.suspend(() =>
1762
+ S.Struct({
1763
+ projectId: S.String.pipe(T.Label()),
1764
+ region: S.String.pipe(T.Label()),
1765
+ gatewayId: S.String.pipe(T.Label()),
1766
+ connectionId: S.String.pipe(T.Label()),
1767
+ displayName: S.String,
1768
+ enabled: S.optional(S.Boolean),
1769
+ labels: S.optional(__S(352, __c22, 0)),
1770
+ localSubnets: S.optional(__S(336, __c21, 0)),
1771
+ remoteSubnets: S.optional(__S(336, __c21, 0)),
1772
+ staticRoutes: S.optional(__S(336, __c21, 0)),
1773
+ tunnel1: __S(464, __c29, 0),
1774
+ tunnel2: __S(464, __c29, 0),
1775
+ }).pipe(
1776
+ T.Http({
1777
+ method: "PUT",
1778
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections/{connectionId}",
1779
+ code: 200,
1780
+ baseUrl: "https://vpn.api.stackit.cloud",
1781
+ }),
1782
+ ),
1783
+ ).annotate({ identifier: "UpdateGatewayConnectionRequest" });
1784
+ }
1785
+ }
1786
+ function __c19(j: number): any {
1787
+ switch (j) {
1788
+ case 0:
1789
+ return S.suspend(() =>
1790
+ S.Struct({
1791
+ projectId: S.String.pipe(T.Label()),
1792
+ region: S.String.pipe(T.Label()),
1793
+ availabilityZones: __S(320, __c20, 0),
1794
+ bgp: S.optional(__S(321, __c20, 1)),
1795
+ displayName: S.String,
1796
+ labels: S.optional(__S(352, __c22, 0)),
1797
+ networkConfig: S.optional(__S(322, __c20, 2)),
1798
+ planId: S.String,
1799
+ routingType: S.String,
1800
+ }).pipe(
1801
+ T.Http({
1802
+ method: "POST",
1803
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways",
1804
+ code: 200,
1805
+ baseUrl: "https://vpn.api.stackit.cloud",
1806
+ }),
1807
+ ),
1808
+ ).annotate({ identifier: "CreateGatewayRequest" });
1809
+ }
1810
+ }
1811
+ function __c20(j: number): any {
1812
+ switch (j) {
1813
+ case 0:
1814
+ return S.suspend(() =>
1815
+ S.Struct({
1816
+ tunnel1: S.String,
1817
+ tunnel2: S.String,
1818
+ }),
1819
+ ).annotate({ identifier: "CreateGatewayRequestAvailabilityZones" });
1820
+ case 1:
1821
+ return S.suspend(() =>
1822
+ S.Struct({
1823
+ localAsn: S.Number,
1824
+ overrideAdvertisedRoutes: S.optional(__S(336, __c21, 0)),
1825
+ }),
1826
+ ).annotate({ identifier: "BGPGatewayConfig" });
1827
+ case 2:
1828
+ return S.suspend(() =>
1829
+ S.Struct({
1830
+ predefinedNetworkPrefix: S.optional(S.String),
1831
+ routingTableId: S.optional(S.String),
1832
+ }),
1833
+ ).annotate({ identifier: "NetworkConfig" });
1834
+ case 3:
1835
+ return S.suspend(() =>
1836
+ S.Struct({
1837
+ availabilityZones: __S(320, __c20, 0),
1838
+ bgp: S.optional(__S(321, __c20, 1)),
1839
+ displayName: S.String,
1840
+ labels: S.optional(__S(352, __c22, 0)),
1841
+ networkConfig: S.optional(__S(322, __c20, 2)),
1842
+ planId: S.String,
1843
+ routingType: S.String,
1844
+ id: S.optional(S.String),
1845
+ state: S.optional(S.String),
1846
+ }),
1847
+ ).annotate({ identifier: "CreateGatewayResponse" });
1848
+ }
1849
+ }
1850
+ function __c21(j: number): any {
1851
+ switch (j) {
1852
+ case 0:
1853
+ return S.Array(S.String);
1854
+ }
1855
+ }
1856
+ function __c22(j: number): any {
1857
+ switch (j) {
1858
+ case 0:
1859
+ return S.Record(S.String, S.String);
1860
+ }
1861
+ }
1862
+ function __c23(j: number): any {
1863
+ switch (j) {
1864
+ case 0:
1865
+ return S.suspend(() =>
1866
+ S.Struct({
1867
+ projectId: S.String.pipe(T.Label()),
1868
+ region: S.String.pipe(T.Label()),
1869
+ gatewayId: S.String.pipe(T.Label()),
1870
+ displayName: S.String,
1871
+ }).pipe(
1872
+ T.Http({
1873
+ method: "POST",
1874
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters",
1875
+ code: 200,
1876
+ baseUrl: "https://vpn.api.stackit.cloud",
1877
+ }),
1878
+ ),
1879
+ ).annotate({ identifier: "CreateGatewayBGPFilterRequest" });
1880
+ }
1881
+ }
1882
+ function __c24(j: number): any {
1883
+ switch (j) {
1884
+ case 0:
1885
+ return S.suspend(() =>
1886
+ S.Struct({
1887
+ displayName: S.String,
1888
+ id: S.optional(S.String),
1889
+ }),
1890
+ ).annotate({ identifier: "BGPFilter" });
1891
+ }
1892
+ }
1893
+ function __c25(j: number): any {
1894
+ switch (j) {
1895
+ case 0:
1896
+ return S.suspend(() =>
1897
+ S.Struct({
1898
+ projectId: S.String.pipe(T.Label()),
1899
+ region: S.String.pipe(T.Label()),
1900
+ gatewayId: S.String.pipe(T.Label()),
1901
+ filterId: S.String.pipe(T.Label()),
1902
+ action: S.String,
1903
+ match: S.optional(__S(417, __c26, 1)),
1904
+ sequence: S.optional(S.Number),
1905
+ set: S.optional(__S(418, __c26, 2)),
1906
+ }).pipe(
1907
+ T.Http({
1908
+ method: "POST",
1909
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}/rules",
1910
+ code: 200,
1911
+ baseUrl: "https://vpn.api.stackit.cloud",
1912
+ }),
1913
+ ),
1914
+ ).annotate({ identifier: "CreateGatewayBGPFilterRuleRequest" });
1915
+ }
1916
+ }
1917
+ function __c26(j: number): any {
1918
+ switch (j) {
1919
+ case 0:
1920
+ return S.Array(S.Number);
1921
+ case 1:
1922
+ return S.suspend(() =>
1923
+ S.Struct({
1924
+ asPathContainsAny: S.optional(__S(416, __c26, 0)),
1925
+ communities: S.optional(__S(336, __c21, 0)),
1926
+ firstASN: S.optional(S.Number),
1927
+ maxPrefixLength: S.optional(S.Number),
1928
+ minPrefixLength: S.optional(S.Number),
1929
+ peer: S.optional(S.String),
1930
+ prefixes: S.optional(__S(336, __c21, 0)),
1931
+ }),
1932
+ ).annotate({ identifier: "CreateGatewayBGPFilterRuleRequestMatch" });
1933
+ case 2:
1934
+ return S.suspend(() =>
1935
+ S.Struct({
1936
+ localPreference: S.optional(S.Number),
1937
+ }),
1938
+ ).annotate({ identifier: "CreateGatewayBGPFilterRuleRequestSet" });
1939
+ case 3:
1940
+ return S.suspend(() =>
1941
+ S.Struct({
1942
+ action: S.String,
1943
+ id: S.optional(S.String),
1944
+ match: S.optional(__S(417, __c26, 1)),
1945
+ sequence: S.optional(S.Number),
1946
+ set: S.optional(__S(418, __c26, 2)),
1947
+ }),
1948
+ ).annotate({ identifier: "BGPFilterRule" });
1949
+ }
1950
+ }
1951
+ function __c27(j: number): any {
1952
+ switch (j) {
1953
+ case 0:
1954
+ return S.suspend(() =>
1955
+ S.Struct({
1956
+ projectId: S.String.pipe(T.Label()),
1957
+ region: S.String.pipe(T.Label()),
1958
+ gatewayId: S.String.pipe(T.Label()),
1959
+ displayName: S.String,
1960
+ enabled: S.optional(S.Boolean),
1961
+ labels: S.optional(__S(352, __c22, 0)),
1962
+ localSubnets: S.optional(__S(336, __c21, 0)),
1963
+ remoteSubnets: S.optional(__S(336, __c21, 0)),
1964
+ staticRoutes: S.optional(__S(336, __c21, 0)),
1965
+ tunnel1: __S(464, __c29, 0),
1966
+ tunnel2: __S(464, __c29, 0),
1967
+ }).pipe(
1968
+ T.Http({
1969
+ method: "POST",
1970
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/connections",
1971
+ code: 200,
1972
+ baseUrl: "https://vpn.api.stackit.cloud",
1973
+ }),
1974
+ ),
1975
+ ).annotate({ identifier: "CreateGatewayConnectionRequest" });
1976
+ }
1977
+ }
1978
+ function __c28(j: number): any {
1979
+ switch (j) {
1980
+ case 0:
1981
+ return S.suspend(() =>
1982
+ S.Struct({
1983
+ inboundFilterId: S.optional(S.NullOr(S.String)),
1984
+ remoteAsn: S.Number,
1985
+ }),
1986
+ ).annotate({ identifier: "BGPTunnelConfig" });
1987
+ case 1:
1988
+ return S.suspend(() =>
1989
+ S.Struct({
1990
+ localAddress: S.optional(S.String),
1991
+ remoteAddress: S.optional(S.String),
1992
+ }),
1993
+ ).annotate({ identifier: "PeeringConfig" });
1994
+ case 2:
1995
+ return S.Array(S.String);
1996
+ case 3:
1997
+ return S.suspend(() =>
1998
+ S.Struct({
1999
+ dhGroups: S.optional(__S(450, __c28, 2)),
2000
+ encryptionAlgorithms: __S(450, __c28, 2),
2001
+ integrityAlgorithms: __S(450, __c28, 2),
2002
+ rekeyTime: S.optional(S.Number),
2003
+ }),
2004
+ ).annotate({ identifier: "TunnelConfigurationPhase1" });
2005
+ case 4:
2006
+ return S.suspend(() =>
2007
+ S.Struct({
2008
+ dhGroups: S.optional(__S(450, __c28, 2)),
2009
+ encryptionAlgorithms: __S(450, __c28, 2),
2010
+ integrityAlgorithms: __S(450, __c28, 2),
2011
+ dpdAction: S.optional(S.String),
2012
+ rekeyTime: S.optional(S.Number),
2013
+ startAction: S.optional(S.String),
2014
+ }),
2015
+ ).annotate({ identifier: "TunnelConfigurationPhase2" });
2016
+ case 5:
2017
+ return S.suspend(() =>
2018
+ S.Struct({
2019
+ bgp: S.optional(__S(448, __c28, 0)),
2020
+ peering: S.optional(__S(449, __c28, 1)),
2021
+ phase1: __S(451, __c28, 3),
2022
+ phase2: __S(452, __c28, 4),
2023
+ remoteAddress: S.String,
2024
+ }),
2025
+ ).annotate({ identifier: "TunnelConfigurationOutput" });
2026
+ case 6:
2027
+ return S.suspend(() =>
2028
+ S.Struct({
2029
+ displayName: S.String,
2030
+ enabled: S.optional(S.Boolean),
2031
+ id: S.optional(S.String),
2032
+ labels: S.optional(__S(352, __c22, 0)),
2033
+ localSubnets: S.optional(__S(336, __c21, 0)),
2034
+ remoteSubnets: S.optional(__S(336, __c21, 0)),
2035
+ staticRoutes: S.optional(__S(336, __c21, 0)),
2036
+ tunnel1: __S(453, __c28, 5),
2037
+ tunnel2: __S(453, __c28, 5),
2038
+ }),
2039
+ ).annotate({ identifier: "ConnectionResponseOutput" });
2040
+ }
2041
+ }
2042
+ function __c29(j: number): any {
2043
+ switch (j) {
2044
+ case 0:
2045
+ return S.suspend(() =>
2046
+ S.Struct({
2047
+ bgp: S.optional(__S(448, __c28, 0)),
2048
+ peering: S.optional(__S(449, __c28, 1)),
2049
+ phase1: __S(451, __c28, 3),
2050
+ phase2: __S(452, __c28, 4),
2051
+ preSharedKey: S.optional(S.String),
2052
+ remoteAddress: S.String,
2053
+ }),
2054
+ ).annotate({ identifier: "TunnelConfiguration" });
2055
+ }
2056
+ }
2057
+ function __c30(j: number): any {
2058
+ switch (j) {
2059
+ case 0:
2060
+ return S.suspend(() =>
2061
+ S.Struct({
2062
+ projectId: S.String.pipe(T.Label()),
2063
+ region: S.String.pipe(T.Label()),
2064
+ gatewayId: S.String.pipe(T.Label()),
2065
+ }).pipe(
2066
+ T.Http({
2067
+ method: "DELETE",
2068
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}",
2069
+ code: 200,
2070
+ baseUrl: "https://vpn.api.stackit.cloud",
2071
+ }),
2072
+ ),
2073
+ ).annotate({ identifier: "DeleteGatewayRequest" });
2074
+ }
2075
+ }
2076
+ function __c31(j: number): any {
2077
+ switch (j) {
2078
+ case 0:
2079
+ return S.suspend(() => S.Struct({})).annotate({ identifier: "DeleteGatewayResponse" });
2080
+ }
2081
+ }
2082
+ function __c32(j: number): any {
2083
+ switch (j) {
2084
+ case 0:
2085
+ return S.suspend(() =>
2086
+ S.Struct({
2087
+ projectId: S.String.pipe(T.Label()),
2088
+ region: S.String.pipe(T.Label()),
2089
+ gatewayId: S.String.pipe(T.Label()),
2090
+ filterId: S.String.pipe(T.Label()),
2091
+ }).pipe(
2092
+ T.Http({
2093
+ method: "DELETE",
2094
+ uri: "/v1/projects/{projectId}/regions/{region}/gateways/{gatewayId}/bgp-filters/{filterId}",
2095
+ code: 200,
2096
+ baseUrl: "https://vpn.api.stackit.cloud",
2097
+ }),
2098
+ ),
2099
+ ).annotate({ identifier: "DeleteGatewayBGPFilterRequest" });
2100
+ }
2101
+ }
2102
+ // Schema table: entry i is schema j of builder f, made on first reach.
2103
+ function __S(i: number, f: (j: number) => unknown, j: number): any {
2104
+ return (__s[i] ??= __L.at(f, j));
2105
+ }