@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.
- package/lib/credentials.d.ts +2 -2
- package/lib/credentials.d.ts.map +1 -1
- package/lib/credentials.js +32 -28
- package/lib/credentials.js.map +1 -1
- package/lib/errors.d.ts +13 -13
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +16 -16
- package/lib/errors.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +22 -22
- package/lib/pagination.d.ts +1 -1
- package/lib/pagination.js +15 -15
- package/lib/protocol.d.ts +3 -3
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +31 -29
- package/lib/protocol.js.map +1 -1
- package/lib/retry.d.ts +1 -1
- package/lib/retry.d.ts.map +1 -1
- package/lib/retry.js +24 -23
- package/lib/retry.js.map +1 -1
- package/lib/services/alb.d.ts +10 -87
- package/lib/services/alb.d.ts.map +1 -1
- package/lib/services/alb.js +73 -502
- package/lib/services/alb_waf.d.ts +9 -82
- package/lib/services/alb_waf.d.ts.map +1 -1
- package/lib/services/alb_waf.js +84 -510
- package/lib/services/authorization.d.ts +5 -47
- package/lib/services/authorization.d.ts.map +1 -1
- package/lib/services/authorization.js +67 -314
- package/lib/services/automation.d.ts +7 -47
- package/lib/services/automation.d.ts.map +1 -1
- package/lib/services/automation.js +58 -353
- package/lib/services/cdn.d.ts +8 -220
- package/lib/services/cdn.d.ts.map +1 -1
- package/lib/services/cdn.js +81 -896
- package/lib/services/certificates.d.ts +8 -27
- package/lib/services/certificates.d.ts.map +1 -1
- package/lib/services/certificates.js +45 -171
- package/lib/services/cost.d.ts +10 -37
- package/lib/services/cost.d.ts.map +1 -1
- package/lib/services/cost.js +39 -169
- package/lib/services/dns.d.ts +9 -104
- package/lib/services/dns.d.ts.map +1 -1
- package/lib/services/dns.js +98 -714
- package/lib/services/dremio.d.ts +8 -50
- package/lib/services/dremio.d.ts.map +1 -1
- package/lib/services/dremio.js +56 -307
- package/lib/services/edge.d.ts +7 -40
- package/lib/services/edge.d.ts.map +1 -1
- package/lib/services/edge.js +66 -347
- package/lib/services/functions.d.ts +1 -48
- package/lib/services/functions.d.ts.map +1 -1
- package/lib/services/functions.js +64 -393
- package/lib/services/git.d.ts +8 -61
- package/lib/services/git.d.ts.map +1 -1
- package/lib/services/git.js +87 -510
- package/lib/services/iaas.d.ts +9 -337
- package/lib/services/iaas.d.ts.map +1 -1
- package/lib/services/iaas.js +409 -3532
- package/lib/services/intake.d.ts +8 -75
- package/lib/services/intake.d.ts.map +1 -1
- package/lib/services/intake.js +74 -465
- package/lib/services/kms.d.ts +9 -92
- package/lib/services/kms.d.ts.map +1 -1
- package/lib/services/kms.js +95 -650
- package/lib/services/lb_ip_lists.d.ts +9 -25
- package/lib/services/lb_ip_lists.d.ts.map +1 -1
- package/lib/services/lb_ip_lists.js +45 -146
- package/lib/services/load_balancer.d.ts +10 -81
- package/lib/services/load_balancer.d.ts.map +1 -1
- package/lib/services/load_balancer.js +76 -486
- package/lib/services/logme.d.ts +8 -69
- package/lib/services/logme.d.ts.map +1 -1
- package/lib/services/logme.js +82 -564
- package/lib/services/logs.d.ts +8 -64
- package/lib/services/logs.d.ts.map +1 -1
- package/lib/services/logs.js +84 -465
- package/lib/services/mariadb.d.ts +8 -65
- package/lib/services/mariadb.d.ts.map +1 -1
- package/lib/services/mariadb.js +84 -541
- package/lib/services/model_experiments.d.ts +9 -48
- package/lib/services/model_experiments.d.ts.map +1 -1
- package/lib/services/model_experiments.js +66 -325
- package/lib/services/model_serving.d.ts +7 -47
- package/lib/services/model_serving.d.ts.map +1 -1
- package/lib/services/model_serving.js +55 -277
- package/lib/services/mongodb_flex.d.ts +8 -137
- package/lib/services/mongodb_flex.d.ts.map +1 -1
- package/lib/services/mongodb_flex.js +102 -793
- package/lib/services/object_storage.d.ts +12 -59
- package/lib/services/object_storage.d.ts.map +1 -1
- package/lib/services/object_storage.js +93 -528
- package/lib/services/observability.d.ts +8 -407
- package/lib/services/observability.d.ts.map +1 -1
- package/lib/services/observability.js +375 -3148
- package/lib/services/opensearch.d.ts +8 -71
- package/lib/services/opensearch.d.ts.map +1 -1
- package/lib/services/opensearch.js +85 -553
- package/lib/services/pim.d.ts +12 -108
- package/lib/services/pim.d.ts.map +1 -1
- package/lib/services/pim.js +81 -726
- package/lib/services/postgres_flex.d.ts +14 -136
- package/lib/services/postgres_flex.d.ts.map +1 -1
- package/lib/services/postgres_flex.js +114 -841
- package/lib/services/pubsub.d.ts +11 -73
- package/lib/services/pubsub.d.ts.map +1 -1
- package/lib/services/pubsub.js +92 -507
- package/lib/services/rabbitmq.d.ts +8 -76
- package/lib/services/rabbitmq.d.ts.map +1 -1
- package/lib/services/rabbitmq.js +88 -564
- package/lib/services/registry.d.ts +10 -28
- package/lib/services/registry.d.ts.map +1 -1
- package/lib/services/registry.js +49 -189
- package/lib/services/resource_manager.d.ts +9 -61
- package/lib/services/resource_manager.d.ts.map +1 -1
- package/lib/services/resource_manager.js +92 -462
- package/lib/services/run_command.d.ts +5 -28
- package/lib/services/run_command.d.ts.map +1 -1
- package/lib/services/run_command.js +38 -176
- package/lib/services/sca.d.ts +8 -79
- package/lib/services/sca.d.ts.map +1 -1
- package/lib/services/sca.js +63 -435
- package/lib/services/scf.d.ts +8 -64
- package/lib/services/scf.d.ts.map +1 -1
- package/lib/services/scf.js +99 -660
- package/lib/services/secrets_manager.d.ts +8 -61
- package/lib/services/secrets_manager.d.ts.map +1 -1
- package/lib/services/secrets_manager.js +99 -601
- package/lib/services/server_backup.d.ts +7 -50
- package/lib/services/server_backup.d.ts.map +1 -1
- package/lib/services/server_backup.js +70 -444
- package/lib/services/server_update.d.ts +7 -35
- package/lib/services/server_update.d.ts.map +1 -1
- package/lib/services/server_update.js +58 -342
- package/lib/services/service_account.d.ts +10 -68
- package/lib/services/service_account.d.ts.map +1 -1
- package/lib/services/service_account.js +75 -495
- package/lib/services/service_enablement.d.ts +7 -29
- package/lib/services/service_enablement.d.ts.map +1 -1
- package/lib/services/service_enablement.js +40 -147
- package/lib/services/sfs.d.ts +4 -96
- package/lib/services/sfs.d.ts.map +1 -1
- package/lib/services/sfs.js +117 -782
- package/lib/services/ske.d.ts +9 -108
- package/lib/services/ske.d.ts.map +1 -1
- package/lib/services/ske.js +67 -549
- package/lib/services/sqlserverflex.d.ts +11 -152
- package/lib/services/sqlserverflex.d.ts.map +1 -1
- package/lib/services/sqlserverflex.js +112 -925
- package/lib/services/stackit_marketplace.d.ts +9 -38
- package/lib/services/stackit_marketplace.d.ts.map +1 -1
- package/lib/services/stackit_marketplace.js +64 -369
- package/lib/services/telemetry_link.d.ts +8 -61
- package/lib/services/telemetry_link.d.ts.map +1 -1
- package/lib/services/telemetry_link.js +81 -522
- package/lib/services/telemetry_router.d.ts +8 -72
- package/lib/services/telemetry_router.d.ts.map +1 -1
- package/lib/services/telemetry_router.js +73 -474
- package/lib/services/ufw.d.ts +7 -42
- package/lib/services/ufw.d.ts.map +1 -1
- package/lib/services/ufw.js +55 -269
- package/lib/services/valkey.d.ts +8 -68
- package/lib/services/valkey.d.ts.map +1 -1
- package/lib/services/valkey.js +85 -557
- package/lib/services/vpn.d.ts +21 -186
- package/lib/services/vpn.d.ts.map +1 -1
- package/lib/services/vpn.js +105 -920
- package/lib/services/workflows.d.ts +15 -84
- package/lib/services/workflows.d.ts.map +1 -1
- package/lib/services/workflows.js +67 -497
- package/lib/traits.d.ts +1 -1
- package/lib/traits.js +10 -10
- package/package.json +13 -9
- package/src/credentials.ts +21 -18
- package/src/errors.ts +10 -14
- package/src/index.ts +2 -2
- package/src/pagination.ts +2 -2
- package/src/protocol.ts +12 -9
- package/src/retry.ts +6 -4
- package/src/services/alb.ts +599 -655
- package/src/services/alb_waf.ts +597 -637
- package/src/services/authorization.ts +400 -383
- package/src/services/automation.ts +422 -405
- package/src/services/cdn.ts +817 -1375
- package/src/services/certificates.ts +209 -190
- package/src/services/cost.ts +100 -207
- package/src/services/dns.ts +793 -833
- package/src/services/dremio.ts +356 -349
- package/src/services/edge.ts +406 -366
- package/src/services/functions.ts +465 -463
- package/src/services/git.ts +602 -547
- package/src/services/iaas.ts +3931 -3821
- package/src/services/intake.ts +521 -549
- package/src/services/kms.ts +715 -692
- package/src/services/lb_ip_lists.ts +173 -152
- package/src/services/load_balancer.ts +576 -619
- package/src/services/logme.ts +696 -641
- package/src/services/logs.ts +510 -493
- package/src/services/mariadb.ts +671 -604
- package/src/services/model_experiments.ts +343 -356
- package/src/services/model_serving.ts +337 -328
- package/src/services/mongodb_flex.ts +955 -1007
- package/src/services/object_storage.ts +614 -557
- package/src/services/observability.ts +3469 -3866
- package/src/services/opensearch.ts +679 -628
- package/src/services/pim.ts +672 -909
- package/src/services/postgres_flex.ts +966 -986
- package/src/services/pubsub.ts +524 -546
- package/src/services/rabbitmq.ts +693 -654
- package/src/services/registry.ts +227 -194
- package/src/services/resource_manager.ts +520 -517
- package/src/services/run_command.ts +219 -211
- package/src/services/sca.ts +543 -570
- package/src/services/scf.ts +790 -716
- package/src/services/secrets_manager.ts +707 -622
- package/src/services/server_backup.ts +490 -475
- package/src/services/server_update.ts +353 -356
- package/src/services/service_account.ts +515 -553
- package/src/services/service_enablement.ts +162 -166
- package/src/services/sfs.ts +879 -958
- package/src/services/ske.ts +694 -769
- package/src/services/sqlserverflex.ts +1042 -1117
- package/src/services/stackit_marketplace.ts +377 -372
- package/src/services/telemetry_link.ts +530 -531
- package/src/services/telemetry_router.ts +509 -534
- package/src/services/ufw.ts +305 -307
- package/src/services/valkey.ts +684 -629
- package/src/services/vpn.ts +935 -1195
- package/src/services/workflows.ts +426 -586
- package/src/traits.ts +1 -1
- package/lib/protocol.test.d.ts +0 -2
- package/lib/protocol.test.d.ts.map +0 -1
- package/lib/protocol.test.js +0 -181
- package/lib/protocol.test.js.map +0 -1
- package/lib/services/alb.js.map +0 -1
- package/lib/services/alb_waf.js.map +0 -1
- package/lib/services/authorization.js.map +0 -1
- package/lib/services/automation.js.map +0 -1
- package/lib/services/cdn.js.map +0 -1
- package/lib/services/certificates.js.map +0 -1
- package/lib/services/cost.js.map +0 -1
- package/lib/services/dns.js.map +0 -1
- package/lib/services/dremio.js.map +0 -1
- package/lib/services/edge.js.map +0 -1
- package/lib/services/functions.js.map +0 -1
- package/lib/services/git.js.map +0 -1
- package/lib/services/iaas.js.map +0 -1
- package/lib/services/intake.js.map +0 -1
- package/lib/services/kms.js.map +0 -1
- package/lib/services/lb_ip_lists.js.map +0 -1
- package/lib/services/load_balancer.js.map +0 -1
- package/lib/services/logme.js.map +0 -1
- package/lib/services/logs.js.map +0 -1
- package/lib/services/mariadb.js.map +0 -1
- package/lib/services/model_experiments.js.map +0 -1
- package/lib/services/model_serving.js.map +0 -1
- package/lib/services/mongodb_flex.js.map +0 -1
- package/lib/services/object_storage.js.map +0 -1
- package/lib/services/observability.js.map +0 -1
- package/lib/services/opensearch.js.map +0 -1
- package/lib/services/pim.js.map +0 -1
- package/lib/services/postgres_flex.js.map +0 -1
- package/lib/services/pubsub.js.map +0 -1
- package/lib/services/rabbitmq.js.map +0 -1
- package/lib/services/registry.js.map +0 -1
- package/lib/services/resource_manager.js.map +0 -1
- package/lib/services/run_command.js.map +0 -1
- package/lib/services/sca.js.map +0 -1
- package/lib/services/scf.js.map +0 -1
- package/lib/services/secrets_manager.js.map +0 -1
- package/lib/services/server_backup.js.map +0 -1
- package/lib/services/server_update.js.map +0 -1
- package/lib/services/service_account.js.map +0 -1
- package/lib/services/service_enablement.js.map +0 -1
- package/lib/services/sfs.js.map +0 -1
- package/lib/services/ske.js.map +0 -1
- package/lib/services/sqlserverflex.js.map +0 -1
- package/lib/services/stackit_marketplace.js.map +0 -1
- package/lib/services/telemetry_link.js.map +0 -1
- package/lib/services/telemetry_router.js.map +0 -1
- package/lib/services/ufw.js.map +0 -1
- package/lib/services/valkey.js.map +0 -1
- package/lib/services/vpn.js.map +0 -1
- package/lib/services/workflows.js.map +0 -1
- package/src/protocol.test.ts +0 -304
|
@@ -1,12 +1,15 @@
|
|
|
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";
|
|
5
|
-
import * as
|
|
4
|
+
import * as S from "@distilled.cloud/core/schema-lite";
|
|
5
|
+
import * as __L from "@distilled.cloud/core/schema-lite";
|
|
6
|
+
import type * as Redacted from "effect/Redacted";
|
|
6
7
|
import { UnknownStackitError } from "../errors.ts";
|
|
7
8
|
import { StackitProtocol, type StackitOpError, type StackitOpContext } from "../protocol.ts";
|
|
8
9
|
import * as Retry from "../retry.ts";
|
|
9
10
|
import * as T from "../traits.ts";
|
|
11
|
+
// Schema table, filled on first reach (see __S at the end).
|
|
12
|
+
const __s: any[] = [];
|
|
10
13
|
|
|
11
14
|
export type { StackitOpError, StackitOpContext };
|
|
12
15
|
|
|
@@ -56,23 +59,6 @@ export interface CreateCredentialsRequest {
|
|
|
56
59
|
/** A valid username used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
57
60
|
username?: string;
|
|
58
61
|
}
|
|
59
|
-
export const CreateCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
60
|
-
S.Struct({
|
|
61
|
-
projectId: S.String.pipe(T.Label()),
|
|
62
|
-
region: S.String.pipe(T.Label()),
|
|
63
|
-
displayName: S.optional(S.String),
|
|
64
|
-
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
65
|
-
username: S.optional(S.String),
|
|
66
|
-
}).pipe(
|
|
67
|
-
T.Http({
|
|
68
|
-
method: "POST",
|
|
69
|
-
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
70
|
-
code: 200,
|
|
71
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
72
|
-
}),
|
|
73
|
-
),
|
|
74
|
-
).annotate({ identifier: "CreateCredentialsRequest" }) as any as S.Schema<CreateCredentialsRequest>;
|
|
75
|
-
|
|
76
62
|
export interface CredentialsResponse {
|
|
77
63
|
/** The credentials reference can be used for observability of the Load Balancer. */
|
|
78
64
|
credentialsRef?: string;
|
|
@@ -83,33 +69,11 @@ export interface CredentialsResponse {
|
|
|
83
69
|
/** The username used for the STACKIT Observability instance */
|
|
84
70
|
username?: string;
|
|
85
71
|
}
|
|
86
|
-
export const CredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
87
|
-
S.Struct({
|
|
88
|
-
credentialsRef: S.optional(S.String),
|
|
89
|
-
displayName: S.optional(S.String),
|
|
90
|
-
region: S.optional(S.String),
|
|
91
|
-
username: S.optional(S.String),
|
|
92
|
-
}),
|
|
93
|
-
).annotate({ identifier: "CredentialsResponse" }) as any as S.Schema<CredentialsResponse>;
|
|
94
|
-
|
|
95
72
|
export interface CreateCredentialsResponse {
|
|
96
73
|
credential?: CredentialsResponse;
|
|
97
74
|
}
|
|
98
|
-
export const CreateCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
99
|
-
S.Struct({
|
|
100
|
-
credential: S.optional(CredentialsResponse),
|
|
101
|
-
}),
|
|
102
|
-
).annotate({
|
|
103
|
-
identifier: "CreateCredentialsResponse",
|
|
104
|
-
}) as any as S.Schema<CreateCredentialsResponse>;
|
|
105
|
-
|
|
106
75
|
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per LB. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
|
|
107
76
|
export type CreateLoadBalancerRequestLabelsMap = { [key: string]: string | undefined };
|
|
108
|
-
export const CreateLoadBalancerRequestLabelsMap = /*@__PURE__*/ S.Record(
|
|
109
|
-
S.String,
|
|
110
|
-
S.String,
|
|
111
|
-
) as any as S.Schema<CreateLoadBalancerRequestLabelsMap>;
|
|
112
|
-
|
|
113
77
|
/** Protocol is the highest network protocol we understand to load balance. Currently only PROTOCOL_TCP, PROTOCOL_TCP_PROXY and PROTOCOL_TLS_PASSTHROUGH are supported. */
|
|
114
78
|
export type ListenerInputProtocol =
|
|
115
79
|
| "PROTOCOL_UNSPECIFIED"
|
|
@@ -117,46 +81,22 @@ export type ListenerInputProtocol =
|
|
|
117
81
|
| "PROTOCOL_UDP"
|
|
118
82
|
| "PROTOCOL_TCP_PROXY"
|
|
119
83
|
| "PROTOCOL_TLS_PASSTHROUGH";
|
|
120
|
-
export const ListenerInputProtocol = S.String;
|
|
121
|
-
|
|
122
84
|
export interface ServerNameIndicator {
|
|
123
85
|
/** The domain name for this SNI config. */
|
|
124
86
|
name?: string;
|
|
125
87
|
}
|
|
126
|
-
export const ServerNameIndicator = /*@__PURE__*/ S.suspend(() =>
|
|
127
|
-
S.Struct({
|
|
128
|
-
name: S.optional(S.String),
|
|
129
|
-
}),
|
|
130
|
-
).annotate({ identifier: "ServerNameIndicator" }) as any as S.Schema<ServerNameIndicator>;
|
|
131
|
-
|
|
132
88
|
/** Server Name Indicators config for domains to be routed to the desired target pool for this listener. */
|
|
133
89
|
export type ListenerInputServerNameIndicatorsList = Array<ServerNameIndicator>;
|
|
134
|
-
export const ListenerInputServerNameIndicatorsList = /*@__PURE__*/ S.Array(
|
|
135
|
-
ServerNameIndicator,
|
|
136
|
-
) as any as S.Schema<ListenerInputServerNameIndicatorsList>;
|
|
137
|
-
|
|
138
90
|
/** ProtocolOptionsTCP options to be configured for the PROTOCOL_TCP, PROTOCOL_TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH protocols. TCP options for the SNI listeners with the same port must be the same. */
|
|
139
91
|
export interface OptionsTCP {
|
|
140
92
|
/** The connection idle timeout to be used with the protocol. The default value is set to 5 minutes, and the maximum value is one hour. */
|
|
141
93
|
idleTimeout?: string;
|
|
142
94
|
}
|
|
143
|
-
export const OptionsTCP = /*@__PURE__*/ S.suspend(() =>
|
|
144
|
-
S.Struct({
|
|
145
|
-
idleTimeout: S.optional(S.String),
|
|
146
|
-
}),
|
|
147
|
-
).annotate({ identifier: "OptionsTCP" }) as any as S.Schema<OptionsTCP>;
|
|
148
|
-
|
|
149
95
|
/** ProtocolOptionsUDP options to be configured for the PROTOCOL_UDP protocol. */
|
|
150
96
|
export interface OptionsUDP {
|
|
151
97
|
/** The connection idle timeout to be used with the protocol. The default value is set to 1 minute, and the maximum value is 2 minutes. */
|
|
152
98
|
idleTimeout?: string;
|
|
153
99
|
}
|
|
154
|
-
export const OptionsUDP = /*@__PURE__*/ S.suspend(() =>
|
|
155
|
-
S.Struct({
|
|
156
|
-
idleTimeout: S.optional(S.String),
|
|
157
|
-
}),
|
|
158
|
-
).annotate({ identifier: "OptionsUDP" }) as any as S.Schema<OptionsUDP>;
|
|
159
|
-
|
|
160
100
|
export interface ListenerInput {
|
|
161
101
|
displayName?: string;
|
|
162
102
|
/** Port number where we listen for traffic */
|
|
@@ -170,112 +110,46 @@ export interface ListenerInput {
|
|
|
170
110
|
tcp?: OptionsTCP;
|
|
171
111
|
udp?: OptionsUDP;
|
|
172
112
|
}
|
|
173
|
-
export const ListenerInput = /*@__PURE__*/ S.suspend(() =>
|
|
174
|
-
S.Struct({
|
|
175
|
-
displayName: S.optional(S.String),
|
|
176
|
-
port: S.optional(S.Number),
|
|
177
|
-
protocol: S.optional(ListenerInputProtocol),
|
|
178
|
-
serverNameIndicators: S.optional(ListenerInputServerNameIndicatorsList),
|
|
179
|
-
targetPool: S.optional(S.String),
|
|
180
|
-
tcp: S.optional(OptionsTCP),
|
|
181
|
-
udp: S.optional(OptionsUDP),
|
|
182
|
-
}),
|
|
183
|
-
).annotate({ identifier: "ListenerInput" }) as any as S.Schema<ListenerInput>;
|
|
184
|
-
|
|
185
113
|
/** There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. */
|
|
186
114
|
export type CreateLoadBalancerRequestListenersList = Array<ListenerInput>;
|
|
187
|
-
export const CreateLoadBalancerRequestListenersList = /*@__PURE__*/ S.Array(
|
|
188
|
-
ListenerInput,
|
|
189
|
-
) as any as S.Schema<CreateLoadBalancerRequestListenersList>;
|
|
190
|
-
|
|
191
115
|
/** The role defines how the load balancer is using the network. Currently only ROLE_LISTENERS_AND_TARGETS is supported. */
|
|
192
116
|
export type NetworkRole =
|
|
193
117
|
| "ROLE_UNSPECIFIED"
|
|
194
118
|
| "ROLE_LISTENERS_AND_TARGETS"
|
|
195
119
|
| "ROLE_LISTENERS"
|
|
196
120
|
| "ROLE_TARGETS";
|
|
197
|
-
export const NetworkRole = S.String;
|
|
198
|
-
|
|
199
121
|
export interface Network {
|
|
200
122
|
/** Openstack network ID */
|
|
201
123
|
networkId?: string;
|
|
202
124
|
/** The role defines how the load balancer is using the network. Currently only ROLE_LISTENERS_AND_TARGETS is supported. */
|
|
203
125
|
role?: NetworkRole | (string & {});
|
|
204
126
|
}
|
|
205
|
-
export const Network = /*@__PURE__*/ S.suspend(() =>
|
|
206
|
-
S.Struct({
|
|
207
|
-
networkId: S.optional(S.String),
|
|
208
|
-
role: S.optional(NetworkRole),
|
|
209
|
-
}),
|
|
210
|
-
).annotate({ identifier: "Network" }) as any as S.Schema<Network>;
|
|
211
|
-
|
|
212
127
|
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
213
128
|
export type CreateLoadBalancerRequestNetworksList = Array<Network>;
|
|
214
|
-
export const CreateLoadBalancerRequestNetworksList = /*@__PURE__*/ S.Array(
|
|
215
|
-
Network,
|
|
216
|
-
) as any as S.Schema<CreateLoadBalancerRequestNetworksList>;
|
|
217
|
-
|
|
218
129
|
/** Load Balancer is accessible only from an IP address in this range */
|
|
219
130
|
export type LoadbalancerOptionAccessControlAllowedSourceRangesList = Array<string>;
|
|
220
|
-
export const LoadbalancerOptionAccessControlAllowedSourceRangesList = /*@__PURE__*/ S.Array(
|
|
221
|
-
S.String,
|
|
222
|
-
) as any as S.Schema<LoadbalancerOptionAccessControlAllowedSourceRangesList>;
|
|
223
|
-
|
|
224
131
|
/** Use this option to limit the IP ranges that can use the load balancer. */
|
|
225
132
|
export interface LoadbalancerOptionAccessControl {
|
|
226
133
|
/** Load Balancer is accessible only from an IP address in this range */
|
|
227
134
|
allowedSourceRanges?: LoadbalancerOptionAccessControlAllowedSourceRangesList;
|
|
228
135
|
}
|
|
229
|
-
export const LoadbalancerOptionAccessControl = /*@__PURE__*/ S.suspend(() =>
|
|
230
|
-
S.Struct({
|
|
231
|
-
allowedSourceRanges: S.optional(LoadbalancerOptionAccessControlAllowedSourceRangesList),
|
|
232
|
-
}),
|
|
233
|
-
).annotate({
|
|
234
|
-
identifier: "LoadbalancerOptionAccessControl",
|
|
235
|
-
}) as any as S.Schema<LoadbalancerOptionAccessControl>;
|
|
236
|
-
|
|
237
136
|
export interface LoadbalancerOptionLogs {
|
|
238
137
|
/** Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Load Balancer. */
|
|
239
138
|
credentialsRef?: string;
|
|
240
139
|
/** The Observability(Logs)/Loki remote write Push URL you want the logs to be shipped to. */
|
|
241
140
|
pushUrl?: string;
|
|
242
141
|
}
|
|
243
|
-
export const LoadbalancerOptionLogs = /*@__PURE__*/ S.suspend(() =>
|
|
244
|
-
S.Struct({
|
|
245
|
-
credentialsRef: S.optional(S.String),
|
|
246
|
-
pushUrl: S.optional(S.String),
|
|
247
|
-
}),
|
|
248
|
-
).annotate({ identifier: "LoadbalancerOptionLogs" }) as any as S.Schema<LoadbalancerOptionLogs>;
|
|
249
|
-
|
|
250
142
|
export interface LoadbalancerOptionMetrics {
|
|
251
143
|
/** Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Load Balancer. */
|
|
252
144
|
credentialsRef?: string;
|
|
253
145
|
/** The Observability(Metrics)/Prometheus remote write push URL you want the metrics to be shipped to. */
|
|
254
146
|
pushUrl?: string;
|
|
255
147
|
}
|
|
256
|
-
export const LoadbalancerOptionMetrics = /*@__PURE__*/ S.suspend(() =>
|
|
257
|
-
S.Struct({
|
|
258
|
-
credentialsRef: S.optional(S.String),
|
|
259
|
-
pushUrl: S.optional(S.String),
|
|
260
|
-
}),
|
|
261
|
-
).annotate({
|
|
262
|
-
identifier: "LoadbalancerOptionMetrics",
|
|
263
|
-
}) as any as S.Schema<LoadbalancerOptionMetrics>;
|
|
264
|
-
|
|
265
148
|
/** We offer Load Balancer observability via STACKIT Observability or external solutions. */
|
|
266
149
|
export interface LoadbalancerOptionObservability {
|
|
267
150
|
logs?: LoadbalancerOptionLogs;
|
|
268
151
|
metrics?: LoadbalancerOptionMetrics;
|
|
269
152
|
}
|
|
270
|
-
export const LoadbalancerOptionObservability = /*@__PURE__*/ S.suspend(() =>
|
|
271
|
-
S.Struct({
|
|
272
|
-
logs: S.optional(LoadbalancerOptionLogs),
|
|
273
|
-
metrics: S.optional(LoadbalancerOptionMetrics),
|
|
274
|
-
}),
|
|
275
|
-
).annotate({
|
|
276
|
-
identifier: "LoadbalancerOptionObservability",
|
|
277
|
-
}) as any as S.Schema<LoadbalancerOptionObservability>;
|
|
278
|
-
|
|
279
153
|
/** Defines any optional functionality you want to have enabled on your load balancer. */
|
|
280
154
|
export interface LoadBalancerOptions {
|
|
281
155
|
accessControl?: LoadbalancerOptionAccessControl;
|
|
@@ -284,21 +158,8 @@ export interface LoadBalancerOptions {
|
|
|
284
158
|
/** Load Balancer is accessible only via a private network ip address. Not changeable after creation. */
|
|
285
159
|
privateNetworkOnly?: boolean;
|
|
286
160
|
}
|
|
287
|
-
export const LoadBalancerOptions = /*@__PURE__*/ S.suspend(() =>
|
|
288
|
-
S.Struct({
|
|
289
|
-
accessControl: S.optional(LoadbalancerOptionAccessControl),
|
|
290
|
-
ephemeralAddress: S.optional(S.Boolean),
|
|
291
|
-
observability: S.optional(LoadbalancerOptionObservability),
|
|
292
|
-
privateNetworkOnly: S.optional(S.Boolean),
|
|
293
|
-
}),
|
|
294
|
-
).annotate({ identifier: "LoadBalancerOptions" }) as any as S.Schema<LoadBalancerOptions>;
|
|
295
|
-
|
|
296
161
|
/** List of HTTP status codes that indicate a healthy response */
|
|
297
162
|
export type HttpHealthChecksOkStatusesList = Array<string>;
|
|
298
|
-
export const HttpHealthChecksOkStatusesList = /*@__PURE__*/ S.Array(
|
|
299
|
-
S.String,
|
|
300
|
-
) as any as S.Schema<HttpHealthChecksOkStatusesList>;
|
|
301
|
-
|
|
302
163
|
/** Set this to configure TLS settings. */
|
|
303
164
|
export interface TlsConfig {
|
|
304
165
|
/** Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. */
|
|
@@ -308,14 +169,6 @@ export interface TlsConfig {
|
|
|
308
169
|
/** Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! */
|
|
309
170
|
skipCertificateValidation?: boolean;
|
|
310
171
|
}
|
|
311
|
-
export const TlsConfig = /*@__PURE__*/ S.suspend(() =>
|
|
312
|
-
S.Struct({
|
|
313
|
-
customCa: S.optional(S.String),
|
|
314
|
-
enabled: S.optional(S.Boolean),
|
|
315
|
-
skipCertificateValidation: S.optional(S.Boolean),
|
|
316
|
-
}),
|
|
317
|
-
).annotate({ identifier: "TlsConfig" }) as any as S.Schema<TlsConfig>;
|
|
318
|
-
|
|
319
172
|
/** Options for the HTTP health checking. */
|
|
320
173
|
export interface HttpHealthChecks {
|
|
321
174
|
/** List of HTTP status codes that indicate a healthy response */
|
|
@@ -324,14 +177,6 @@ export interface HttpHealthChecks {
|
|
|
324
177
|
path?: string;
|
|
325
178
|
tls?: TlsConfig;
|
|
326
179
|
}
|
|
327
|
-
export const HttpHealthChecks = /*@__PURE__*/ S.suspend(() =>
|
|
328
|
-
S.Struct({
|
|
329
|
-
okStatuses: S.optional(HttpHealthChecksOkStatusesList),
|
|
330
|
-
path: S.optional(S.String),
|
|
331
|
-
tls: S.optional(TlsConfig),
|
|
332
|
-
}),
|
|
333
|
-
).annotate({ identifier: "HttpHealthChecks" }) as any as S.Schema<HttpHealthChecks>;
|
|
334
|
-
|
|
335
180
|
export interface ActiveHealthCheck {
|
|
336
181
|
/** Overrides the default port used for health check probes. */
|
|
337
182
|
altPort?: number;
|
|
@@ -347,47 +192,18 @@ export interface ActiveHealthCheck {
|
|
|
347
192
|
/** Unhealthy threshold of the health checking */
|
|
348
193
|
unhealthyThreshold?: number;
|
|
349
194
|
}
|
|
350
|
-
export const ActiveHealthCheck = /*@__PURE__*/ S.suspend(() =>
|
|
351
|
-
S.Struct({
|
|
352
|
-
altPort: S.optional(S.Number),
|
|
353
|
-
healthyThreshold: S.optional(S.Number),
|
|
354
|
-
httpHealthChecks: S.optional(HttpHealthChecks),
|
|
355
|
-
interval: S.optional(S.String),
|
|
356
|
-
intervalJitter: S.optional(S.String),
|
|
357
|
-
timeout: S.optional(S.String),
|
|
358
|
-
unhealthyThreshold: S.optional(S.Number),
|
|
359
|
-
}),
|
|
360
|
-
).annotate({ identifier: "ActiveHealthCheck" }) as any as S.Schema<ActiveHealthCheck>;
|
|
361
|
-
|
|
362
195
|
export interface SessionPersistence {
|
|
363
196
|
/** If enabled then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. */
|
|
364
197
|
useSourceIpAddress?: boolean;
|
|
365
198
|
}
|
|
366
|
-
export const SessionPersistence = /*@__PURE__*/ S.suspend(() =>
|
|
367
|
-
S.Struct({
|
|
368
|
-
useSourceIpAddress: S.optional(S.Boolean),
|
|
369
|
-
}),
|
|
370
|
-
).annotate({ identifier: "SessionPersistence" }) as any as S.Schema<SessionPersistence>;
|
|
371
|
-
|
|
372
199
|
export interface Target {
|
|
373
200
|
/** Target name */
|
|
374
201
|
displayName?: string;
|
|
375
202
|
/** Target IP. Must by unique within a target pool. */
|
|
376
203
|
ip?: string;
|
|
377
204
|
}
|
|
378
|
-
export const Target = /*@__PURE__*/ S.suspend(() =>
|
|
379
|
-
S.Struct({
|
|
380
|
-
displayName: S.optional(S.String),
|
|
381
|
-
ip: S.optional(S.String),
|
|
382
|
-
}),
|
|
383
|
-
).annotate({ identifier: "Target" }) as any as S.Schema<Target>;
|
|
384
|
-
|
|
385
205
|
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
386
206
|
export type TargetPoolTargetsList = Array<Target>;
|
|
387
|
-
export const TargetPoolTargetsList = /*@__PURE__*/ S.Array(
|
|
388
|
-
Target,
|
|
389
|
-
) as any as S.Schema<TargetPoolTargetsList>;
|
|
390
|
-
|
|
391
207
|
export interface TargetPool {
|
|
392
208
|
activeHealthCheck?: ActiveHealthCheck;
|
|
393
209
|
/** Target pool name */
|
|
@@ -398,22 +214,8 @@ export interface TargetPool {
|
|
|
398
214
|
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
399
215
|
targets?: TargetPoolTargetsList;
|
|
400
216
|
}
|
|
401
|
-
export const TargetPool = /*@__PURE__*/ S.suspend(() =>
|
|
402
|
-
S.Struct({
|
|
403
|
-
activeHealthCheck: S.optional(ActiveHealthCheck),
|
|
404
|
-
name: S.optional(S.String),
|
|
405
|
-
sessionPersistence: S.optional(SessionPersistence),
|
|
406
|
-
targetPort: S.optional(S.Number),
|
|
407
|
-
targets: S.optional(TargetPoolTargetsList),
|
|
408
|
-
}),
|
|
409
|
-
).annotate({ identifier: "TargetPool" }) as any as S.Schema<TargetPool>;
|
|
410
|
-
|
|
411
217
|
/** List of all target pools which will be used in the load balancer. Limited to 20. */
|
|
412
218
|
export type CreateLoadBalancerRequestTargetPoolsList = Array<TargetPool>;
|
|
413
|
-
export const CreateLoadBalancerRequestTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
414
|
-
TargetPool,
|
|
415
|
-
) as any as S.Schema<CreateLoadBalancerRequestTargetPoolsList>;
|
|
416
|
-
|
|
417
219
|
export interface CreateLoadBalancerRequest {
|
|
418
220
|
projectId: string;
|
|
419
221
|
region: string;
|
|
@@ -437,32 +239,6 @@ export interface CreateLoadBalancerRequest {
|
|
|
437
239
|
/** Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case. */
|
|
438
240
|
version?: string;
|
|
439
241
|
}
|
|
440
|
-
export const CreateLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
441
|
-
S.Struct({
|
|
442
|
-
projectId: S.String.pipe(T.Label()),
|
|
443
|
-
region: S.String.pipe(T.Label()),
|
|
444
|
-
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
445
|
-
externalAddress: S.optional(S.String),
|
|
446
|
-
labels: S.optional(CreateLoadBalancerRequestLabelsMap),
|
|
447
|
-
listeners: S.optional(CreateLoadBalancerRequestListenersList),
|
|
448
|
-
name: S.optional(S.String),
|
|
449
|
-
networks: S.optional(CreateLoadBalancerRequestNetworksList),
|
|
450
|
-
options: S.optional(LoadBalancerOptions),
|
|
451
|
-
planId: S.optional(S.String),
|
|
452
|
-
targetPools: S.optional(CreateLoadBalancerRequestTargetPoolsList),
|
|
453
|
-
version: S.optional(S.String),
|
|
454
|
-
}).pipe(
|
|
455
|
-
T.Http({
|
|
456
|
-
method: "POST",
|
|
457
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
458
|
-
code: 200,
|
|
459
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
460
|
-
}),
|
|
461
|
-
),
|
|
462
|
-
).annotate({
|
|
463
|
-
identifier: "CreateLoadBalancerRequest",
|
|
464
|
-
}) as any as S.Schema<CreateLoadBalancerRequest>;
|
|
465
|
-
|
|
466
242
|
/** The error type specifies which part of the load balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the load balancer with try to use the provided IP and if not available reports TYPE_FIP_NOT_CONFIGURED error or TYPE_FIP_NOT_FOUND if the IP was deleted. */
|
|
467
243
|
export type LoadBalancerErrorType =
|
|
468
244
|
| "TYPE_UNSPECIFIED"
|
|
@@ -478,34 +254,16 @@ export type LoadBalancerErrorType =
|
|
|
478
254
|
| "TYPE_IP_EXHAUSTED"
|
|
479
255
|
| "TYPE_DNS_NOT_CONFIGURED"
|
|
480
256
|
| "TYPE_VM_PORT_NOT_CONFIGURED";
|
|
481
|
-
export const LoadBalancerErrorType = S.String;
|
|
482
|
-
|
|
483
257
|
export interface LoadBalancerError {
|
|
484
258
|
/** The error description contains additional helpful user information to fix the error state of the load balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found or if the IP was deleted then you will get a proper error message. */
|
|
485
259
|
description?: string;
|
|
486
260
|
/** The error type specifies which part of the load balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the load balancer with try to use the provided IP and if not available reports TYPE_FIP_NOT_CONFIGURED error or TYPE_FIP_NOT_FOUND if the IP was deleted. */
|
|
487
261
|
type?: LoadBalancerErrorType;
|
|
488
262
|
}
|
|
489
|
-
export const LoadBalancerError = /*@__PURE__*/ S.suspend(() =>
|
|
490
|
-
S.Struct({
|
|
491
|
-
description: S.optional(S.String),
|
|
492
|
-
type: S.optional(LoadBalancerErrorType),
|
|
493
|
-
}),
|
|
494
|
-
).annotate({ identifier: "LoadBalancerError" }) as any as S.Schema<LoadBalancerError>;
|
|
495
|
-
|
|
496
263
|
/** Reports all errors a load balancer has. */
|
|
497
264
|
export type LoadBalancerErrorsList = Array<LoadBalancerError>;
|
|
498
|
-
export const LoadBalancerErrorsList = /*@__PURE__*/ S.Array(
|
|
499
|
-
LoadBalancerError,
|
|
500
|
-
) as any as S.Schema<LoadBalancerErrorsList>;
|
|
501
|
-
|
|
502
265
|
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per LB. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
|
|
503
266
|
export type LoadBalancerLabelsMap = { [key: string]: string | undefined };
|
|
504
|
-
export const LoadBalancerLabelsMap = /*@__PURE__*/ S.Record(
|
|
505
|
-
S.String,
|
|
506
|
-
S.String,
|
|
507
|
-
) as any as S.Schema<LoadBalancerLabelsMap>;
|
|
508
|
-
|
|
509
267
|
/** Protocol is the highest network protocol we understand to load balance. Currently only PROTOCOL_TCP, PROTOCOL_TCP_PROXY and PROTOCOL_TLS_PASSTHROUGH are supported. */
|
|
510
268
|
export type ListenerProtocol =
|
|
511
269
|
| "PROTOCOL_UNSPECIFIED"
|
|
@@ -513,14 +271,8 @@ export type ListenerProtocol =
|
|
|
513
271
|
| "PROTOCOL_UDP"
|
|
514
272
|
| "PROTOCOL_TCP_PROXY"
|
|
515
273
|
| "PROTOCOL_TLS_PASSTHROUGH";
|
|
516
|
-
export const ListenerProtocol = S.String;
|
|
517
|
-
|
|
518
274
|
/** Server Name Indicators config for domains to be routed to the desired target pool for this listener. */
|
|
519
275
|
export type ListenerServerNameIndicatorsList = Array<ServerNameIndicator>;
|
|
520
|
-
export const ListenerServerNameIndicatorsList = /*@__PURE__*/ S.Array(
|
|
521
|
-
ServerNameIndicator,
|
|
522
|
-
) as any as S.Schema<ListenerServerNameIndicatorsList>;
|
|
523
|
-
|
|
524
276
|
export interface Listener {
|
|
525
277
|
displayName?: string;
|
|
526
278
|
/** Will be used to reference a listener and will replace display name in the future. Currently uses <protocol>-<port> as the name if no display name is given. */
|
|
@@ -536,58 +288,24 @@ export interface Listener {
|
|
|
536
288
|
tcp?: OptionsTCP;
|
|
537
289
|
udp?: OptionsUDP;
|
|
538
290
|
}
|
|
539
|
-
export const Listener = /*@__PURE__*/ S.suspend(() =>
|
|
540
|
-
S.Struct({
|
|
541
|
-
displayName: S.optional(S.String),
|
|
542
|
-
name: S.optional(S.String),
|
|
543
|
-
port: S.optional(S.Number),
|
|
544
|
-
protocol: S.optional(ListenerProtocol),
|
|
545
|
-
serverNameIndicators: S.optional(ListenerServerNameIndicatorsList),
|
|
546
|
-
targetPool: S.optional(S.String),
|
|
547
|
-
tcp: S.optional(OptionsTCP),
|
|
548
|
-
udp: S.optional(OptionsUDP),
|
|
549
|
-
}),
|
|
550
|
-
).annotate({ identifier: "Listener" }) as any as S.Schema<Listener>;
|
|
551
|
-
|
|
552
291
|
/** There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. */
|
|
553
292
|
export type LoadBalancerListenersList = Array<Listener>;
|
|
554
|
-
export const LoadBalancerListenersList = /*@__PURE__*/ S.Array(
|
|
555
|
-
Listener,
|
|
556
|
-
) as any as S.Schema<LoadBalancerListenersList>;
|
|
557
|
-
|
|
558
293
|
export interface SecurityGroup {
|
|
559
294
|
/** ID of the security Group */
|
|
560
295
|
id?: string;
|
|
561
296
|
/** Name of the security Group */
|
|
562
297
|
name?: string;
|
|
563
298
|
}
|
|
564
|
-
export const SecurityGroup = /*@__PURE__*/ S.suspend(() =>
|
|
565
|
-
S.Struct({
|
|
566
|
-
id: S.optional(S.String),
|
|
567
|
-
name: S.optional(S.String),
|
|
568
|
-
}),
|
|
569
|
-
).annotate({ identifier: "SecurityGroup" }) as any as S.Schema<SecurityGroup>;
|
|
570
|
-
|
|
571
299
|
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
572
300
|
export type LoadBalancerNetworksList = Array<Network>;
|
|
573
|
-
export const LoadBalancerNetworksList = /*@__PURE__*/ S.Array(
|
|
574
|
-
Network,
|
|
575
|
-
) as any as S.Schema<LoadBalancerNetworksList>;
|
|
576
|
-
|
|
577
301
|
export type LoadBalancerStatus =
|
|
578
302
|
| "STATUS_UNSPECIFIED"
|
|
579
303
|
| "STATUS_PENDING"
|
|
580
304
|
| "STATUS_READY"
|
|
581
305
|
| "STATUS_ERROR"
|
|
582
306
|
| "STATUS_TERMINATING";
|
|
583
|
-
export const LoadBalancerStatus = S.String;
|
|
584
|
-
|
|
585
307
|
/** List of all target pools which will be used in the load balancer. Limited to 20. */
|
|
586
308
|
export type LoadBalancerTargetPoolsList = Array<TargetPool>;
|
|
587
|
-
export const LoadBalancerTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
588
|
-
TargetPool,
|
|
589
|
-
) as any as S.Schema<LoadBalancerTargetPoolsList>;
|
|
590
|
-
|
|
591
309
|
export interface LoadBalancer2 {
|
|
592
310
|
/** Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation. */
|
|
593
311
|
disableTargetSecurityGroupAssignment?: boolean;
|
|
@@ -620,150 +338,35 @@ export interface LoadBalancer2 {
|
|
|
620
338
|
/** Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case. */
|
|
621
339
|
version?: string;
|
|
622
340
|
}
|
|
623
|
-
export const LoadBalancer2 = /*@__PURE__*/ S.suspend(() =>
|
|
624
|
-
S.Struct({
|
|
625
|
-
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
626
|
-
errors: S.optional(LoadBalancerErrorsList),
|
|
627
|
-
externalAddress: S.optional(S.String),
|
|
628
|
-
labels: S.optional(LoadBalancerLabelsMap),
|
|
629
|
-
listeners: S.optional(LoadBalancerListenersList),
|
|
630
|
-
loadBalancerSecurityGroup: S.optional(SecurityGroup),
|
|
631
|
-
name: S.optional(S.String),
|
|
632
|
-
networks: S.optional(LoadBalancerNetworksList),
|
|
633
|
-
options: S.optional(LoadBalancerOptions),
|
|
634
|
-
planId: S.optional(S.String),
|
|
635
|
-
privateAddress: S.optional(S.String),
|
|
636
|
-
region: S.optional(S.String),
|
|
637
|
-
status: S.optional(LoadBalancerStatus),
|
|
638
|
-
targetPools: S.optional(LoadBalancerTargetPoolsList),
|
|
639
|
-
targetSecurityGroup: S.optional(SecurityGroup),
|
|
640
|
-
version: S.optional(S.String),
|
|
641
|
-
}),
|
|
642
|
-
).annotate({ identifier: "LoadBalancer2" }) as any as S.Schema<LoadBalancer2>;
|
|
643
|
-
|
|
644
341
|
export interface DeleteCredentialsRequest {
|
|
645
342
|
projectId: string;
|
|
646
343
|
region: string;
|
|
647
344
|
credentialsRef: string;
|
|
648
345
|
}
|
|
649
|
-
export const DeleteCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
650
|
-
S.Struct({
|
|
651
|
-
projectId: S.String.pipe(T.Label()),
|
|
652
|
-
region: S.String.pipe(T.Label()),
|
|
653
|
-
credentialsRef: S.String.pipe(T.Label()),
|
|
654
|
-
}).pipe(
|
|
655
|
-
T.Http({
|
|
656
|
-
method: "DELETE",
|
|
657
|
-
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
658
|
-
code: 200,
|
|
659
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
660
|
-
}),
|
|
661
|
-
),
|
|
662
|
-
).annotate({ identifier: "DeleteCredentialsRequest" }) as any as S.Schema<DeleteCredentialsRequest>;
|
|
663
|
-
|
|
664
346
|
export type DeleteCredentialsResponse2 = unknown;
|
|
665
|
-
export const DeleteCredentialsResponse2 = /*@__PURE__*/ S.suspend(() =>
|
|
666
|
-
S.Unknown.pipe(T.RawResponseRoot()),
|
|
667
|
-
).annotate({
|
|
668
|
-
identifier: "DeleteCredentialsResponse2",
|
|
669
|
-
}) as any as S.Schema<DeleteCredentialsResponse2>;
|
|
670
|
-
|
|
671
347
|
export interface DeleteLoadBalancerRequest {
|
|
672
348
|
projectId: string;
|
|
673
349
|
region: string;
|
|
674
350
|
name: string;
|
|
675
351
|
}
|
|
676
|
-
export const DeleteLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
677
|
-
S.Struct({
|
|
678
|
-
projectId: S.String.pipe(T.Label()),
|
|
679
|
-
region: S.String.pipe(T.Label()),
|
|
680
|
-
name: S.String.pipe(T.Label()),
|
|
681
|
-
}).pipe(
|
|
682
|
-
T.Http({
|
|
683
|
-
method: "DELETE",
|
|
684
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
685
|
-
code: 200,
|
|
686
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
687
|
-
}),
|
|
688
|
-
),
|
|
689
|
-
).annotate({
|
|
690
|
-
identifier: "DeleteLoadBalancerRequest",
|
|
691
|
-
}) as any as S.Schema<DeleteLoadBalancerRequest>;
|
|
692
|
-
|
|
693
352
|
export type DeleteLoadBalancerResponse2 = unknown;
|
|
694
|
-
export const DeleteLoadBalancerResponse2 = /*@__PURE__*/ S.suspend(() =>
|
|
695
|
-
S.Unknown.pipe(T.RawResponseRoot()),
|
|
696
|
-
).annotate({
|
|
697
|
-
identifier: "DeleteLoadBalancerResponse2",
|
|
698
|
-
}) as any as S.Schema<DeleteLoadBalancerResponse2>;
|
|
699
|
-
|
|
700
353
|
export interface GetCredentialsRequest {
|
|
701
354
|
projectId: string;
|
|
702
355
|
region: string;
|
|
703
356
|
credentialsRef: string;
|
|
704
357
|
}
|
|
705
|
-
export const GetCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
706
|
-
S.Struct({
|
|
707
|
-
projectId: S.String.pipe(T.Label()),
|
|
708
|
-
region: S.String.pipe(T.Label()),
|
|
709
|
-
credentialsRef: S.String.pipe(T.Label()),
|
|
710
|
-
}).pipe(
|
|
711
|
-
T.Http({
|
|
712
|
-
method: "GET",
|
|
713
|
-
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
714
|
-
code: 200,
|
|
715
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
716
|
-
}),
|
|
717
|
-
),
|
|
718
|
-
).annotate({ identifier: "GetCredentialsRequest" }) as any as S.Schema<GetCredentialsRequest>;
|
|
719
|
-
|
|
720
358
|
export interface GetCredentialsResponse {
|
|
721
359
|
credential?: CredentialsResponse;
|
|
722
360
|
}
|
|
723
|
-
export const GetCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
724
|
-
S.Struct({
|
|
725
|
-
credential: S.optional(CredentialsResponse),
|
|
726
|
-
}),
|
|
727
|
-
).annotate({ identifier: "GetCredentialsResponse" }) as any as S.Schema<GetCredentialsResponse>;
|
|
728
|
-
|
|
729
361
|
export interface GetLoadBalancerRequest {
|
|
730
362
|
projectId: string;
|
|
731
363
|
region: string;
|
|
732
364
|
name: string;
|
|
733
365
|
}
|
|
734
|
-
export const GetLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
735
|
-
S.Struct({
|
|
736
|
-
projectId: S.String.pipe(T.Label()),
|
|
737
|
-
region: S.String.pipe(T.Label()),
|
|
738
|
-
name: S.String.pipe(T.Label()),
|
|
739
|
-
}).pipe(
|
|
740
|
-
T.Http({
|
|
741
|
-
method: "GET",
|
|
742
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
743
|
-
code: 200,
|
|
744
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
745
|
-
}),
|
|
746
|
-
),
|
|
747
|
-
).annotate({ identifier: "GetLoadBalancerRequest" }) as any as S.Schema<GetLoadBalancerRequest>;
|
|
748
|
-
|
|
749
366
|
export interface GetQuotaRequest {
|
|
750
367
|
projectId: string;
|
|
751
368
|
region: string;
|
|
752
369
|
}
|
|
753
|
-
export const GetQuotaRequest = /*@__PURE__*/ S.suspend(() =>
|
|
754
|
-
S.Struct({
|
|
755
|
-
projectId: S.String.pipe(T.Label()),
|
|
756
|
-
region: S.String.pipe(T.Label()),
|
|
757
|
-
}).pipe(
|
|
758
|
-
T.Http({
|
|
759
|
-
method: "GET",
|
|
760
|
-
uri: "/v2/projects/{projectId}/regions/{region}/quota",
|
|
761
|
-
code: 200,
|
|
762
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
763
|
-
}),
|
|
764
|
-
),
|
|
765
|
-
).annotate({ identifier: "GetQuotaRequest" }) as any as S.Schema<GetQuotaRequest>;
|
|
766
|
-
|
|
767
370
|
export interface GetQuotaResponse {
|
|
768
371
|
/** The maximum number of observability credentials that can be stored in this project. */
|
|
769
372
|
maxCredentials?: number;
|
|
@@ -778,49 +381,14 @@ export interface GetQuotaResponse {
|
|
|
778
381
|
/** The number of load balancing servers that are currently existing in this project. */
|
|
779
382
|
usedLoadBalancers?: number;
|
|
780
383
|
}
|
|
781
|
-
export const GetQuotaResponse = /*@__PURE__*/ S.suspend(() =>
|
|
782
|
-
S.Struct({
|
|
783
|
-
maxCredentials: S.optional(S.Number),
|
|
784
|
-
maxLoadBalancers: S.optional(S.Number),
|
|
785
|
-
projectId: S.optional(S.String),
|
|
786
|
-
region: S.optional(S.String),
|
|
787
|
-
usedCredentials: S.optional(S.Number),
|
|
788
|
-
usedLoadBalancers: S.optional(S.Number),
|
|
789
|
-
}),
|
|
790
|
-
).annotate({ identifier: "GetQuotaResponse" }) as any as S.Schema<GetQuotaResponse>;
|
|
791
|
-
|
|
792
384
|
export interface ListCredentialsRequest {
|
|
793
385
|
projectId: string;
|
|
794
386
|
region: string;
|
|
795
387
|
}
|
|
796
|
-
export const ListCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
797
|
-
S.Struct({
|
|
798
|
-
projectId: S.String.pipe(T.Label()),
|
|
799
|
-
region: S.String.pipe(T.Label()),
|
|
800
|
-
}).pipe(
|
|
801
|
-
T.Http({
|
|
802
|
-
method: "GET",
|
|
803
|
-
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
804
|
-
code: 200,
|
|
805
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
806
|
-
}),
|
|
807
|
-
),
|
|
808
|
-
).annotate({ identifier: "ListCredentialsRequest" }) as any as S.Schema<ListCredentialsRequest>;
|
|
809
|
-
|
|
810
388
|
export type ListCredentialsResponseCredentialsList = Array<CredentialsResponse>;
|
|
811
|
-
export const ListCredentialsResponseCredentialsList = /*@__PURE__*/ S.Array(
|
|
812
|
-
CredentialsResponse,
|
|
813
|
-
) as any as S.Schema<ListCredentialsResponseCredentialsList>;
|
|
814
|
-
|
|
815
389
|
export interface ListCredentialsResponse {
|
|
816
390
|
credentials?: ListCredentialsResponseCredentialsList;
|
|
817
391
|
}
|
|
818
|
-
export const ListCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
819
|
-
S.Struct({
|
|
820
|
-
credentials: S.optional(ListCredentialsResponseCredentialsList),
|
|
821
|
-
}),
|
|
822
|
-
).annotate({ identifier: "ListCredentialsResponse" }) as any as S.Schema<ListCredentialsResponse>;
|
|
823
|
-
|
|
824
392
|
export interface ListLoadBalancersRequest {
|
|
825
393
|
projectId: string;
|
|
826
394
|
region: string;
|
|
@@ -829,57 +397,15 @@ export interface ListLoadBalancersRequest {
|
|
|
829
397
|
/** page_id is a page identifier returned by the previous response and is used to request the next page */
|
|
830
398
|
pageId?: string;
|
|
831
399
|
}
|
|
832
|
-
export const ListLoadBalancersRequest = /*@__PURE__*/ S.suspend(() =>
|
|
833
|
-
S.Struct({
|
|
834
|
-
projectId: S.String.pipe(T.Label()),
|
|
835
|
-
region: S.String.pipe(T.Label()),
|
|
836
|
-
pageSize: S.optional(S.String.pipe(T.Query())),
|
|
837
|
-
pageId: S.optional(S.String.pipe(T.Query())),
|
|
838
|
-
}).pipe(
|
|
839
|
-
T.Http({
|
|
840
|
-
method: "GET",
|
|
841
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
842
|
-
code: 200,
|
|
843
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
844
|
-
}),
|
|
845
|
-
),
|
|
846
|
-
).annotate({ identifier: "ListLoadBalancersRequest" }) as any as S.Schema<ListLoadBalancersRequest>;
|
|
847
|
-
|
|
848
400
|
export type ListLoadBalancersResponseLoadBalancersList = Array<LoadBalancer2>;
|
|
849
|
-
export const ListLoadBalancersResponseLoadBalancersList = /*@__PURE__*/ S.Array(
|
|
850
|
-
LoadBalancer2,
|
|
851
|
-
) as any as S.Schema<ListLoadBalancersResponseLoadBalancersList>;
|
|
852
|
-
|
|
853
401
|
export interface ListLoadBalancersResponse {
|
|
854
402
|
loadBalancers?: ListLoadBalancersResponseLoadBalancersList;
|
|
855
403
|
/** Continue token from the ListLoadBalancerResponse with Limit option */
|
|
856
404
|
nextPageId?: string;
|
|
857
405
|
}
|
|
858
|
-
export const ListLoadBalancersResponse = /*@__PURE__*/ S.suspend(() =>
|
|
859
|
-
S.Struct({
|
|
860
|
-
loadBalancers: S.optional(ListLoadBalancersResponseLoadBalancersList),
|
|
861
|
-
nextPageId: S.optional(S.String),
|
|
862
|
-
}),
|
|
863
|
-
).annotate({
|
|
864
|
-
identifier: "ListLoadBalancersResponse",
|
|
865
|
-
}) as any as S.Schema<ListLoadBalancersResponse>;
|
|
866
|
-
|
|
867
406
|
export interface ListPlansRequest {
|
|
868
407
|
region: string;
|
|
869
408
|
}
|
|
870
|
-
export const ListPlansRequest = /*@__PURE__*/ S.suspend(() =>
|
|
871
|
-
S.Struct({
|
|
872
|
-
region: S.String.pipe(T.Label()),
|
|
873
|
-
}).pipe(
|
|
874
|
-
T.Http({
|
|
875
|
-
method: "GET",
|
|
876
|
-
uri: "/v2/regions/{region}/plans",
|
|
877
|
-
code: 200,
|
|
878
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
879
|
-
}),
|
|
880
|
-
),
|
|
881
|
-
).annotate({ identifier: "ListPlansRequest" }) as any as S.Schema<ListPlansRequest>;
|
|
882
|
-
|
|
883
409
|
export interface PlanDetails {
|
|
884
410
|
/** Description */
|
|
885
411
|
description?: string;
|
|
@@ -894,31 +420,10 @@ export interface PlanDetails {
|
|
|
894
420
|
/** Region this Plan is available in */
|
|
895
421
|
region?: string;
|
|
896
422
|
}
|
|
897
|
-
export const PlanDetails = /*@__PURE__*/ S.suspend(() =>
|
|
898
|
-
S.Struct({
|
|
899
|
-
description: S.optional(S.String),
|
|
900
|
-
flavorName: S.optional(S.String),
|
|
901
|
-
maxConnections: S.optional(S.Number),
|
|
902
|
-
name: S.optional(S.String),
|
|
903
|
-
planId: S.optional(S.String),
|
|
904
|
-
region: S.optional(S.String),
|
|
905
|
-
}),
|
|
906
|
-
).annotate({ identifier: "PlanDetails" }) as any as S.Schema<PlanDetails>;
|
|
907
|
-
|
|
908
423
|
export type ListPlansResponseValidPlansList = Array<PlanDetails>;
|
|
909
|
-
export const ListPlansResponseValidPlansList = /*@__PURE__*/ S.Array(
|
|
910
|
-
PlanDetails,
|
|
911
|
-
) as any as S.Schema<ListPlansResponseValidPlansList>;
|
|
912
|
-
|
|
913
424
|
export interface ListPlansResponse {
|
|
914
425
|
validPlans?: ListPlansResponseValidPlansList;
|
|
915
426
|
}
|
|
916
|
-
export const ListPlansResponse = /*@__PURE__*/ S.suspend(() =>
|
|
917
|
-
S.Struct({
|
|
918
|
-
validPlans: S.optional(ListPlansResponseValidPlansList),
|
|
919
|
-
}),
|
|
920
|
-
).annotate({ identifier: "ListPlansResponse" }) as any as S.Schema<ListPlansResponse>;
|
|
921
|
-
|
|
922
427
|
export interface UpdateCredentialsRequest {
|
|
923
428
|
projectId: string;
|
|
924
429
|
region: string;
|
|
@@ -930,60 +435,17 @@ export interface UpdateCredentialsRequest {
|
|
|
930
435
|
/** A valid username used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
931
436
|
username?: string;
|
|
932
437
|
}
|
|
933
|
-
export const UpdateCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
934
|
-
S.Struct({
|
|
935
|
-
projectId: S.String.pipe(T.Label()),
|
|
936
|
-
region: S.String.pipe(T.Label()),
|
|
937
|
-
credentialsRef: S.String.pipe(T.Label()),
|
|
938
|
-
displayName: S.optional(S.String),
|
|
939
|
-
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
940
|
-
username: S.optional(S.String),
|
|
941
|
-
}).pipe(
|
|
942
|
-
T.Http({
|
|
943
|
-
method: "PUT",
|
|
944
|
-
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
945
|
-
code: 200,
|
|
946
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
947
|
-
}),
|
|
948
|
-
),
|
|
949
|
-
).annotate({ identifier: "UpdateCredentialsRequest" }) as any as S.Schema<UpdateCredentialsRequest>;
|
|
950
|
-
|
|
951
438
|
export interface UpdateCredentialsResponse {
|
|
952
439
|
credential?: CredentialsResponse;
|
|
953
440
|
}
|
|
954
|
-
export const UpdateCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
955
|
-
S.Struct({
|
|
956
|
-
credential: S.optional(CredentialsResponse),
|
|
957
|
-
}),
|
|
958
|
-
).annotate({
|
|
959
|
-
identifier: "UpdateCredentialsResponse",
|
|
960
|
-
}) as any as S.Schema<UpdateCredentialsResponse>;
|
|
961
|
-
|
|
962
441
|
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per LB. **Key Formatting Rules:** Length: 1-63 characters. Characters: Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. Keys starting with 'stackit-' are system-reserved; users MUST NOT manage them. **Value Formatting Rules:** Length: 0-63 characters (empty string explicitly allowed). Characters (for non-empty values): Must begin and end with [a-zA-Z0-9]. May contain dashes (-), underscores (_), dots (.), and alphanumerics in between. */
|
|
963
442
|
export type UpdateLoadBalancerRequestLabelsMap = { [key: string]: string | undefined };
|
|
964
|
-
export const UpdateLoadBalancerRequestLabelsMap = /*@__PURE__*/ S.Record(
|
|
965
|
-
S.String,
|
|
966
|
-
S.String,
|
|
967
|
-
) as any as S.Schema<UpdateLoadBalancerRequestLabelsMap>;
|
|
968
|
-
|
|
969
443
|
/** There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. */
|
|
970
444
|
export type UpdateLoadBalancerRequestListenersList = Array<ListenerInput>;
|
|
971
|
-
export const UpdateLoadBalancerRequestListenersList = /*@__PURE__*/ S.Array(
|
|
972
|
-
ListenerInput,
|
|
973
|
-
) as any as S.Schema<UpdateLoadBalancerRequestListenersList>;
|
|
974
|
-
|
|
975
445
|
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
976
446
|
export type UpdateLoadBalancerRequestNetworksList = Array<Network>;
|
|
977
|
-
export const UpdateLoadBalancerRequestNetworksList = /*@__PURE__*/ S.Array(
|
|
978
|
-
Network,
|
|
979
|
-
) as any as S.Schema<UpdateLoadBalancerRequestNetworksList>;
|
|
980
|
-
|
|
981
447
|
/** List of all target pools which will be used in the load balancer. Limited to 20. */
|
|
982
448
|
export type UpdateLoadBalancerRequestTargetPoolsList = Array<TargetPool>;
|
|
983
|
-
export const UpdateLoadBalancerRequestTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
984
|
-
TargetPool,
|
|
985
|
-
) as any as S.Schema<UpdateLoadBalancerRequestTargetPoolsList>;
|
|
986
|
-
|
|
987
449
|
export interface UpdateLoadBalancerRequest {
|
|
988
450
|
projectId: string;
|
|
989
451
|
region: string;
|
|
@@ -1006,38 +468,8 @@ export interface UpdateLoadBalancerRequest {
|
|
|
1006
468
|
/** Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case. */
|
|
1007
469
|
version?: string;
|
|
1008
470
|
}
|
|
1009
|
-
export const UpdateLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
1010
|
-
S.Struct({
|
|
1011
|
-
projectId: S.String.pipe(T.Label()),
|
|
1012
|
-
region: S.String.pipe(T.Label()),
|
|
1013
|
-
name: S.String.pipe(T.Label()),
|
|
1014
|
-
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
1015
|
-
externalAddress: S.optional(S.String),
|
|
1016
|
-
labels: S.optional(UpdateLoadBalancerRequestLabelsMap),
|
|
1017
|
-
listeners: S.optional(UpdateLoadBalancerRequestListenersList),
|
|
1018
|
-
networks: S.optional(UpdateLoadBalancerRequestNetworksList),
|
|
1019
|
-
options: S.optional(LoadBalancerOptions),
|
|
1020
|
-
planId: S.optional(S.String),
|
|
1021
|
-
targetPools: S.optional(UpdateLoadBalancerRequestTargetPoolsList),
|
|
1022
|
-
version: S.optional(S.String),
|
|
1023
|
-
}).pipe(
|
|
1024
|
-
T.Http({
|
|
1025
|
-
method: "PUT",
|
|
1026
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
1027
|
-
code: 200,
|
|
1028
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1029
|
-
}),
|
|
1030
|
-
),
|
|
1031
|
-
).annotate({
|
|
1032
|
-
identifier: "UpdateLoadBalancerRequest",
|
|
1033
|
-
}) as any as S.Schema<UpdateLoadBalancerRequest>;
|
|
1034
|
-
|
|
1035
471
|
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
1036
472
|
export type UpdateTargetPoolRequestTargetsList = Array<Target>;
|
|
1037
|
-
export const UpdateTargetPoolRequestTargetsList = /*@__PURE__*/ S.Array(
|
|
1038
|
-
Target,
|
|
1039
|
-
) as any as S.Schema<UpdateTargetPoolRequestTargetsList>;
|
|
1040
|
-
|
|
1041
473
|
export interface UpdateTargetPoolRequest {
|
|
1042
474
|
projectId: string;
|
|
1043
475
|
region: string;
|
|
@@ -1050,26 +482,6 @@ export interface UpdateTargetPoolRequest {
|
|
|
1050
482
|
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
1051
483
|
targets?: UpdateTargetPoolRequestTargetsList;
|
|
1052
484
|
}
|
|
1053
|
-
export const UpdateTargetPoolRequest = /*@__PURE__*/ S.suspend(() =>
|
|
1054
|
-
S.Struct({
|
|
1055
|
-
projectId: S.String.pipe(T.Label()),
|
|
1056
|
-
region: S.String.pipe(T.Label()),
|
|
1057
|
-
name: S.String.pipe(T.Label()),
|
|
1058
|
-
targetPoolName: S.String.pipe(T.Label()),
|
|
1059
|
-
activeHealthCheck: S.optional(ActiveHealthCheck),
|
|
1060
|
-
sessionPersistence: S.optional(SessionPersistence),
|
|
1061
|
-
targetPort: S.optional(S.Number),
|
|
1062
|
-
targets: S.optional(UpdateTargetPoolRequestTargetsList),
|
|
1063
|
-
}).pipe(
|
|
1064
|
-
T.Http({
|
|
1065
|
-
method: "PUT",
|
|
1066
|
-
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}/target-pools/{targetPoolName}",
|
|
1067
|
-
code: 200,
|
|
1068
|
-
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1069
|
-
}),
|
|
1070
|
-
),
|
|
1071
|
-
).annotate({ identifier: "UpdateTargetPoolRequest" }) as any as S.Schema<UpdateTargetPoolRequest>;
|
|
1072
|
-
|
|
1073
485
|
export type CreateCredentialsError = BadRequest | Forbidden | StackitOpError;
|
|
1074
486
|
/** Create credentials for observability of the Load Balancer Created credentials can be stored and used for the load balancer observability. For example, when using STACKIT Observability, credentials first must be created for that STACKIT Observability instance (by using their API or the STACKIT Portal) and then can be provided to the load balancer by storing them with this endpoint. */
|
|
1075
487
|
export const createCredentials: API.OperationMethod<
|
|
@@ -1078,8 +490,8 @@ export const createCredentials: API.OperationMethod<
|
|
|
1078
490
|
CreateCredentialsError,
|
|
1079
491
|
StackitOpContext
|
|
1080
492
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1081
|
-
input: CreateCredentialsRequest
|
|
1082
|
-
output: CreateCredentialsResponse
|
|
493
|
+
input: __S(224, __c7, 0) as any as S.Schema<CreateCredentialsRequest>,
|
|
494
|
+
output: __S(288, __c9, 0) as any as S.Schema<CreateCredentialsResponse>,
|
|
1083
495
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1084
496
|
protocol: StackitProtocol,
|
|
1085
497
|
retry: Retry.Retry,
|
|
@@ -1093,8 +505,8 @@ export const createLoadBalancer: API.OperationMethod<
|
|
|
1093
505
|
CreateLoadBalancerError,
|
|
1094
506
|
StackitOpContext
|
|
1095
507
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1096
|
-
input: CreateLoadBalancerRequest
|
|
1097
|
-
output: LoadBalancer2
|
|
508
|
+
input: __S(320, __c10, 0) as any as S.Schema<CreateLoadBalancerRequest>,
|
|
509
|
+
output: __S(400, __c12, 16) as any as S.Schema<LoadBalancer2>,
|
|
1098
510
|
errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
|
|
1099
511
|
protocol: StackitProtocol,
|
|
1100
512
|
retry: Retry.Retry,
|
|
@@ -1108,8 +520,8 @@ export const deleteCredentials: API.OperationMethod<
|
|
|
1108
520
|
DeleteCredentialsError,
|
|
1109
521
|
StackitOpContext
|
|
1110
522
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1111
|
-
input: DeleteCredentialsRequest
|
|
1112
|
-
output: DeleteCredentialsResponse2
|
|
523
|
+
input: __S(448, __c14, 0) as any as S.Schema<DeleteCredentialsRequest>,
|
|
524
|
+
output: __S(480, __c15, 0) as any as S.Schema<DeleteCredentialsResponse2>,
|
|
1113
525
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1114
526
|
protocol: StackitProtocol,
|
|
1115
527
|
retry: Retry.Retry,
|
|
@@ -1123,8 +535,8 @@ export const deleteLoadBalancer: API.OperationMethod<
|
|
|
1123
535
|
DeleteLoadBalancerError,
|
|
1124
536
|
StackitOpContext
|
|
1125
537
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1126
|
-
input: DeleteLoadBalancerRequest
|
|
1127
|
-
output: DeleteLoadBalancerResponse2
|
|
538
|
+
input: __S(512, __c16, 0) as any as S.Schema<DeleteLoadBalancerRequest>,
|
|
539
|
+
output: __S(480, __c15, 0) as any as S.Schema<DeleteLoadBalancerResponse2>,
|
|
1128
540
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1129
541
|
protocol: StackitProtocol,
|
|
1130
542
|
retry: Retry.Retry,
|
|
@@ -1138,8 +550,8 @@ export const getCredentials: API.OperationMethod<
|
|
|
1138
550
|
GetCredentialsError,
|
|
1139
551
|
StackitOpContext
|
|
1140
552
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1141
|
-
input: GetCredentialsRequest
|
|
1142
|
-
output: GetCredentialsResponse
|
|
553
|
+
input: __S(544, __c17, 0) as any as S.Schema<GetCredentialsRequest>,
|
|
554
|
+
output: __S(288, __c9, 0) as any as S.Schema<GetCredentialsResponse>,
|
|
1143
555
|
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1144
556
|
protocol: StackitProtocol,
|
|
1145
557
|
retry: Retry.Retry,
|
|
@@ -1153,8 +565,8 @@ export const getLoadBalancer: API.OperationMethod<
|
|
|
1153
565
|
GetLoadBalancerError,
|
|
1154
566
|
StackitOpContext
|
|
1155
567
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1156
|
-
input: GetLoadBalancerRequest
|
|
1157
|
-
output: LoadBalancer2
|
|
568
|
+
input: __S(576, __c18, 0) as any as S.Schema<GetLoadBalancerRequest>,
|
|
569
|
+
output: __S(400, __c12, 16) as any as S.Schema<LoadBalancer2>,
|
|
1158
570
|
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1159
571
|
protocol: StackitProtocol,
|
|
1160
572
|
retry: Retry.Retry,
|
|
@@ -1168,8 +580,8 @@ export const getQuota: API.OperationMethod<
|
|
|
1168
580
|
GetQuotaError,
|
|
1169
581
|
StackitOpContext
|
|
1170
582
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1171
|
-
input: GetQuotaRequest
|
|
1172
|
-
output: GetQuotaResponse
|
|
583
|
+
input: __S(0, __c0, 0) as any as S.Schema<GetQuotaRequest>,
|
|
584
|
+
output: __S(1, __c0, 1) as any as S.Schema<GetQuotaResponse>,
|
|
1173
585
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1174
586
|
protocol: StackitProtocol,
|
|
1175
587
|
retry: Retry.Retry,
|
|
@@ -1183,8 +595,8 @@ export const listCredentials: API.OperationMethod<
|
|
|
1183
595
|
ListCredentialsError,
|
|
1184
596
|
StackitOpContext
|
|
1185
597
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1186
|
-
input: ListCredentialsRequest
|
|
1187
|
-
output: ListCredentialsResponse
|
|
598
|
+
input: __S(32, __c1, 0) as any as S.Schema<ListCredentialsRequest>,
|
|
599
|
+
output: __S(34, __c1, 2) as any as S.Schema<ListCredentialsResponse>,
|
|
1188
600
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1189
601
|
protocol: StackitProtocol,
|
|
1190
602
|
retry: Retry.Retry,
|
|
@@ -1198,8 +610,8 @@ export const listLoadBalancers: API.OperationMethod<
|
|
|
1198
610
|
ListLoadBalancersError,
|
|
1199
611
|
StackitOpContext
|
|
1200
612
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1201
|
-
input: ListLoadBalancersRequest
|
|
1202
|
-
output: ListLoadBalancersResponse
|
|
613
|
+
input: __S(64, __c2, 0) as any as S.Schema<ListLoadBalancersRequest>,
|
|
614
|
+
output: __S(66, __c2, 2) as any as S.Schema<ListLoadBalancersResponse>,
|
|
1203
615
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1204
616
|
protocol: StackitProtocol,
|
|
1205
617
|
retry: Retry.Retry,
|
|
@@ -1213,8 +625,8 @@ export const listPlans: API.OperationMethod<
|
|
|
1213
625
|
ListPlansError,
|
|
1214
626
|
StackitOpContext
|
|
1215
627
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1216
|
-
input: ListPlansRequest
|
|
1217
|
-
output: ListPlansResponse
|
|
628
|
+
input: __S(96, __c3, 0) as any as S.Schema<ListPlansRequest>,
|
|
629
|
+
output: __S(99, __c3, 3) as any as S.Schema<ListPlansResponse>,
|
|
1218
630
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1219
631
|
protocol: StackitProtocol,
|
|
1220
632
|
retry: Retry.Retry,
|
|
@@ -1228,8 +640,8 @@ export const updateCredentials: API.OperationMethod<
|
|
|
1228
640
|
UpdateCredentialsError,
|
|
1229
641
|
StackitOpContext
|
|
1230
642
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1231
|
-
input: UpdateCredentialsRequest
|
|
1232
|
-
output: UpdateCredentialsResponse
|
|
643
|
+
input: __S(128, __c4, 0) as any as S.Schema<UpdateCredentialsRequest>,
|
|
644
|
+
output: __S(288, __c9, 0) as any as S.Schema<UpdateCredentialsResponse>,
|
|
1233
645
|
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1234
646
|
protocol: StackitProtocol,
|
|
1235
647
|
retry: Retry.Retry,
|
|
@@ -1243,8 +655,8 @@ export const updateLoadBalancer: API.OperationMethod<
|
|
|
1243
655
|
UpdateLoadBalancerError,
|
|
1244
656
|
StackitOpContext
|
|
1245
657
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1246
|
-
input: UpdateLoadBalancerRequest
|
|
1247
|
-
output: LoadBalancer2
|
|
658
|
+
input: __S(160, __c5, 0) as any as S.Schema<UpdateLoadBalancerRequest>,
|
|
659
|
+
output: __S(400, __c12, 16) as any as S.Schema<LoadBalancer2>,
|
|
1248
660
|
errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
|
|
1249
661
|
protocol: StackitProtocol,
|
|
1250
662
|
retry: Retry.Retry,
|
|
@@ -1258,9 +670,554 @@ export const updateTargetPool: API.OperationMethod<
|
|
|
1258
670
|
UpdateTargetPoolError,
|
|
1259
671
|
StackitOpContext
|
|
1260
672
|
> = /*@__PURE__*/ API.make(() => ({
|
|
1261
|
-
input: UpdateTargetPoolRequest
|
|
1262
|
-
output: TargetPool
|
|
673
|
+
input: __S(192, __c6, 0) as any as S.Schema<UpdateTargetPoolRequest>,
|
|
674
|
+
output: __S(423, __c13, 7) as any as S.Schema<TargetPool>,
|
|
1263
675
|
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1264
676
|
protocol: StackitProtocol,
|
|
1265
677
|
retry: Retry.Retry,
|
|
1266
678
|
}));
|
|
679
|
+
|
|
680
|
+
// Schema builders: each runs one schema initializer, on that schema's first use.
|
|
681
|
+
function __c0(j: number): any {
|
|
682
|
+
switch (j) {
|
|
683
|
+
case 0:
|
|
684
|
+
return S.suspend(() =>
|
|
685
|
+
S.Struct({
|
|
686
|
+
projectId: S.String.pipe(T.Label()),
|
|
687
|
+
region: S.String.pipe(T.Label()),
|
|
688
|
+
}).pipe(
|
|
689
|
+
T.Http({
|
|
690
|
+
method: "GET",
|
|
691
|
+
uri: "/v2/projects/{projectId}/regions/{region}/quota",
|
|
692
|
+
code: 200,
|
|
693
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
694
|
+
}),
|
|
695
|
+
),
|
|
696
|
+
).annotate({ identifier: "GetQuotaRequest" });
|
|
697
|
+
case 1:
|
|
698
|
+
return S.suspend(() =>
|
|
699
|
+
S.Struct({
|
|
700
|
+
maxCredentials: S.optional(S.Number),
|
|
701
|
+
maxLoadBalancers: S.optional(S.Number),
|
|
702
|
+
projectId: S.optional(S.String),
|
|
703
|
+
region: S.optional(S.String),
|
|
704
|
+
usedCredentials: S.optional(S.Number),
|
|
705
|
+
usedLoadBalancers: S.optional(S.Number),
|
|
706
|
+
}),
|
|
707
|
+
).annotate({ identifier: "GetQuotaResponse" });
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
function __c1(j: number): any {
|
|
711
|
+
switch (j) {
|
|
712
|
+
case 0:
|
|
713
|
+
return S.suspend(() =>
|
|
714
|
+
S.Struct({
|
|
715
|
+
projectId: S.String.pipe(T.Label()),
|
|
716
|
+
region: S.String.pipe(T.Label()),
|
|
717
|
+
}).pipe(
|
|
718
|
+
T.Http({
|
|
719
|
+
method: "GET",
|
|
720
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
721
|
+
code: 200,
|
|
722
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
723
|
+
}),
|
|
724
|
+
),
|
|
725
|
+
).annotate({ identifier: "ListCredentialsRequest" });
|
|
726
|
+
case 1:
|
|
727
|
+
return S.Array(__S(256, __c8, 0));
|
|
728
|
+
case 2:
|
|
729
|
+
return S.suspend(() =>
|
|
730
|
+
S.Struct({
|
|
731
|
+
credentials: S.optional(__S(33, __c1, 1)),
|
|
732
|
+
}),
|
|
733
|
+
).annotate({ identifier: "ListCredentialsResponse" });
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
function __c2(j: number): any {
|
|
737
|
+
switch (j) {
|
|
738
|
+
case 0:
|
|
739
|
+
return S.suspend(() =>
|
|
740
|
+
S.Struct({
|
|
741
|
+
projectId: S.String.pipe(T.Label()),
|
|
742
|
+
region: S.String.pipe(T.Label()),
|
|
743
|
+
pageSize: S.optional(S.String.pipe(T.Query())),
|
|
744
|
+
pageId: S.optional(S.String.pipe(T.Query())),
|
|
745
|
+
}).pipe(
|
|
746
|
+
T.Http({
|
|
747
|
+
method: "GET",
|
|
748
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
749
|
+
code: 200,
|
|
750
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
751
|
+
}),
|
|
752
|
+
),
|
|
753
|
+
).annotate({ identifier: "ListLoadBalancersRequest" });
|
|
754
|
+
case 1:
|
|
755
|
+
return S.Array(__S(400, __c12, 16));
|
|
756
|
+
case 2:
|
|
757
|
+
return S.suspend(() =>
|
|
758
|
+
S.Struct({
|
|
759
|
+
loadBalancers: S.optional(__S(65, __c2, 1)),
|
|
760
|
+
nextPageId: S.optional(S.String),
|
|
761
|
+
}),
|
|
762
|
+
).annotate({ identifier: "ListLoadBalancersResponse" });
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
function __c3(j: number): any {
|
|
766
|
+
switch (j) {
|
|
767
|
+
case 0:
|
|
768
|
+
return S.suspend(() =>
|
|
769
|
+
S.Struct({
|
|
770
|
+
region: S.String.pipe(T.Label()),
|
|
771
|
+
}).pipe(
|
|
772
|
+
T.Http({
|
|
773
|
+
method: "GET",
|
|
774
|
+
uri: "/v2/regions/{region}/plans",
|
|
775
|
+
code: 200,
|
|
776
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
777
|
+
}),
|
|
778
|
+
),
|
|
779
|
+
).annotate({ identifier: "ListPlansRequest" });
|
|
780
|
+
case 1:
|
|
781
|
+
return S.suspend(() =>
|
|
782
|
+
S.Struct({
|
|
783
|
+
description: S.optional(S.String),
|
|
784
|
+
flavorName: S.optional(S.String),
|
|
785
|
+
maxConnections: S.optional(S.Number),
|
|
786
|
+
name: S.optional(S.String),
|
|
787
|
+
planId: S.optional(S.String),
|
|
788
|
+
region: S.optional(S.String),
|
|
789
|
+
}),
|
|
790
|
+
).annotate({ identifier: "PlanDetails" });
|
|
791
|
+
case 2:
|
|
792
|
+
return S.Array(__S(97, __c3, 1));
|
|
793
|
+
case 3:
|
|
794
|
+
return S.suspend(() =>
|
|
795
|
+
S.Struct({
|
|
796
|
+
validPlans: S.optional(__S(98, __c3, 2)),
|
|
797
|
+
}),
|
|
798
|
+
).annotate({ identifier: "ListPlansResponse" });
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
function __c4(j: number): any {
|
|
802
|
+
switch (j) {
|
|
803
|
+
case 0:
|
|
804
|
+
return S.suspend(() =>
|
|
805
|
+
S.Struct({
|
|
806
|
+
projectId: S.String.pipe(T.Label()),
|
|
807
|
+
region: S.String.pipe(T.Label()),
|
|
808
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
809
|
+
displayName: S.optional(S.String),
|
|
810
|
+
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
811
|
+
username: S.optional(S.String),
|
|
812
|
+
}).pipe(
|
|
813
|
+
T.Http({
|
|
814
|
+
method: "PUT",
|
|
815
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
816
|
+
code: 200,
|
|
817
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
818
|
+
}),
|
|
819
|
+
),
|
|
820
|
+
).annotate({ identifier: "UpdateCredentialsRequest" });
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
function __c5(j: number): any {
|
|
824
|
+
switch (j) {
|
|
825
|
+
case 0:
|
|
826
|
+
return S.suspend(() =>
|
|
827
|
+
S.Struct({
|
|
828
|
+
projectId: S.String.pipe(T.Label()),
|
|
829
|
+
region: S.String.pipe(T.Label()),
|
|
830
|
+
name: S.String.pipe(T.Label()),
|
|
831
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
832
|
+
externalAddress: S.optional(S.String),
|
|
833
|
+
labels: S.optional(__S(384, __c12, 0)),
|
|
834
|
+
listeners: S.optional(__S(353, __c11, 1)),
|
|
835
|
+
networks: S.optional(__S(389, __c12, 5)),
|
|
836
|
+
options: S.optional(__S(393, __c12, 9)),
|
|
837
|
+
planId: S.optional(S.String),
|
|
838
|
+
targetPools: S.optional(__S(394, __c12, 10)),
|
|
839
|
+
version: S.optional(S.String),
|
|
840
|
+
}).pipe(
|
|
841
|
+
T.Http({
|
|
842
|
+
method: "PUT",
|
|
843
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
844
|
+
code: 200,
|
|
845
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
846
|
+
}),
|
|
847
|
+
),
|
|
848
|
+
).annotate({ identifier: "UpdateLoadBalancerRequest" });
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
function __c6(j: number): any {
|
|
852
|
+
switch (j) {
|
|
853
|
+
case 0:
|
|
854
|
+
return S.suspend(() =>
|
|
855
|
+
S.Struct({
|
|
856
|
+
projectId: S.String.pipe(T.Label()),
|
|
857
|
+
region: S.String.pipe(T.Label()),
|
|
858
|
+
name: S.String.pipe(T.Label()),
|
|
859
|
+
targetPoolName: S.String.pipe(T.Label()),
|
|
860
|
+
activeHealthCheck: S.optional(__S(419, __c13, 3)),
|
|
861
|
+
sessionPersistence: S.optional(__S(420, __c13, 4)),
|
|
862
|
+
targetPort: S.optional(S.Number),
|
|
863
|
+
targets: S.optional(__S(422, __c13, 6)),
|
|
864
|
+
}).pipe(
|
|
865
|
+
T.Http({
|
|
866
|
+
method: "PUT",
|
|
867
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}/target-pools/{targetPoolName}",
|
|
868
|
+
code: 200,
|
|
869
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
870
|
+
}),
|
|
871
|
+
),
|
|
872
|
+
).annotate({ identifier: "UpdateTargetPoolRequest" });
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
function __c7(j: number): any {
|
|
876
|
+
switch (j) {
|
|
877
|
+
case 0:
|
|
878
|
+
return S.suspend(() =>
|
|
879
|
+
S.Struct({
|
|
880
|
+
projectId: S.String.pipe(T.Label()),
|
|
881
|
+
region: S.String.pipe(T.Label()),
|
|
882
|
+
displayName: S.optional(S.String),
|
|
883
|
+
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
884
|
+
username: S.optional(S.String),
|
|
885
|
+
}).pipe(
|
|
886
|
+
T.Http({
|
|
887
|
+
method: "POST",
|
|
888
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
889
|
+
code: 200,
|
|
890
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
891
|
+
}),
|
|
892
|
+
),
|
|
893
|
+
).annotate({ identifier: "CreateCredentialsRequest" });
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
function __c8(j: number): any {
|
|
897
|
+
switch (j) {
|
|
898
|
+
case 0:
|
|
899
|
+
return S.suspend(() =>
|
|
900
|
+
S.Struct({
|
|
901
|
+
credentialsRef: S.optional(S.String),
|
|
902
|
+
displayName: S.optional(S.String),
|
|
903
|
+
region: S.optional(S.String),
|
|
904
|
+
username: S.optional(S.String),
|
|
905
|
+
}),
|
|
906
|
+
).annotate({ identifier: "CredentialsResponse" });
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
function __c9(j: number): any {
|
|
910
|
+
switch (j) {
|
|
911
|
+
case 0:
|
|
912
|
+
return S.suspend(() =>
|
|
913
|
+
S.Struct({
|
|
914
|
+
credential: S.optional(__S(256, __c8, 0)),
|
|
915
|
+
}),
|
|
916
|
+
).annotate({ identifier: "CreateCredentialsResponse" });
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
function __c10(j: number): any {
|
|
920
|
+
switch (j) {
|
|
921
|
+
case 0:
|
|
922
|
+
return S.suspend(() =>
|
|
923
|
+
S.Struct({
|
|
924
|
+
projectId: S.String.pipe(T.Label()),
|
|
925
|
+
region: S.String.pipe(T.Label()),
|
|
926
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
927
|
+
externalAddress: S.optional(S.String),
|
|
928
|
+
labels: S.optional(__S(384, __c12, 0)),
|
|
929
|
+
listeners: S.optional(__S(353, __c11, 1)),
|
|
930
|
+
name: S.optional(S.String),
|
|
931
|
+
networks: S.optional(__S(389, __c12, 5)),
|
|
932
|
+
options: S.optional(__S(393, __c12, 9)),
|
|
933
|
+
planId: S.optional(S.String),
|
|
934
|
+
targetPools: S.optional(__S(394, __c12, 10)),
|
|
935
|
+
version: S.optional(S.String),
|
|
936
|
+
}).pipe(
|
|
937
|
+
T.Http({
|
|
938
|
+
method: "POST",
|
|
939
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
940
|
+
code: 200,
|
|
941
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
942
|
+
}),
|
|
943
|
+
),
|
|
944
|
+
).annotate({ identifier: "CreateLoadBalancerRequest" });
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
function __c11(j: number): any {
|
|
948
|
+
switch (j) {
|
|
949
|
+
case 0:
|
|
950
|
+
return S.suspend(() =>
|
|
951
|
+
S.Struct({
|
|
952
|
+
displayName: S.optional(S.String),
|
|
953
|
+
port: S.optional(S.Number),
|
|
954
|
+
protocol: S.optional(S.String),
|
|
955
|
+
serverNameIndicators: S.optional(__S(386, __c12, 2)),
|
|
956
|
+
targetPool: S.optional(S.String),
|
|
957
|
+
tcp: S.optional(__S(387, __c12, 3)),
|
|
958
|
+
udp: S.optional(__S(387, __c12, 3)),
|
|
959
|
+
}),
|
|
960
|
+
).annotate({ identifier: "ListenerInput" });
|
|
961
|
+
case 1:
|
|
962
|
+
return S.Array(__S(352, __c11, 0));
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
function __c12(j: number): any {
|
|
966
|
+
switch (j) {
|
|
967
|
+
case 0:
|
|
968
|
+
return S.Record(S.String, S.String);
|
|
969
|
+
case 1:
|
|
970
|
+
return S.suspend(() =>
|
|
971
|
+
S.Struct({
|
|
972
|
+
name: S.optional(S.String),
|
|
973
|
+
}),
|
|
974
|
+
).annotate({ identifier: "ServerNameIndicator" });
|
|
975
|
+
case 2:
|
|
976
|
+
return S.Array(__S(385, __c12, 1));
|
|
977
|
+
case 3:
|
|
978
|
+
return S.suspend(() =>
|
|
979
|
+
S.Struct({
|
|
980
|
+
idleTimeout: S.optional(S.String),
|
|
981
|
+
}),
|
|
982
|
+
).annotate({ identifier: "OptionsTCP" });
|
|
983
|
+
case 4:
|
|
984
|
+
return S.suspend(() =>
|
|
985
|
+
S.Struct({
|
|
986
|
+
networkId: S.optional(S.String),
|
|
987
|
+
role: S.optional(S.String),
|
|
988
|
+
}),
|
|
989
|
+
).annotate({ identifier: "Network" });
|
|
990
|
+
case 5:
|
|
991
|
+
return S.Array(__S(388, __c12, 4));
|
|
992
|
+
case 6:
|
|
993
|
+
return S.suspend(() =>
|
|
994
|
+
S.Struct({
|
|
995
|
+
allowedSourceRanges: S.optional(__S(416, __c13, 0)),
|
|
996
|
+
}),
|
|
997
|
+
).annotate({ identifier: "LoadbalancerOptionAccessControl" });
|
|
998
|
+
case 7:
|
|
999
|
+
return S.suspend(() =>
|
|
1000
|
+
S.Struct({
|
|
1001
|
+
credentialsRef: S.optional(S.String),
|
|
1002
|
+
pushUrl: S.optional(S.String),
|
|
1003
|
+
}),
|
|
1004
|
+
).annotate({ identifier: "LoadbalancerOptionLogs" });
|
|
1005
|
+
case 8:
|
|
1006
|
+
return S.suspend(() =>
|
|
1007
|
+
S.Struct({
|
|
1008
|
+
logs: S.optional(__S(391, __c12, 7)),
|
|
1009
|
+
metrics: S.optional(__S(391, __c12, 7)),
|
|
1010
|
+
}),
|
|
1011
|
+
).annotate({ identifier: "LoadbalancerOptionObservability" });
|
|
1012
|
+
case 9:
|
|
1013
|
+
return S.suspend(() =>
|
|
1014
|
+
S.Struct({
|
|
1015
|
+
accessControl: S.optional(__S(390, __c12, 6)),
|
|
1016
|
+
ephemeralAddress: S.optional(S.Boolean),
|
|
1017
|
+
observability: S.optional(__S(392, __c12, 8)),
|
|
1018
|
+
privateNetworkOnly: S.optional(S.Boolean),
|
|
1019
|
+
}),
|
|
1020
|
+
).annotate({ identifier: "LoadBalancerOptions" });
|
|
1021
|
+
case 10:
|
|
1022
|
+
return S.Array(__S(423, __c13, 7));
|
|
1023
|
+
case 11:
|
|
1024
|
+
return S.suspend(() =>
|
|
1025
|
+
S.Struct({
|
|
1026
|
+
description: S.optional(S.String),
|
|
1027
|
+
type: S.optional(S.String),
|
|
1028
|
+
}),
|
|
1029
|
+
).annotate({ identifier: "LoadBalancerError" });
|
|
1030
|
+
case 12:
|
|
1031
|
+
return S.Array(__S(395, __c12, 11));
|
|
1032
|
+
case 13:
|
|
1033
|
+
return S.suspend(() =>
|
|
1034
|
+
S.Struct({
|
|
1035
|
+
displayName: S.optional(S.String),
|
|
1036
|
+
name: S.optional(S.String),
|
|
1037
|
+
port: S.optional(S.Number),
|
|
1038
|
+
protocol: S.optional(S.String),
|
|
1039
|
+
serverNameIndicators: S.optional(__S(386, __c12, 2)),
|
|
1040
|
+
targetPool: S.optional(S.String),
|
|
1041
|
+
tcp: S.optional(__S(387, __c12, 3)),
|
|
1042
|
+
udp: S.optional(__S(387, __c12, 3)),
|
|
1043
|
+
}),
|
|
1044
|
+
).annotate({ identifier: "Listener" });
|
|
1045
|
+
case 14:
|
|
1046
|
+
return S.Array(__S(397, __c12, 13));
|
|
1047
|
+
case 15:
|
|
1048
|
+
return S.suspend(() =>
|
|
1049
|
+
S.Struct({
|
|
1050
|
+
id: S.optional(S.String),
|
|
1051
|
+
name: S.optional(S.String),
|
|
1052
|
+
}),
|
|
1053
|
+
).annotate({ identifier: "SecurityGroup" });
|
|
1054
|
+
case 16:
|
|
1055
|
+
return S.suspend(() =>
|
|
1056
|
+
S.Struct({
|
|
1057
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
1058
|
+
errors: S.optional(__S(396, __c12, 12)),
|
|
1059
|
+
externalAddress: S.optional(S.String),
|
|
1060
|
+
labels: S.optional(__S(384, __c12, 0)),
|
|
1061
|
+
listeners: S.optional(__S(398, __c12, 14)),
|
|
1062
|
+
loadBalancerSecurityGroup: S.optional(__S(399, __c12, 15)),
|
|
1063
|
+
name: S.optional(S.String),
|
|
1064
|
+
networks: S.optional(__S(389, __c12, 5)),
|
|
1065
|
+
options: S.optional(__S(393, __c12, 9)),
|
|
1066
|
+
planId: S.optional(S.String),
|
|
1067
|
+
privateAddress: S.optional(S.String),
|
|
1068
|
+
region: S.optional(S.String),
|
|
1069
|
+
status: S.optional(S.String),
|
|
1070
|
+
targetPools: S.optional(__S(394, __c12, 10)),
|
|
1071
|
+
targetSecurityGroup: S.optional(__S(399, __c12, 15)),
|
|
1072
|
+
version: S.optional(S.String),
|
|
1073
|
+
}),
|
|
1074
|
+
).annotate({ identifier: "LoadBalancer2" });
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
function __c13(j: number): any {
|
|
1078
|
+
switch (j) {
|
|
1079
|
+
case 0:
|
|
1080
|
+
return S.Array(S.String);
|
|
1081
|
+
case 1:
|
|
1082
|
+
return S.suspend(() =>
|
|
1083
|
+
S.Struct({
|
|
1084
|
+
customCa: S.optional(S.String),
|
|
1085
|
+
enabled: S.optional(S.Boolean),
|
|
1086
|
+
skipCertificateValidation: S.optional(S.Boolean),
|
|
1087
|
+
}),
|
|
1088
|
+
).annotate({ identifier: "TlsConfig" });
|
|
1089
|
+
case 2:
|
|
1090
|
+
return S.suspend(() =>
|
|
1091
|
+
S.Struct({
|
|
1092
|
+
okStatuses: S.optional(__S(416, __c13, 0)),
|
|
1093
|
+
path: S.optional(S.String),
|
|
1094
|
+
tls: S.optional(__S(417, __c13, 1)),
|
|
1095
|
+
}),
|
|
1096
|
+
).annotate({ identifier: "HttpHealthChecks" });
|
|
1097
|
+
case 3:
|
|
1098
|
+
return S.suspend(() =>
|
|
1099
|
+
S.Struct({
|
|
1100
|
+
altPort: S.optional(S.Number),
|
|
1101
|
+
healthyThreshold: S.optional(S.Number),
|
|
1102
|
+
httpHealthChecks: S.optional(__S(418, __c13, 2)),
|
|
1103
|
+
interval: S.optional(S.String),
|
|
1104
|
+
intervalJitter: S.optional(S.String),
|
|
1105
|
+
timeout: S.optional(S.String),
|
|
1106
|
+
unhealthyThreshold: S.optional(S.Number),
|
|
1107
|
+
}),
|
|
1108
|
+
).annotate({ identifier: "ActiveHealthCheck" });
|
|
1109
|
+
case 4:
|
|
1110
|
+
return S.suspend(() =>
|
|
1111
|
+
S.Struct({
|
|
1112
|
+
useSourceIpAddress: S.optional(S.Boolean),
|
|
1113
|
+
}),
|
|
1114
|
+
).annotate({ identifier: "SessionPersistence" });
|
|
1115
|
+
case 5:
|
|
1116
|
+
return S.suspend(() =>
|
|
1117
|
+
S.Struct({
|
|
1118
|
+
displayName: S.optional(S.String),
|
|
1119
|
+
ip: S.optional(S.String),
|
|
1120
|
+
}),
|
|
1121
|
+
).annotate({ identifier: "Target" });
|
|
1122
|
+
case 6:
|
|
1123
|
+
return S.Array(__S(421, __c13, 5));
|
|
1124
|
+
case 7:
|
|
1125
|
+
return S.suspend(() =>
|
|
1126
|
+
S.Struct({
|
|
1127
|
+
activeHealthCheck: S.optional(__S(419, __c13, 3)),
|
|
1128
|
+
name: S.optional(S.String),
|
|
1129
|
+
sessionPersistence: S.optional(__S(420, __c13, 4)),
|
|
1130
|
+
targetPort: S.optional(S.Number),
|
|
1131
|
+
targets: S.optional(__S(422, __c13, 6)),
|
|
1132
|
+
}),
|
|
1133
|
+
).annotate({ identifier: "TargetPool" });
|
|
1134
|
+
}
|
|
1135
|
+
}
|
|
1136
|
+
function __c14(j: number): any {
|
|
1137
|
+
switch (j) {
|
|
1138
|
+
case 0:
|
|
1139
|
+
return S.suspend(() =>
|
|
1140
|
+
S.Struct({
|
|
1141
|
+
projectId: S.String.pipe(T.Label()),
|
|
1142
|
+
region: S.String.pipe(T.Label()),
|
|
1143
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
1144
|
+
}).pipe(
|
|
1145
|
+
T.Http({
|
|
1146
|
+
method: "DELETE",
|
|
1147
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
1148
|
+
code: 200,
|
|
1149
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1150
|
+
}),
|
|
1151
|
+
),
|
|
1152
|
+
).annotate({ identifier: "DeleteCredentialsRequest" });
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
function __c15(j: number): any {
|
|
1156
|
+
switch (j) {
|
|
1157
|
+
case 0:
|
|
1158
|
+
return S.suspend(() => S.Unknown.pipe(T.RawResponseRoot())).annotate({
|
|
1159
|
+
identifier: "DeleteCredentialsResponse2",
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
function __c16(j: number): any {
|
|
1164
|
+
switch (j) {
|
|
1165
|
+
case 0:
|
|
1166
|
+
return S.suspend(() =>
|
|
1167
|
+
S.Struct({
|
|
1168
|
+
projectId: S.String.pipe(T.Label()),
|
|
1169
|
+
region: S.String.pipe(T.Label()),
|
|
1170
|
+
name: S.String.pipe(T.Label()),
|
|
1171
|
+
}).pipe(
|
|
1172
|
+
T.Http({
|
|
1173
|
+
method: "DELETE",
|
|
1174
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
1175
|
+
code: 200,
|
|
1176
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1177
|
+
}),
|
|
1178
|
+
),
|
|
1179
|
+
).annotate({ identifier: "DeleteLoadBalancerRequest" });
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
function __c17(j: number): any {
|
|
1183
|
+
switch (j) {
|
|
1184
|
+
case 0:
|
|
1185
|
+
return S.suspend(() =>
|
|
1186
|
+
S.Struct({
|
|
1187
|
+
projectId: S.String.pipe(T.Label()),
|
|
1188
|
+
region: S.String.pipe(T.Label()),
|
|
1189
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
1190
|
+
}).pipe(
|
|
1191
|
+
T.Http({
|
|
1192
|
+
method: "GET",
|
|
1193
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
1194
|
+
code: 200,
|
|
1195
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1196
|
+
}),
|
|
1197
|
+
),
|
|
1198
|
+
).annotate({ identifier: "GetCredentialsRequest" });
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
function __c18(j: number): any {
|
|
1202
|
+
switch (j) {
|
|
1203
|
+
case 0:
|
|
1204
|
+
return S.suspend(() =>
|
|
1205
|
+
S.Struct({
|
|
1206
|
+
projectId: S.String.pipe(T.Label()),
|
|
1207
|
+
region: S.String.pipe(T.Label()),
|
|
1208
|
+
name: S.String.pipe(T.Label()),
|
|
1209
|
+
}).pipe(
|
|
1210
|
+
T.Http({
|
|
1211
|
+
method: "GET",
|
|
1212
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
1213
|
+
code: 200,
|
|
1214
|
+
baseUrl: "https://load-balancer.api.stackit.cloud",
|
|
1215
|
+
}),
|
|
1216
|
+
),
|
|
1217
|
+
).annotate({ identifier: "GetLoadBalancerRequest" });
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
// Schema table: entry i is schema j of builder f, made on first reach.
|
|
1221
|
+
function __S(i: number, f: (j: number) => unknown, j: number): any {
|
|
1222
|
+
return (__s[i] ??= __L.at(f, j));
|
|
1223
|
+
}
|