@distilled.cloud/stackit 0.0.0-placeholder → 1.0.0-rc.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +34 -0
- package/lib/credentials.d.ts +29 -0
- package/lib/credentials.d.ts.map +1 -0
- package/lib/credentials.js +49 -0
- package/lib/credentials.js.map +1 -0
- package/lib/errors.d.ts +36 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +26 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +30 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +30 -0
- package/lib/index.js.map +1 -0
- package/lib/pagination.d.ts +9 -0
- package/lib/pagination.d.ts.map +1 -0
- package/lib/pagination.js +48 -0
- package/lib/pagination.js.map +1 -0
- package/lib/protocol.d.ts +32 -0
- package/lib/protocol.d.ts.map +1 -0
- package/lib/protocol.js +148 -0
- package/lib/protocol.js.map +1 -0
- package/lib/response-validation.test.d.ts +4 -0
- package/lib/response-validation.test.d.ts.map +1 -0
- package/lib/response-validation.test.js +31 -0
- package/lib/response-validation.test.js.map +1 -0
- package/lib/retry.d.ts +31 -0
- package/lib/retry.d.ts.map +1 -0
- package/lib/retry.js +31 -0
- package/lib/retry.js.map +1 -0
- package/lib/services/alb.d.ts +603 -0
- package/lib/services/alb.d.ts.map +1 -0
- package/lib/services/alb.js +562 -0
- package/lib/services/alb.js.map +1 -0
- package/lib/services/alb_waf.d.ts +526 -0
- package/lib/services/alb_waf.d.ts.map +1 -0
- package/lib/services/alb_waf.js +545 -0
- package/lib/services/alb_waf.js.map +1 -0
- package/lib/services/authorization.d.ts +251 -0
- package/lib/services/authorization.d.ts.map +1 -0
- package/lib/services/authorization.js +353 -0
- package/lib/services/authorization.js.map +1 -0
- package/lib/services/automation.d.ts +358 -0
- package/lib/services/automation.d.ts.map +1 -0
- package/lib/services/automation.js +426 -0
- package/lib/services/automation.js.map +1 -0
- package/lib/services/cdn.d.ts +1239 -0
- package/lib/services/cdn.d.ts.map +1 -0
- package/lib/services/cdn.js +992 -0
- package/lib/services/cdn.js.map +1 -0
- package/lib/services/certificates.d.ts +201 -0
- package/lib/services/certificates.d.ts.map +1 -0
- package/lib/services/certificates.js +197 -0
- package/lib/services/certificates.js.map +1 -0
- package/lib/services/cost.d.ts +222 -0
- package/lib/services/cost.d.ts.map +1 -0
- package/lib/services/cost.js +188 -0
- package/lib/services/cost.js.map +1 -0
- package/lib/services/dns.d.ts +875 -0
- package/lib/services/dns.d.ts.map +1 -0
- package/lib/services/dns.js +854 -0
- package/lib/services/dns.js.map +1 -0
- package/lib/services/dremio.d.ts +358 -0
- package/lib/services/dremio.d.ts.map +1 -0
- package/lib/services/dremio.js +339 -0
- package/lib/services/dremio.js.map +1 -0
- package/lib/services/edge.d.ts +312 -0
- package/lib/services/edge.d.ts.map +1 -0
- package/lib/services/edge.js +375 -0
- package/lib/services/edge.js.map +1 -0
- package/lib/services/functions.d.ts +409 -0
- package/lib/services/functions.d.ts.map +1 -0
- package/lib/services/functions.js +423 -0
- package/lib/services/functions.js.map +1 -0
- package/lib/services/git.d.ts +497 -0
- package/lib/services/git.d.ts.map +1 -0
- package/lib/services/git.js +552 -0
- package/lib/services/git.js.map +1 -0
- package/lib/services/iaas.d.ts +2965 -0
- package/lib/services/iaas.d.ts.map +1 -0
- package/lib/services/iaas.js +3768 -0
- package/lib/services/iaas.js.map +1 -0
- package/lib/services/index.d.ts +51 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +52 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/intake.d.ts +555 -0
- package/lib/services/intake.d.ts.map +1 -0
- package/lib/services/intake.js +513 -0
- package/lib/services/intake.js.map +1 -0
- package/lib/services/kms.d.ts +654 -0
- package/lib/services/kms.d.ts.map +1 -0
- package/lib/services/kms.js +703 -0
- package/lib/services/kms.js.map +1 -0
- package/lib/services/lb_ip_lists.d.ts +162 -0
- package/lib/services/lb_ip_lists.d.ts.map +1 -0
- package/lib/services/lb_ip_lists.js +173 -0
- package/lib/services/lb_ip_lists.js.map +1 -0
- package/lib/services/load_balancer.d.ts +563 -0
- package/lib/services/load_balancer.d.ts.map +1 -0
- package/lib/services/load_balancer.js +542 -0
- package/lib/services/load_balancer.js.map +1 -0
- package/lib/services/logme.d.ts +516 -0
- package/lib/services/logme.d.ts.map +1 -0
- package/lib/services/logme.js +636 -0
- package/lib/services/logme.js.map +1 -0
- package/lib/services/logs.d.ts +436 -0
- package/lib/services/logs.d.ts.map +1 -0
- package/lib/services/logs.js +498 -0
- package/lib/services/logs.js.map +1 -0
- package/lib/services/mariadb.d.ts +479 -0
- package/lib/services/mariadb.d.ts.map +1 -0
- package/lib/services/mariadb.js +611 -0
- package/lib/services/mariadb.js.map +1 -0
- package/lib/services/model_experiments.d.ts +306 -0
- package/lib/services/model_experiments.d.ts.map +1 -0
- package/lib/services/model_experiments.js +356 -0
- package/lib/services/model_experiments.js.map +1 -0
- package/lib/services/model_serving.d.ts +289 -0
- package/lib/services/model_serving.d.ts.map +1 -0
- package/lib/services/model_serving.js +319 -0
- package/lib/services/model_serving.js.map +1 -0
- package/lib/services/mongodb_flex.d.ts +826 -0
- package/lib/services/mongodb_flex.d.ts.map +1 -0
- package/lib/services/mongodb_flex.js +889 -0
- package/lib/services/mongodb_flex.js.map +1 -0
- package/lib/services/object_storage.d.ts +446 -0
- package/lib/services/object_storage.d.ts.map +1 -0
- package/lib/services/object_storage.js +577 -0
- package/lib/services/object_storage.js.map +1 -0
- package/lib/services/observability.d.ts +2750 -0
- package/lib/services/observability.d.ts.map +1 -0
- package/lib/services/observability.js +3407 -0
- package/lib/services/observability.js.map +1 -0
- package/lib/services/opensearch.d.ts +505 -0
- package/lib/services/opensearch.d.ts.map +1 -0
- package/lib/services/opensearch.js +623 -0
- package/lib/services/opensearch.js.map +1 -0
- package/lib/services/pim.d.ts +997 -0
- package/lib/services/pim.d.ts.map +1 -0
- package/lib/services/pim.js +789 -0
- package/lib/services/pim.js.map +1 -0
- package/lib/services/postgres_flex.d.ts +854 -0
- package/lib/services/postgres_flex.d.ts.map +1 -0
- package/lib/services/postgres_flex.js +1018 -0
- package/lib/services/postgres_flex.js.map +1 -0
- package/lib/services/pubsub.d.ts +489 -0
- package/lib/services/pubsub.d.ts.map +1 -0
- package/lib/services/pubsub.js +614 -0
- package/lib/services/pubsub.js.map +1 -0
- package/lib/services/rabbitmq.d.ts +523 -0
- package/lib/services/rabbitmq.d.ts.map +1 -0
- package/lib/services/rabbitmq.js +636 -0
- package/lib/services/rabbitmq.js.map +1 -0
- package/lib/services/registry.d.ts +212 -0
- package/lib/services/registry.d.ts.map +1 -0
- package/lib/services/registry.js +221 -0
- package/lib/services/registry.js.map +1 -0
- package/lib/services/resource_manager.d.ts +458 -0
- package/lib/services/resource_manager.d.ts.map +1 -0
- package/lib/services/resource_manager.js +503 -0
- package/lib/services/resource_manager.js.map +1 -0
- package/lib/services/run_command.d.ts +175 -0
- package/lib/services/run_command.d.ts.map +1 -0
- package/lib/services/run_command.js +203 -0
- package/lib/services/run_command.js.map +1 -0
- package/lib/services/sca.d.ts +541 -0
- package/lib/services/sca.d.ts.map +1 -0
- package/lib/services/sca.js +478 -0
- package/lib/services/sca.js.map +1 -0
- package/lib/services/scf.d.ts +498 -0
- package/lib/services/scf.d.ts.map +1 -0
- package/lib/services/scf.js +718 -0
- package/lib/services/scf.js.map +1 -0
- package/lib/services/secrets_manager.d.ts +505 -0
- package/lib/services/secrets_manager.d.ts.map +1 -0
- package/lib/services/secrets_manager.js +659 -0
- package/lib/services/secrets_manager.js.map +1 -0
- package/lib/services/server_backup.d.ts +380 -0
- package/lib/services/server_backup.d.ts.map +1 -0
- package/lib/services/server_backup.js +474 -0
- package/lib/services/server_backup.js.map +1 -0
- package/lib/services/server_update.d.ts +292 -0
- package/lib/services/server_update.d.ts.map +1 -0
- package/lib/services/server_update.js +364 -0
- package/lib/services/server_update.js.map +1 -0
- package/lib/services/service_account.d.ts +465 -0
- package/lib/services/service_account.d.ts.map +1 -0
- package/lib/services/service_account.js +523 -0
- package/lib/services/service_account.js.map +1 -0
- package/lib/services/service_enablement.d.ts +149 -0
- package/lib/services/service_enablement.d.ts.map +1 -0
- package/lib/services/service_enablement.js +159 -0
- package/lib/services/service_enablement.js.map +1 -0
- package/lib/services/sfs.d.ts +721 -0
- package/lib/services/sfs.d.ts.map +1 -0
- package/lib/services/sfs.js +845 -0
- package/lib/services/sfs.js.map +1 -0
- package/lib/services/ske.d.ts +536 -0
- package/lib/services/ske.d.ts.map +1 -0
- package/lib/services/ske.js +598 -0
- package/lib/services/ske.js.map +1 -0
- package/lib/services/sqlserverflex.d.ts +956 -0
- package/lib/services/sqlserverflex.d.ts.map +1 -0
- package/lib/services/sqlserverflex.js +1087 -0
- package/lib/services/sqlserverflex.js.map +1 -0
- package/lib/services/stackit_marketplace.d.ts +288 -0
- package/lib/services/stackit_marketplace.d.ts.map +1 -0
- package/lib/services/stackit_marketplace.js +393 -0
- package/lib/services/stackit_marketplace.js.map +1 -0
- package/lib/services/telemetry_link.d.ts +443 -0
- package/lib/services/telemetry_link.d.ts.map +1 -0
- package/lib/services/telemetry_link.js +550 -0
- package/lib/services/telemetry_link.js.map +1 -0
- package/lib/services/telemetry_router.d.ts +493 -0
- package/lib/services/telemetry_router.d.ts.map +1 -0
- package/lib/services/telemetry_router.js +523 -0
- package/lib/services/telemetry_router.js.map +1 -0
- package/lib/services/ufw.d.ts +295 -0
- package/lib/services/ufw.d.ts.map +1 -0
- package/lib/services/ufw.js +301 -0
- package/lib/services/ufw.js.map +1 -0
- package/lib/services/valkey.d.ts +505 -0
- package/lib/services/valkey.d.ts.map +1 -0
- package/lib/services/valkey.js +627 -0
- package/lib/services/valkey.js.map +1 -0
- package/lib/services/vpn.d.ts +1024 -0
- package/lib/services/vpn.d.ts.map +1 -0
- package/lib/services/vpn.js +1013 -0
- package/lib/services/vpn.js.map +1 -0
- package/lib/services/workflows.d.ts +600 -0
- package/lib/services/workflows.d.ts.map +1 -0
- package/lib/services/workflows.js +556 -0
- package/lib/services/workflows.js.map +1 -0
- package/lib/traits.d.ts +24 -0
- package/lib/traits.d.ts.map +1 -0
- package/lib/traits.js +15 -0
- package/lib/traits.js.map +1 -0
- package/package.json +78 -7
- package/src/credentials.ts +90 -0
- package/src/errors.ts +50 -0
- package/src/index.ts +34 -0
- package/src/pagination.ts +73 -0
- package/src/protocol.ts +243 -0
- package/src/response-validation.test.ts +45 -0
- package/src/retry.ts +53 -0
- package/src/services/alb.ts +1409 -0
- package/src/services/alb_waf.ts +1347 -0
- package/src/services/authorization.ts +740 -0
- package/src/services/automation.ts +966 -0
- package/src/services/cdn.ts +2736 -0
- package/src/services/certificates.ts +450 -0
- package/src/services/cost.ts +484 -0
- package/src/services/dns.ts +2271 -0
- package/src/services/dremio.ts +803 -0
- package/src/services/edge.ts +839 -0
- package/src/services/functions.ts +1010 -0
- package/src/services/git.ts +1275 -0
- package/src/services/iaas.ts +8670 -0
- package/src/services/index.ts +51 -0
- package/src/services/intake.ts +1233 -0
- package/src/services/kms.ts +1638 -0
- package/src/services/lb_ip_lists.ts +377 -0
- package/src/services/load_balancer.ts +1342 -0
- package/src/services/logme.ts +1379 -0
- package/src/services/logs.ts +1150 -0
- package/src/services/mariadb.ts +1293 -0
- package/src/services/model_experiments.ts +797 -0
- package/src/services/model_serving.ts +697 -0
- package/src/services/mongodb_flex.ts +2078 -0
- package/src/services/object_storage.ts +1248 -0
- package/src/services/observability.ts +7856 -0
- package/src/services/opensearch.ts +1354 -0
- package/src/services/pim.ts +2090 -0
- package/src/services/postgres_flex.ts +2326 -0
- package/src/services/pubsub.ts +1336 -0
- package/src/services/rabbitmq.ts +1402 -0
- package/src/services/registry.ts +494 -0
- package/src/services/resource_manager.ts +1155 -0
- package/src/services/run_command.ts +441 -0
- package/src/services/sca.ts +1222 -0
- package/src/services/scf.ts +1537 -0
- package/src/services/secrets_manager.ts +1399 -0
- package/src/services/server_backup.ts +1032 -0
- package/src/services/server_update.ts +767 -0
- package/src/services/service_account.ts +1208 -0
- package/src/services/service_enablement.ts +359 -0
- package/src/services/sfs.ts +1913 -0
- package/src/services/ske.ts +1408 -0
- package/src/services/sqlserverflex.ts +2543 -0
- package/src/services/stackit_marketplace.ts +853 -0
- package/src/services/telemetry_link.ts +1245 -0
- package/src/services/telemetry_router.ts +1205 -0
- package/src/services/ufw.ts +704 -0
- package/src/services/valkey.ts +1357 -0
- package/src/services/vpn.ts +2554 -0
- package/src/services/workflows.ts +1361 -0
- package/src/traits.ts +65 -0
|
@@ -0,0 +1,1409 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-stackit). Do not edit.
|
|
2
|
+
import * as S from "@distilled.cloud/core/schema";
|
|
3
|
+
import * as Redacted from "effect/Redacted";
|
|
4
|
+
import * as API from "@distilled.cloud/core/api";
|
|
5
|
+
import * as C from "@distilled.cloud/core/category";
|
|
6
|
+
import * as T from "../traits.ts";
|
|
7
|
+
import {
|
|
8
|
+
StackitProtocol,
|
|
9
|
+
type StackitOpError,
|
|
10
|
+
type StackitOpContext,
|
|
11
|
+
} from "../protocol.ts";
|
|
12
|
+
import { UnknownStackitError } from "../errors.ts";
|
|
13
|
+
import * as Retry from "../retry.ts";
|
|
14
|
+
|
|
15
|
+
export type { StackitOpError, StackitOpContext };
|
|
16
|
+
|
|
17
|
+
export class BadRequest
|
|
18
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
19
|
+
/*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
|
|
20
|
+
code: S.Number,
|
|
21
|
+
message: S.String,
|
|
22
|
+
}).pipe(C.withBadRequestError),
|
|
23
|
+
[{ status: 400 }],
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
export class Conflict
|
|
27
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
28
|
+
/*@__PURE__*/ S.TaggedError<Conflict>()("Conflict", {
|
|
29
|
+
code: S.Number,
|
|
30
|
+
message: S.String,
|
|
31
|
+
}).pipe(C.withConflictError),
|
|
32
|
+
[{ status: 409 }],
|
|
33
|
+
) {}
|
|
34
|
+
|
|
35
|
+
export class Forbidden
|
|
36
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
37
|
+
/*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
|
|
38
|
+
code: S.Number,
|
|
39
|
+
message: S.String,
|
|
40
|
+
}).pipe(C.withAuthError),
|
|
41
|
+
[{ status: 403 }],
|
|
42
|
+
) {}
|
|
43
|
+
|
|
44
|
+
export class NotFound
|
|
45
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
46
|
+
/*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
|
|
47
|
+
code: S.Number,
|
|
48
|
+
message: S.String,
|
|
49
|
+
}).pipe(C.withBadRequestError),
|
|
50
|
+
[{ status: 404 }],
|
|
51
|
+
) {}
|
|
52
|
+
|
|
53
|
+
export interface CreateCredentialsRequest {
|
|
54
|
+
projectId: string;
|
|
55
|
+
region: string;
|
|
56
|
+
/** Credential name */
|
|
57
|
+
displayName?: string;
|
|
58
|
+
/** A valid password used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
59
|
+
password?: string | Redacted.Redacted<string>;
|
|
60
|
+
/** A valid username used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
61
|
+
username?: string;
|
|
62
|
+
}
|
|
63
|
+
export const CreateCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
64
|
+
S.Struct({
|
|
65
|
+
projectId: S.String.pipe(T.Label()),
|
|
66
|
+
region: S.String.pipe(T.Label()),
|
|
67
|
+
displayName: S.optional(S.String),
|
|
68
|
+
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
69
|
+
username: S.optional(S.String),
|
|
70
|
+
}).pipe(
|
|
71
|
+
T.Http({
|
|
72
|
+
method: "POST",
|
|
73
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
74
|
+
code: 200,
|
|
75
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
76
|
+
}),
|
|
77
|
+
),
|
|
78
|
+
).annotate({
|
|
79
|
+
identifier: "CreateCredentialsRequest",
|
|
80
|
+
}) as any as S.Schema<CreateCredentialsRequest>;
|
|
81
|
+
|
|
82
|
+
export interface CredentialsResponse {
|
|
83
|
+
/** The credentials reference can be used for observability of the Application Load Balancer. */
|
|
84
|
+
credentialsRef?: string;
|
|
85
|
+
/** Credential name */
|
|
86
|
+
displayName?: string;
|
|
87
|
+
/** Region of the Credential */
|
|
88
|
+
region?: string;
|
|
89
|
+
/** The username used for the STACKIT Observability instance */
|
|
90
|
+
username?: string;
|
|
91
|
+
}
|
|
92
|
+
export const CredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
93
|
+
S.Struct({
|
|
94
|
+
credentialsRef: S.optional(S.String),
|
|
95
|
+
displayName: S.optional(S.String),
|
|
96
|
+
region: S.optional(S.String),
|
|
97
|
+
username: S.optional(S.String),
|
|
98
|
+
}),
|
|
99
|
+
).annotate({
|
|
100
|
+
identifier: "CredentialsResponse",
|
|
101
|
+
}) as any as S.Schema<CredentialsResponse>;
|
|
102
|
+
|
|
103
|
+
export interface CreateCredentialsResponse {
|
|
104
|
+
credential?: CredentialsResponse;
|
|
105
|
+
}
|
|
106
|
+
export const CreateCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
107
|
+
S.Struct({
|
|
108
|
+
credential: S.optional(CredentialsResponse),
|
|
109
|
+
}),
|
|
110
|
+
).annotate({
|
|
111
|
+
identifier: "CreateCredentialsResponse",
|
|
112
|
+
}) as any as S.Schema<CreateCredentialsResponse>;
|
|
113
|
+
|
|
114
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
115
|
+
export type CreateLoadBalancerRequestLabelsMap = {
|
|
116
|
+
[key: string]: string | undefined;
|
|
117
|
+
};
|
|
118
|
+
export const CreateLoadBalancerRequestLabelsMap = /*@__PURE__*/ S.Record(
|
|
119
|
+
S.String,
|
|
120
|
+
S.String,
|
|
121
|
+
) as any as S.Schema<CreateLoadBalancerRequestLabelsMap>;
|
|
122
|
+
|
|
123
|
+
/** CookiePersistence contains the cookie-based session persistence configuration. */
|
|
124
|
+
export interface CookiePersistence {
|
|
125
|
+
/** Cookie is the name of the cookie to use. */
|
|
126
|
+
name?: string;
|
|
127
|
+
/** TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. */
|
|
128
|
+
ttl?: string;
|
|
129
|
+
}
|
|
130
|
+
export const CookiePersistence = /*@__PURE__*/ S.suspend(() =>
|
|
131
|
+
S.Struct({
|
|
132
|
+
name: S.optional(S.String),
|
|
133
|
+
ttl: S.optional(S.String),
|
|
134
|
+
}),
|
|
135
|
+
).annotate({
|
|
136
|
+
identifier: "CookiePersistence",
|
|
137
|
+
}) as any as S.Schema<CookiePersistence>;
|
|
138
|
+
|
|
139
|
+
export interface HttpHeader {
|
|
140
|
+
/** Exact match for the header value. */
|
|
141
|
+
exactMatch?: string;
|
|
142
|
+
/** Header name. */
|
|
143
|
+
name?: string;
|
|
144
|
+
}
|
|
145
|
+
export const HttpHeader = /*@__PURE__*/ S.suspend(() =>
|
|
146
|
+
S.Struct({
|
|
147
|
+
exactMatch: S.optional(S.String),
|
|
148
|
+
name: S.optional(S.String),
|
|
149
|
+
}),
|
|
150
|
+
).annotate({ identifier: "HttpHeader" }) as any as S.Schema<HttpHeader>;
|
|
151
|
+
|
|
152
|
+
/** Headers for the rule. */
|
|
153
|
+
export type RuleHeadersList = Array<HttpHeader>;
|
|
154
|
+
export const RuleHeadersList = /*@__PURE__*/ S.Array(
|
|
155
|
+
HttpHeader,
|
|
156
|
+
) as any as S.Schema<RuleHeadersList>;
|
|
157
|
+
|
|
158
|
+
/** Path match. Optional. Contains either an exact or prefix match. If not set, defaults to root path '/' of prefix type. Cannot be set if 'path_prefix' is used. Prefer using this field over 'path_prefix'. */
|
|
159
|
+
export interface Path {
|
|
160
|
+
/** Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. */
|
|
161
|
+
exactMatch?: string;
|
|
162
|
+
/** Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. */
|
|
163
|
+
prefix?: string;
|
|
164
|
+
}
|
|
165
|
+
export const Path = /*@__PURE__*/ S.suspend(() =>
|
|
166
|
+
S.Struct({
|
|
167
|
+
exactMatch: S.optional(S.String),
|
|
168
|
+
prefix: S.optional(S.String),
|
|
169
|
+
}),
|
|
170
|
+
).annotate({ identifier: "Path" }) as any as S.Schema<Path>;
|
|
171
|
+
|
|
172
|
+
export interface QueryParameter {
|
|
173
|
+
/** Exact match for the parameter value. */
|
|
174
|
+
exactMatch?: string;
|
|
175
|
+
/** Parameter name. */
|
|
176
|
+
name?: string;
|
|
177
|
+
}
|
|
178
|
+
export const QueryParameter = /*@__PURE__*/ S.suspend(() =>
|
|
179
|
+
S.Struct({
|
|
180
|
+
exactMatch: S.optional(S.String),
|
|
181
|
+
name: S.optional(S.String),
|
|
182
|
+
}),
|
|
183
|
+
).annotate({ identifier: "QueryParameter" }) as any as S.Schema<QueryParameter>;
|
|
184
|
+
|
|
185
|
+
/** Query parameters for the rule. */
|
|
186
|
+
export type RuleQueryParametersList = Array<QueryParameter>;
|
|
187
|
+
export const RuleQueryParametersList = /*@__PURE__*/ S.Array(
|
|
188
|
+
QueryParameter,
|
|
189
|
+
) as any as S.Schema<RuleQueryParametersList>;
|
|
190
|
+
|
|
191
|
+
export interface Rule {
|
|
192
|
+
cookiePersistence?: CookiePersistence;
|
|
193
|
+
/** Headers for the rule. */
|
|
194
|
+
headers?: RuleHeadersList;
|
|
195
|
+
path?: Path;
|
|
196
|
+
/** Query parameters for the rule. */
|
|
197
|
+
queryParameters?: RuleQueryParametersList;
|
|
198
|
+
/** Reference target pool by target pool name. */
|
|
199
|
+
targetPool?: string;
|
|
200
|
+
/** If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. */
|
|
201
|
+
webSocket?: boolean;
|
|
202
|
+
}
|
|
203
|
+
export const Rule = /*@__PURE__*/ S.suspend(() =>
|
|
204
|
+
S.Struct({
|
|
205
|
+
cookiePersistence: S.optional(CookiePersistence),
|
|
206
|
+
headers: S.optional(RuleHeadersList),
|
|
207
|
+
path: S.optional(Path),
|
|
208
|
+
queryParameters: S.optional(RuleQueryParametersList),
|
|
209
|
+
targetPool: S.optional(S.String),
|
|
210
|
+
webSocket: S.optional(S.Boolean),
|
|
211
|
+
}),
|
|
212
|
+
).annotate({ identifier: "Rule" }) as any as S.Schema<Rule>;
|
|
213
|
+
|
|
214
|
+
/** Routing rules under the specified host, matched by path prefix. */
|
|
215
|
+
export type HostConfigRulesList = Array<Rule>;
|
|
216
|
+
export const HostConfigRulesList = /*@__PURE__*/ S.Array(
|
|
217
|
+
Rule,
|
|
218
|
+
) as any as S.Schema<HostConfigRulesList>;
|
|
219
|
+
|
|
220
|
+
export interface HostConfig {
|
|
221
|
+
/** Hostname to match. Supports wildcards (e.g. *.example.com). */
|
|
222
|
+
host?: string;
|
|
223
|
+
/** Routing rules under the specified host, matched by path prefix. */
|
|
224
|
+
rules?: HostConfigRulesList;
|
|
225
|
+
}
|
|
226
|
+
export const HostConfig = /*@__PURE__*/ S.suspend(() =>
|
|
227
|
+
S.Struct({
|
|
228
|
+
host: S.optional(S.String),
|
|
229
|
+
rules: S.optional(HostConfigRulesList),
|
|
230
|
+
}),
|
|
231
|
+
).annotate({ identifier: "HostConfig" }) as any as S.Schema<HostConfig>;
|
|
232
|
+
|
|
233
|
+
/** Defines routing rules grouped by hostname. */
|
|
234
|
+
export type ProtocolOptionsHTTPHostsList = Array<HostConfig>;
|
|
235
|
+
export const ProtocolOptionsHTTPHostsList = /*@__PURE__*/ S.Array(
|
|
236
|
+
HostConfig,
|
|
237
|
+
) as any as S.Schema<ProtocolOptionsHTTPHostsList>;
|
|
238
|
+
|
|
239
|
+
/** Configuration for handling HTTP traffic on this listener. */
|
|
240
|
+
export interface ProtocolOptionsHTTP {
|
|
241
|
+
/** Defines routing rules grouped by hostname. */
|
|
242
|
+
hosts?: ProtocolOptionsHTTPHostsList;
|
|
243
|
+
}
|
|
244
|
+
export const ProtocolOptionsHTTP = /*@__PURE__*/ S.suspend(() =>
|
|
245
|
+
S.Struct({
|
|
246
|
+
hosts: S.optional(ProtocolOptionsHTTPHostsList),
|
|
247
|
+
}),
|
|
248
|
+
).annotate({
|
|
249
|
+
identifier: "ProtocolOptionsHTTP",
|
|
250
|
+
}) as any as S.Schema<ProtocolOptionsHTTP>;
|
|
251
|
+
|
|
252
|
+
/** Certificate IDs for TLS termination. */
|
|
253
|
+
export type CertificateConfigCertificateIdsList = Array<string>;
|
|
254
|
+
export const CertificateConfigCertificateIdsList = /*@__PURE__*/ S.Array(
|
|
255
|
+
S.String,
|
|
256
|
+
) as any as S.Schema<CertificateConfigCertificateIdsList>;
|
|
257
|
+
|
|
258
|
+
/** TLS termination certificate configuration. */
|
|
259
|
+
export interface CertificateConfig {
|
|
260
|
+
/** Certificate IDs for TLS termination. */
|
|
261
|
+
certificateIds?: CertificateConfigCertificateIdsList;
|
|
262
|
+
}
|
|
263
|
+
export const CertificateConfig = /*@__PURE__*/ S.suspend(() =>
|
|
264
|
+
S.Struct({
|
|
265
|
+
certificateIds: S.optional(CertificateConfigCertificateIdsList),
|
|
266
|
+
}),
|
|
267
|
+
).annotate({
|
|
268
|
+
identifier: "CertificateConfig",
|
|
269
|
+
}) as any as S.Schema<CertificateConfig>;
|
|
270
|
+
|
|
271
|
+
/** Configuration for handling HTTPS traffic on this listener. */
|
|
272
|
+
export interface ProtocolOptionsHTTPS {
|
|
273
|
+
certificateConfig?: CertificateConfig;
|
|
274
|
+
}
|
|
275
|
+
export const ProtocolOptionsHTTPS = /*@__PURE__*/ S.suspend(() =>
|
|
276
|
+
S.Struct({
|
|
277
|
+
certificateConfig: S.optional(CertificateConfig),
|
|
278
|
+
}),
|
|
279
|
+
).annotate({
|
|
280
|
+
identifier: "ProtocolOptionsHTTPS",
|
|
281
|
+
}) as any as S.Schema<ProtocolOptionsHTTPS>;
|
|
282
|
+
|
|
283
|
+
/** Protocol is the highest network protocol we understand to load balance. Currently PROTOCOL_HTTP and PROTOCOL_HTTPS are supported. */
|
|
284
|
+
export type ListenerProtocol =
|
|
285
|
+
| "PROTOCOL_UNSPECIFIED"
|
|
286
|
+
| "PROTOCOL_HTTP"
|
|
287
|
+
| "PROTOCOL_HTTPS";
|
|
288
|
+
export const ListenerProtocol = /*@__PURE__*/ S.String;
|
|
289
|
+
|
|
290
|
+
export interface Listener {
|
|
291
|
+
http?: ProtocolOptionsHTTP;
|
|
292
|
+
https?: ProtocolOptionsHTTPS;
|
|
293
|
+
/** A unique listener name. */
|
|
294
|
+
name?: string;
|
|
295
|
+
/** Port number on which the listener receives incoming traffic. */
|
|
296
|
+
port?: number;
|
|
297
|
+
/** Protocol is the highest network protocol we understand to load balance. Currently PROTOCOL_HTTP and PROTOCOL_HTTPS are supported. */
|
|
298
|
+
protocol?: ListenerProtocol | (string & {});
|
|
299
|
+
/** Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. */
|
|
300
|
+
wafConfigName?: string;
|
|
301
|
+
}
|
|
302
|
+
export const Listener = /*@__PURE__*/ S.suspend(() =>
|
|
303
|
+
S.Struct({
|
|
304
|
+
http: S.optional(ProtocolOptionsHTTP),
|
|
305
|
+
https: S.optional(ProtocolOptionsHTTPS),
|
|
306
|
+
name: S.optional(S.String),
|
|
307
|
+
port: S.optional(S.Number),
|
|
308
|
+
protocol: S.optional(ListenerProtocol),
|
|
309
|
+
wafConfigName: S.optional(S.String),
|
|
310
|
+
}),
|
|
311
|
+
).annotate({ identifier: "Listener" }) as any as S.Schema<Listener>;
|
|
312
|
+
|
|
313
|
+
/** There is a maximum listener count of 20. */
|
|
314
|
+
export type CreateLoadBalancerRequestListenersList = Array<Listener>;
|
|
315
|
+
export const CreateLoadBalancerRequestListenersList = /*@__PURE__*/ S.Array(
|
|
316
|
+
Listener,
|
|
317
|
+
) as any as S.Schema<CreateLoadBalancerRequestListenersList>;
|
|
318
|
+
|
|
319
|
+
/** The role defines how the Application Load Balancer is using the network. Currently only ROLE_LISTENERS_AND_TARGETS is supported. */
|
|
320
|
+
export type NetworkRole =
|
|
321
|
+
| "ROLE_UNSPECIFIED"
|
|
322
|
+
| "ROLE_LISTENERS_AND_TARGETS"
|
|
323
|
+
| "ROLE_LISTENERS"
|
|
324
|
+
| "ROLE_TARGETS";
|
|
325
|
+
export const NetworkRole = /*@__PURE__*/ S.String;
|
|
326
|
+
|
|
327
|
+
export interface Network {
|
|
328
|
+
/** STACKIT network ID the Application Load Balancer and/or targets are in. */
|
|
329
|
+
networkId?: string;
|
|
330
|
+
/** The role defines how the Application Load Balancer is using the network. Currently only ROLE_LISTENERS_AND_TARGETS is supported. */
|
|
331
|
+
role?: NetworkRole | (string & {});
|
|
332
|
+
}
|
|
333
|
+
export const Network = /*@__PURE__*/ S.suspend(() =>
|
|
334
|
+
S.Struct({
|
|
335
|
+
networkId: S.optional(S.String),
|
|
336
|
+
role: S.optional(NetworkRole),
|
|
337
|
+
}),
|
|
338
|
+
).annotate({ identifier: "Network" }) as any as S.Schema<Network>;
|
|
339
|
+
|
|
340
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
341
|
+
export type CreateLoadBalancerRequestNetworksList = Array<Network>;
|
|
342
|
+
export const CreateLoadBalancerRequestNetworksList = /*@__PURE__*/ S.Array(
|
|
343
|
+
Network,
|
|
344
|
+
) as any as S.Schema<CreateLoadBalancerRequestNetworksList>;
|
|
345
|
+
|
|
346
|
+
/** Application Load Balancer is accessible only from an IP address in this range. May be combined with `ipBlockListName`; `allowedSourceRanges` is evaluated first, then `ipBlockListName`. */
|
|
347
|
+
export type LoadbalancerOptionAccessControlAllowedSourceRangesList =
|
|
348
|
+
Array<string>;
|
|
349
|
+
export const LoadbalancerOptionAccessControlAllowedSourceRangesList =
|
|
350
|
+
/*@__PURE__*/ S.Array(
|
|
351
|
+
S.String,
|
|
352
|
+
) as any as S.Schema<LoadbalancerOptionAccessControlAllowedSourceRangesList>;
|
|
353
|
+
|
|
354
|
+
/** Use this option to limit the IP ranges that can use the Application Load Balancer. `allowed_source_ranges` and `ip_block_list_name` may be set together. When both are set, `allowed_source_ranges` is evaluated first, then `ip_block_list_name` is evaluated. */
|
|
355
|
+
export interface LoadbalancerOptionAccessControl {
|
|
356
|
+
/** Application Load Balancer is accessible only from an IP address in this range. May be combined with `ipBlockListName`; `allowedSourceRanges` is evaluated first, then `ipBlockListName`. */
|
|
357
|
+
allowedSourceRanges?: LoadbalancerOptionAccessControlAllowedSourceRangesList;
|
|
358
|
+
/** Reference to an IP block list by name. Traffic originating from any IP in the referenced list is denied access to the Application Load Balancer. See "IP Lists API" for how to manage IP block lists. May be combined with `allowedSourceRanges`; `allowedSourceRanges` is evaluated first, then `ipBlockListName`. */
|
|
359
|
+
ipBlockListName?: string;
|
|
360
|
+
}
|
|
361
|
+
export const LoadbalancerOptionAccessControl = /*@__PURE__*/ S.suspend(() =>
|
|
362
|
+
S.Struct({
|
|
363
|
+
allowedSourceRanges: S.optional(
|
|
364
|
+
LoadbalancerOptionAccessControlAllowedSourceRangesList,
|
|
365
|
+
),
|
|
366
|
+
ipBlockListName: S.optional(S.String),
|
|
367
|
+
}),
|
|
368
|
+
).annotate({
|
|
369
|
+
identifier: "LoadbalancerOptionAccessControl",
|
|
370
|
+
}) as any as S.Schema<LoadbalancerOptionAccessControl>;
|
|
371
|
+
|
|
372
|
+
/** Observability logs configuration. */
|
|
373
|
+
export interface LoadbalancerOptionLogs {
|
|
374
|
+
/** 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 Application Load Balancer. */
|
|
375
|
+
credentialsRef?: string;
|
|
376
|
+
/** The Observability(Logs)/Loki remote write Push URL you want the logs to be shipped to. */
|
|
377
|
+
pushUrl?: string;
|
|
378
|
+
}
|
|
379
|
+
export const LoadbalancerOptionLogs = /*@__PURE__*/ S.suspend(() =>
|
|
380
|
+
S.Struct({
|
|
381
|
+
credentialsRef: S.optional(S.String),
|
|
382
|
+
pushUrl: S.optional(S.String),
|
|
383
|
+
}),
|
|
384
|
+
).annotate({
|
|
385
|
+
identifier: "LoadbalancerOptionLogs",
|
|
386
|
+
}) as any as S.Schema<LoadbalancerOptionLogs>;
|
|
387
|
+
|
|
388
|
+
/** Observability metrics configuration. */
|
|
389
|
+
export interface LoadbalancerOptionMetrics {
|
|
390
|
+
/** 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 Application Load Balancer. */
|
|
391
|
+
credentialsRef?: string;
|
|
392
|
+
/** The Observability(Metrics)/Prometheus remote write push URL you want the metrics to be shipped to. */
|
|
393
|
+
pushUrl?: string;
|
|
394
|
+
}
|
|
395
|
+
export const LoadbalancerOptionMetrics = /*@__PURE__*/ S.suspend(() =>
|
|
396
|
+
S.Struct({
|
|
397
|
+
credentialsRef: S.optional(S.String),
|
|
398
|
+
pushUrl: S.optional(S.String),
|
|
399
|
+
}),
|
|
400
|
+
).annotate({
|
|
401
|
+
identifier: "LoadbalancerOptionMetrics",
|
|
402
|
+
}) as any as S.Schema<LoadbalancerOptionMetrics>;
|
|
403
|
+
|
|
404
|
+
/** We offer Load Balancer observability via STACKIT Observability or external solutions. */
|
|
405
|
+
export interface LoadbalancerOptionObservability {
|
|
406
|
+
logs?: LoadbalancerOptionLogs;
|
|
407
|
+
metrics?: LoadbalancerOptionMetrics;
|
|
408
|
+
}
|
|
409
|
+
export const LoadbalancerOptionObservability = /*@__PURE__*/ S.suspend(() =>
|
|
410
|
+
S.Struct({
|
|
411
|
+
logs: S.optional(LoadbalancerOptionLogs),
|
|
412
|
+
metrics: S.optional(LoadbalancerOptionMetrics),
|
|
413
|
+
}),
|
|
414
|
+
).annotate({
|
|
415
|
+
identifier: "LoadbalancerOptionObservability",
|
|
416
|
+
}) as any as S.Schema<LoadbalancerOptionObservability>;
|
|
417
|
+
|
|
418
|
+
/** Defines any optional functionality you want to have enabled on your Application Load Balancer. */
|
|
419
|
+
export interface LoadBalancerOptions {
|
|
420
|
+
accessControl?: LoadbalancerOptionAccessControl;
|
|
421
|
+
/** This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. */
|
|
422
|
+
ephemeralAddress?: boolean;
|
|
423
|
+
observability?: LoadbalancerOptionObservability;
|
|
424
|
+
/** Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. */
|
|
425
|
+
privateNetworkOnly?: boolean;
|
|
426
|
+
}
|
|
427
|
+
export const LoadBalancerOptions = /*@__PURE__*/ S.suspend(() =>
|
|
428
|
+
S.Struct({
|
|
429
|
+
accessControl: S.optional(LoadbalancerOptionAccessControl),
|
|
430
|
+
ephemeralAddress: S.optional(S.Boolean),
|
|
431
|
+
observability: S.optional(LoadbalancerOptionObservability),
|
|
432
|
+
privateNetworkOnly: S.optional(S.Boolean),
|
|
433
|
+
}),
|
|
434
|
+
).annotate({
|
|
435
|
+
identifier: "LoadBalancerOptions",
|
|
436
|
+
}) as any as S.Schema<LoadBalancerOptions>;
|
|
437
|
+
|
|
438
|
+
/** List of HTTP status codes that indicate a healthy response */
|
|
439
|
+
export type HttpHealthChecksOkStatusesList = Array<string>;
|
|
440
|
+
export const HttpHealthChecksOkStatusesList = /*@__PURE__*/ S.Array(
|
|
441
|
+
S.String,
|
|
442
|
+
) as any as S.Schema<HttpHealthChecksOkStatusesList>;
|
|
443
|
+
|
|
444
|
+
/** Set this to configure TLS settings. */
|
|
445
|
+
export interface TlsConfig {
|
|
446
|
+
/** 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. */
|
|
447
|
+
customCa?: string;
|
|
448
|
+
/** Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. */
|
|
449
|
+
enabled?: boolean;
|
|
450
|
+
/** 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! */
|
|
451
|
+
skipCertificateValidation?: boolean;
|
|
452
|
+
}
|
|
453
|
+
export const TlsConfig = /*@__PURE__*/ S.suspend(() =>
|
|
454
|
+
S.Struct({
|
|
455
|
+
customCa: S.optional(S.String),
|
|
456
|
+
enabled: S.optional(S.Boolean),
|
|
457
|
+
skipCertificateValidation: S.optional(S.Boolean),
|
|
458
|
+
}),
|
|
459
|
+
).annotate({ identifier: "TlsConfig" }) as any as S.Schema<TlsConfig>;
|
|
460
|
+
|
|
461
|
+
/** Options for the HTTP health checking. */
|
|
462
|
+
export interface HttpHealthChecks {
|
|
463
|
+
/** List of HTTP status codes that indicate a healthy response */
|
|
464
|
+
okStatuses?: HttpHealthChecksOkStatusesList;
|
|
465
|
+
/** Path to send the health check request to */
|
|
466
|
+
path?: string;
|
|
467
|
+
tls?: TlsConfig;
|
|
468
|
+
}
|
|
469
|
+
export const HttpHealthChecks = /*@__PURE__*/ S.suspend(() =>
|
|
470
|
+
S.Struct({
|
|
471
|
+
okStatuses: S.optional(HttpHealthChecksOkStatusesList),
|
|
472
|
+
path: S.optional(S.String),
|
|
473
|
+
tls: S.optional(TlsConfig),
|
|
474
|
+
}),
|
|
475
|
+
).annotate({
|
|
476
|
+
identifier: "HttpHealthChecks",
|
|
477
|
+
}) as any as S.Schema<HttpHealthChecks>;
|
|
478
|
+
|
|
479
|
+
/** Set this to customize active health checks for targets in this pool. */
|
|
480
|
+
export interface ActiveHealthCheck {
|
|
481
|
+
/** Overrides the default port used for health check probes. */
|
|
482
|
+
altPort?: number;
|
|
483
|
+
/** Healthy threshold of the health checking */
|
|
484
|
+
healthyThreshold?: number;
|
|
485
|
+
httpHealthChecks?: HttpHealthChecks;
|
|
486
|
+
/** Interval duration of health checking in seconds */
|
|
487
|
+
interval?: string;
|
|
488
|
+
/** Interval duration threshold of the health checking in seconds */
|
|
489
|
+
intervalJitter?: string;
|
|
490
|
+
/** Active health checking timeout duration in seconds */
|
|
491
|
+
timeout?: string;
|
|
492
|
+
/** Unhealthy threshold of the health checking */
|
|
493
|
+
unhealthyThreshold?: number;
|
|
494
|
+
}
|
|
495
|
+
export const ActiveHealthCheck = /*@__PURE__*/ S.suspend(() =>
|
|
496
|
+
S.Struct({
|
|
497
|
+
altPort: S.optional(S.Number),
|
|
498
|
+
healthyThreshold: S.optional(S.Number),
|
|
499
|
+
httpHealthChecks: S.optional(HttpHealthChecks),
|
|
500
|
+
interval: S.optional(S.String),
|
|
501
|
+
intervalJitter: S.optional(S.String),
|
|
502
|
+
timeout: S.optional(S.String),
|
|
503
|
+
unhealthyThreshold: S.optional(S.Number),
|
|
504
|
+
}),
|
|
505
|
+
).annotate({
|
|
506
|
+
identifier: "ActiveHealthCheck",
|
|
507
|
+
}) as any as S.Schema<ActiveHealthCheck>;
|
|
508
|
+
|
|
509
|
+
export interface Target {
|
|
510
|
+
/** Target display name. */
|
|
511
|
+
displayName?: string;
|
|
512
|
+
/** Private target IP, which must by unique within a target pool. */
|
|
513
|
+
ip?: string;
|
|
514
|
+
}
|
|
515
|
+
export const Target = /*@__PURE__*/ S.suspend(() =>
|
|
516
|
+
S.Struct({
|
|
517
|
+
displayName: S.optional(S.String),
|
|
518
|
+
ip: S.optional(S.String),
|
|
519
|
+
}),
|
|
520
|
+
).annotate({ identifier: "Target" }) as any as S.Schema<Target>;
|
|
521
|
+
|
|
522
|
+
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
523
|
+
export type TargetPoolTargetsList = Array<Target>;
|
|
524
|
+
export const TargetPoolTargetsList = /*@__PURE__*/ S.Array(
|
|
525
|
+
Target,
|
|
526
|
+
) as any as S.Schema<TargetPoolTargetsList>;
|
|
527
|
+
|
|
528
|
+
export interface TargetPool {
|
|
529
|
+
activeHealthCheck?: ActiveHealthCheck;
|
|
530
|
+
/** Target pool name */
|
|
531
|
+
name?: string;
|
|
532
|
+
/** The number identifying the port where each target listens for traffic. */
|
|
533
|
+
targetPort?: number;
|
|
534
|
+
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
535
|
+
targets?: TargetPoolTargetsList;
|
|
536
|
+
tlsConfig?: TlsConfig;
|
|
537
|
+
}
|
|
538
|
+
export const TargetPool = /*@__PURE__*/ S.suspend(() =>
|
|
539
|
+
S.Struct({
|
|
540
|
+
activeHealthCheck: S.optional(ActiveHealthCheck),
|
|
541
|
+
name: S.optional(S.String),
|
|
542
|
+
targetPort: S.optional(S.Number),
|
|
543
|
+
targets: S.optional(TargetPoolTargetsList),
|
|
544
|
+
tlsConfig: S.optional(TlsConfig),
|
|
545
|
+
}),
|
|
546
|
+
).annotate({ identifier: "TargetPool" }) as any as S.Schema<TargetPool>;
|
|
547
|
+
|
|
548
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
549
|
+
export type CreateLoadBalancerRequestTargetPoolsList = Array<TargetPool>;
|
|
550
|
+
export const CreateLoadBalancerRequestTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
551
|
+
TargetPool,
|
|
552
|
+
) as any as S.Schema<CreateLoadBalancerRequestTargetPoolsList>;
|
|
553
|
+
|
|
554
|
+
export interface CreateLoadBalancerRequest {
|
|
555
|
+
projectId: string;
|
|
556
|
+
region: string;
|
|
557
|
+
/** 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. */
|
|
558
|
+
disableTargetSecurityGroupAssignment?: boolean;
|
|
559
|
+
/** The external IP address where this Application Load Balancer is exposed. Not changeable after creation. */
|
|
560
|
+
externalAddress?: string;
|
|
561
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
562
|
+
labels?: CreateLoadBalancerRequestLabelsMap;
|
|
563
|
+
/** There is a maximum listener count of 20. */
|
|
564
|
+
listeners?: CreateLoadBalancerRequestListenersList;
|
|
565
|
+
/** Application Load Balancer name. Not changeable after creation. */
|
|
566
|
+
name?: string;
|
|
567
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
568
|
+
networks?: CreateLoadBalancerRequestNetworksList;
|
|
569
|
+
options?: LoadBalancerOptions;
|
|
570
|
+
/** Service Plan configures the size of the Application Load Balancer. Currently supported plan is p10. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. */
|
|
571
|
+
planId?: string;
|
|
572
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
573
|
+
targetPools?: CreateLoadBalancerRequestTargetPoolsList;
|
|
574
|
+
}
|
|
575
|
+
export const CreateLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
576
|
+
S.Struct({
|
|
577
|
+
projectId: S.String.pipe(T.Label()),
|
|
578
|
+
region: S.String.pipe(T.Label()),
|
|
579
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
580
|
+
externalAddress: S.optional(S.String),
|
|
581
|
+
labels: S.optional(CreateLoadBalancerRequestLabelsMap),
|
|
582
|
+
listeners: S.optional(CreateLoadBalancerRequestListenersList),
|
|
583
|
+
name: S.optional(S.String),
|
|
584
|
+
networks: S.optional(CreateLoadBalancerRequestNetworksList),
|
|
585
|
+
options: S.optional(LoadBalancerOptions),
|
|
586
|
+
planId: S.optional(S.String),
|
|
587
|
+
targetPools: S.optional(CreateLoadBalancerRequestTargetPoolsList),
|
|
588
|
+
}).pipe(
|
|
589
|
+
T.Http({
|
|
590
|
+
method: "POST",
|
|
591
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
592
|
+
code: 200,
|
|
593
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
594
|
+
}),
|
|
595
|
+
),
|
|
596
|
+
).annotate({
|
|
597
|
+
identifier: "CreateLoadBalancerRequest",
|
|
598
|
+
}) as any as S.Schema<CreateLoadBalancerRequest>;
|
|
599
|
+
|
|
600
|
+
/** The error type specifies which part of the Application 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 Application Load Balancer with try to use the provided IP and if not available reports TYPE_FIP_NOT_CONFIGURED error. */
|
|
601
|
+
export type LoadBalancerErrorType =
|
|
602
|
+
| "TYPE_UNSPECIFIED"
|
|
603
|
+
| "TYPE_INTERNAL"
|
|
604
|
+
| "TYPE_QUOTA_SECGROUP_EXCEEDED"
|
|
605
|
+
| "TYPE_QUOTA_SECGROUPRULE_EXCEEDED"
|
|
606
|
+
| "TYPE_PORT_NOT_CONFIGURED"
|
|
607
|
+
| "TYPE_FIP_NOT_CONFIGURED"
|
|
608
|
+
| "TYPE_TARGET_NOT_ACTIVE"
|
|
609
|
+
| "TYPE_METRICS_MISCONFIGURED"
|
|
610
|
+
| "TYPE_LOGS_MISCONFIGURED"
|
|
611
|
+
| "TYPE_FIP_NOT_FOUND"
|
|
612
|
+
| "TYPE_IP_EXHAUSTED"
|
|
613
|
+
| "TYPE_DNS_NOT_CONFIGURED"
|
|
614
|
+
| "TYPE_VM_PORT_NOT_CONFIGURED";
|
|
615
|
+
export const LoadBalancerErrorType = /*@__PURE__*/ S.String;
|
|
616
|
+
|
|
617
|
+
export interface LoadBalancerError {
|
|
618
|
+
/** The error description contains additional helpful user information to fix the error state of the Application 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. */
|
|
619
|
+
description?: string;
|
|
620
|
+
/** The error type specifies which part of the Application 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 Application Load Balancer with try to use the provided IP and if not available reports TYPE_FIP_NOT_CONFIGURED error. */
|
|
621
|
+
type?: LoadBalancerErrorType;
|
|
622
|
+
}
|
|
623
|
+
export const LoadBalancerError = /*@__PURE__*/ S.suspend(() =>
|
|
624
|
+
S.Struct({
|
|
625
|
+
description: S.optional(S.String),
|
|
626
|
+
type: S.optional(LoadBalancerErrorType),
|
|
627
|
+
}),
|
|
628
|
+
).annotate({
|
|
629
|
+
identifier: "LoadBalancerError",
|
|
630
|
+
}) as any as S.Schema<LoadBalancerError>;
|
|
631
|
+
|
|
632
|
+
/** Reports all errors a Application Load Balancer has. */
|
|
633
|
+
export type LoadBalancerErrorsList = Array<LoadBalancerError>;
|
|
634
|
+
export const LoadBalancerErrorsList = /*@__PURE__*/ S.Array(
|
|
635
|
+
LoadBalancerError,
|
|
636
|
+
) as any as S.Schema<LoadBalancerErrorsList>;
|
|
637
|
+
|
|
638
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
639
|
+
export type LoadBalancerLabelsMap = { [key: string]: string | undefined };
|
|
640
|
+
export const LoadBalancerLabelsMap = /*@__PURE__*/ S.Record(
|
|
641
|
+
S.String,
|
|
642
|
+
S.String,
|
|
643
|
+
) as any as S.Schema<LoadBalancerLabelsMap>;
|
|
644
|
+
|
|
645
|
+
/** There is a maximum listener count of 20. */
|
|
646
|
+
export type LoadBalancerListenersList = Array<Listener>;
|
|
647
|
+
export const LoadBalancerListenersList = /*@__PURE__*/ S.Array(
|
|
648
|
+
Listener,
|
|
649
|
+
) as any as S.Schema<LoadBalancerListenersList>;
|
|
650
|
+
|
|
651
|
+
export interface SecurityGroup {
|
|
652
|
+
/** ID of the security Group */
|
|
653
|
+
id?: string;
|
|
654
|
+
/** Name of the security Group */
|
|
655
|
+
name?: string;
|
|
656
|
+
}
|
|
657
|
+
export const SecurityGroup = /*@__PURE__*/ S.suspend(() =>
|
|
658
|
+
S.Struct({
|
|
659
|
+
id: S.optional(S.String),
|
|
660
|
+
name: S.optional(S.String),
|
|
661
|
+
}),
|
|
662
|
+
).annotate({ identifier: "SecurityGroup" }) as any as S.Schema<SecurityGroup>;
|
|
663
|
+
|
|
664
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
665
|
+
export type LoadBalancerNetworksList = Array<Network>;
|
|
666
|
+
export const LoadBalancerNetworksList = /*@__PURE__*/ S.Array(
|
|
667
|
+
Network,
|
|
668
|
+
) as any as S.Schema<LoadBalancerNetworksList>;
|
|
669
|
+
|
|
670
|
+
export type LoadBalancerStatus =
|
|
671
|
+
| "STATUS_UNSPECIFIED"
|
|
672
|
+
| "STATUS_PENDING"
|
|
673
|
+
| "STATUS_READY"
|
|
674
|
+
| "STATUS_ERROR"
|
|
675
|
+
| "STATUS_TERMINATING";
|
|
676
|
+
export const LoadBalancerStatus = /*@__PURE__*/ S.String;
|
|
677
|
+
|
|
678
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
679
|
+
export type LoadBalancerTargetPoolsList = Array<TargetPool>;
|
|
680
|
+
export const LoadBalancerTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
681
|
+
TargetPool,
|
|
682
|
+
) as any as S.Schema<LoadBalancerTargetPoolsList>;
|
|
683
|
+
|
|
684
|
+
export interface LoadBalancer {
|
|
685
|
+
/** 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. */
|
|
686
|
+
disableTargetSecurityGroupAssignment?: boolean;
|
|
687
|
+
/** Reports all errors a Application Load Balancer has. */
|
|
688
|
+
errors?: LoadBalancerErrorsList;
|
|
689
|
+
/** The external IP address where this Application Load Balancer is exposed. Not changeable after creation. */
|
|
690
|
+
externalAddress?: string;
|
|
691
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
692
|
+
labels?: LoadBalancerLabelsMap;
|
|
693
|
+
/** There is a maximum listener count of 20. */
|
|
694
|
+
listeners?: LoadBalancerListenersList;
|
|
695
|
+
/** Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets. */
|
|
696
|
+
loadBalancerSecurityGroup?: SecurityGroup;
|
|
697
|
+
/** Application Load Balancer name. Not changeable after creation. */
|
|
698
|
+
name?: string;
|
|
699
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
700
|
+
networks?: LoadBalancerNetworksList;
|
|
701
|
+
options?: LoadBalancerOptions;
|
|
702
|
+
/** Service Plan configures the size of the Application Load Balancer. Currently supported plan is p10. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. */
|
|
703
|
+
planId?: string;
|
|
704
|
+
/** Transient private Application Load Balancer IP address that can change any time. */
|
|
705
|
+
privateAddress?: string;
|
|
706
|
+
/** Region of the LoadBalancer. */
|
|
707
|
+
region?: string;
|
|
708
|
+
status?: LoadBalancerStatus;
|
|
709
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
710
|
+
targetPools?: LoadBalancerTargetPoolsList;
|
|
711
|
+
/** Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets. */
|
|
712
|
+
targetSecurityGroup?: SecurityGroup;
|
|
713
|
+
/** Application Load Balancer resource version. Must be empty or unset for creating Application Load Balancers, non-empty for updating. Semantics: While retrieving, this is the current version of this Application Load Balancer resource that changes during updates. On updates this field specified the Application 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 Application 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 Application 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. */
|
|
714
|
+
version?: string;
|
|
715
|
+
}
|
|
716
|
+
export const LoadBalancer = /*@__PURE__*/ S.suspend(() =>
|
|
717
|
+
S.Struct({
|
|
718
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
719
|
+
errors: S.optional(LoadBalancerErrorsList),
|
|
720
|
+
externalAddress: S.optional(S.String),
|
|
721
|
+
labels: S.optional(LoadBalancerLabelsMap),
|
|
722
|
+
listeners: S.optional(LoadBalancerListenersList),
|
|
723
|
+
loadBalancerSecurityGroup: S.optional(SecurityGroup),
|
|
724
|
+
name: S.optional(S.String),
|
|
725
|
+
networks: S.optional(LoadBalancerNetworksList),
|
|
726
|
+
options: S.optional(LoadBalancerOptions),
|
|
727
|
+
planId: S.optional(S.String),
|
|
728
|
+
privateAddress: S.optional(S.String),
|
|
729
|
+
region: S.optional(S.String),
|
|
730
|
+
status: S.optional(LoadBalancerStatus),
|
|
731
|
+
targetPools: S.optional(LoadBalancerTargetPoolsList),
|
|
732
|
+
targetSecurityGroup: S.optional(SecurityGroup),
|
|
733
|
+
version: S.optional(S.String),
|
|
734
|
+
}),
|
|
735
|
+
).annotate({ identifier: "LoadBalancer" }) as any as S.Schema<LoadBalancer>;
|
|
736
|
+
|
|
737
|
+
export interface DeleteCredentialsRequest {
|
|
738
|
+
projectId: string;
|
|
739
|
+
region: string;
|
|
740
|
+
credentialsRef: string;
|
|
741
|
+
}
|
|
742
|
+
export const DeleteCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
743
|
+
S.Struct({
|
|
744
|
+
projectId: S.String.pipe(T.Label()),
|
|
745
|
+
region: S.String.pipe(T.Label()),
|
|
746
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
747
|
+
}).pipe(
|
|
748
|
+
T.Http({
|
|
749
|
+
method: "DELETE",
|
|
750
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
751
|
+
code: 200,
|
|
752
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
753
|
+
}),
|
|
754
|
+
),
|
|
755
|
+
).annotate({
|
|
756
|
+
identifier: "DeleteCredentialsRequest",
|
|
757
|
+
}) as any as S.Schema<DeleteCredentialsRequest>;
|
|
758
|
+
|
|
759
|
+
export type DeleteCredentialsResponse2 = unknown;
|
|
760
|
+
export const DeleteCredentialsResponse2 = /*@__PURE__*/ S.suspend(() =>
|
|
761
|
+
S.Unknown.pipe(T.RawResponseRoot()),
|
|
762
|
+
).annotate({
|
|
763
|
+
identifier: "DeleteCredentialsResponse2",
|
|
764
|
+
}) as any as S.Schema<DeleteCredentialsResponse2>;
|
|
765
|
+
|
|
766
|
+
export interface DeleteLoadBalancerRequest {
|
|
767
|
+
projectId: string;
|
|
768
|
+
region: string;
|
|
769
|
+
name: string;
|
|
770
|
+
}
|
|
771
|
+
export const DeleteLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
772
|
+
S.Struct({
|
|
773
|
+
projectId: S.String.pipe(T.Label()),
|
|
774
|
+
region: S.String.pipe(T.Label()),
|
|
775
|
+
name: S.String.pipe(T.Label()),
|
|
776
|
+
}).pipe(
|
|
777
|
+
T.Http({
|
|
778
|
+
method: "DELETE",
|
|
779
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
780
|
+
code: 200,
|
|
781
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
782
|
+
}),
|
|
783
|
+
),
|
|
784
|
+
).annotate({
|
|
785
|
+
identifier: "DeleteLoadBalancerRequest",
|
|
786
|
+
}) as any as S.Schema<DeleteLoadBalancerRequest>;
|
|
787
|
+
|
|
788
|
+
export type DeleteLoadBalancerResponse2 = unknown;
|
|
789
|
+
export const DeleteLoadBalancerResponse2 = /*@__PURE__*/ S.suspend(() =>
|
|
790
|
+
S.Unknown.pipe(T.RawResponseRoot()),
|
|
791
|
+
).annotate({
|
|
792
|
+
identifier: "DeleteLoadBalancerResponse2",
|
|
793
|
+
}) as any as S.Schema<DeleteLoadBalancerResponse2>;
|
|
794
|
+
|
|
795
|
+
export interface GetCredentialsRequest {
|
|
796
|
+
projectId: string;
|
|
797
|
+
region: string;
|
|
798
|
+
credentialsRef: string;
|
|
799
|
+
}
|
|
800
|
+
export const GetCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
801
|
+
S.Struct({
|
|
802
|
+
projectId: S.String.pipe(T.Label()),
|
|
803
|
+
region: S.String.pipe(T.Label()),
|
|
804
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
805
|
+
}).pipe(
|
|
806
|
+
T.Http({
|
|
807
|
+
method: "GET",
|
|
808
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
809
|
+
code: 200,
|
|
810
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
811
|
+
}),
|
|
812
|
+
),
|
|
813
|
+
).annotate({
|
|
814
|
+
identifier: "GetCredentialsRequest",
|
|
815
|
+
}) as any as S.Schema<GetCredentialsRequest>;
|
|
816
|
+
|
|
817
|
+
export interface GetCredentialsResponse {
|
|
818
|
+
credential?: CredentialsResponse;
|
|
819
|
+
}
|
|
820
|
+
export const GetCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
821
|
+
S.Struct({
|
|
822
|
+
credential: S.optional(CredentialsResponse),
|
|
823
|
+
}),
|
|
824
|
+
).annotate({
|
|
825
|
+
identifier: "GetCredentialsResponse",
|
|
826
|
+
}) as any as S.Schema<GetCredentialsResponse>;
|
|
827
|
+
|
|
828
|
+
export interface GetLoadBalancerRequest {
|
|
829
|
+
projectId: string;
|
|
830
|
+
region: string;
|
|
831
|
+
name: string;
|
|
832
|
+
}
|
|
833
|
+
export const GetLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
834
|
+
S.Struct({
|
|
835
|
+
projectId: S.String.pipe(T.Label()),
|
|
836
|
+
region: S.String.pipe(T.Label()),
|
|
837
|
+
name: S.String.pipe(T.Label()),
|
|
838
|
+
}).pipe(
|
|
839
|
+
T.Http({
|
|
840
|
+
method: "GET",
|
|
841
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
842
|
+
code: 200,
|
|
843
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
844
|
+
}),
|
|
845
|
+
),
|
|
846
|
+
).annotate({
|
|
847
|
+
identifier: "GetLoadBalancerRequest",
|
|
848
|
+
}) as any as S.Schema<GetLoadBalancerRequest>;
|
|
849
|
+
|
|
850
|
+
export interface GetQuotaRequest {
|
|
851
|
+
projectId: string;
|
|
852
|
+
region: string;
|
|
853
|
+
}
|
|
854
|
+
export const GetQuotaRequest = /*@__PURE__*/ S.suspend(() =>
|
|
855
|
+
S.Struct({
|
|
856
|
+
projectId: S.String.pipe(T.Label()),
|
|
857
|
+
region: S.String.pipe(T.Label()),
|
|
858
|
+
}).pipe(
|
|
859
|
+
T.Http({
|
|
860
|
+
method: "GET",
|
|
861
|
+
uri: "/v2/projects/{projectId}/regions/{region}/quota",
|
|
862
|
+
code: 200,
|
|
863
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
864
|
+
}),
|
|
865
|
+
),
|
|
866
|
+
).annotate({
|
|
867
|
+
identifier: "GetQuotaRequest",
|
|
868
|
+
}) as any as S.Schema<GetQuotaRequest>;
|
|
869
|
+
|
|
870
|
+
export interface GetQuotaResponse {
|
|
871
|
+
/** The maximum number of observability credentials that can be stored in this project. */
|
|
872
|
+
maxCredentials?: number;
|
|
873
|
+
/** The maximum number of load balancing servers in this project. */
|
|
874
|
+
maxLoadBalancers?: number;
|
|
875
|
+
/** Project identifier */
|
|
876
|
+
projectId?: string;
|
|
877
|
+
/** Region */
|
|
878
|
+
region?: string;
|
|
879
|
+
/** The number of observability credentials that are currently existing in this project. */
|
|
880
|
+
usedCredentials?: number;
|
|
881
|
+
/** The number of load balancing servers that are currently existing in this project. */
|
|
882
|
+
usedLoadBalancers?: number;
|
|
883
|
+
}
|
|
884
|
+
export const GetQuotaResponse = /*@__PURE__*/ S.suspend(() =>
|
|
885
|
+
S.Struct({
|
|
886
|
+
maxCredentials: S.optional(S.Number),
|
|
887
|
+
maxLoadBalancers: S.optional(S.Number),
|
|
888
|
+
projectId: S.optional(S.String),
|
|
889
|
+
region: S.optional(S.String),
|
|
890
|
+
usedCredentials: S.optional(S.Number),
|
|
891
|
+
usedLoadBalancers: S.optional(S.Number),
|
|
892
|
+
}),
|
|
893
|
+
).annotate({
|
|
894
|
+
identifier: "GetQuotaResponse",
|
|
895
|
+
}) as any as S.Schema<GetQuotaResponse>;
|
|
896
|
+
|
|
897
|
+
export interface ListCredentialsRequest {
|
|
898
|
+
projectId: string;
|
|
899
|
+
region: string;
|
|
900
|
+
}
|
|
901
|
+
export const ListCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
902
|
+
S.Struct({
|
|
903
|
+
projectId: S.String.pipe(T.Label()),
|
|
904
|
+
region: S.String.pipe(T.Label()),
|
|
905
|
+
}).pipe(
|
|
906
|
+
T.Http({
|
|
907
|
+
method: "GET",
|
|
908
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials",
|
|
909
|
+
code: 200,
|
|
910
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
911
|
+
}),
|
|
912
|
+
),
|
|
913
|
+
).annotate({
|
|
914
|
+
identifier: "ListCredentialsRequest",
|
|
915
|
+
}) as any as S.Schema<ListCredentialsRequest>;
|
|
916
|
+
|
|
917
|
+
export type ListCredentialsResponseCredentialsList = Array<CredentialsResponse>;
|
|
918
|
+
export const ListCredentialsResponseCredentialsList = /*@__PURE__*/ S.Array(
|
|
919
|
+
CredentialsResponse,
|
|
920
|
+
) as any as S.Schema<ListCredentialsResponseCredentialsList>;
|
|
921
|
+
|
|
922
|
+
export interface ListCredentialsResponse {
|
|
923
|
+
credentials?: ListCredentialsResponseCredentialsList;
|
|
924
|
+
}
|
|
925
|
+
export const ListCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
926
|
+
S.Struct({
|
|
927
|
+
credentials: S.optional(ListCredentialsResponseCredentialsList),
|
|
928
|
+
}),
|
|
929
|
+
).annotate({
|
|
930
|
+
identifier: "ListCredentialsResponse",
|
|
931
|
+
}) as any as S.Schema<ListCredentialsResponse>;
|
|
932
|
+
|
|
933
|
+
export interface ListLoadBalancersRequest {
|
|
934
|
+
projectId: string;
|
|
935
|
+
region: string;
|
|
936
|
+
/** page_size specifies how many Application Load Balancers should be returned on this page. Must be a positive number <= 1000 */
|
|
937
|
+
pageSize?: string;
|
|
938
|
+
/** page_id is a page identifier returned by the previous response and is used to request the next page */
|
|
939
|
+
pageId?: string;
|
|
940
|
+
}
|
|
941
|
+
export const ListLoadBalancersRequest = /*@__PURE__*/ S.suspend(() =>
|
|
942
|
+
S.Struct({
|
|
943
|
+
projectId: S.String.pipe(T.Label()),
|
|
944
|
+
region: S.String.pipe(T.Label()),
|
|
945
|
+
pageSize: S.optional(S.String.pipe(T.Query())),
|
|
946
|
+
pageId: S.optional(S.String.pipe(T.Query())),
|
|
947
|
+
}).pipe(
|
|
948
|
+
T.Http({
|
|
949
|
+
method: "GET",
|
|
950
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers",
|
|
951
|
+
code: 200,
|
|
952
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
953
|
+
}),
|
|
954
|
+
),
|
|
955
|
+
).annotate({
|
|
956
|
+
identifier: "ListLoadBalancersRequest",
|
|
957
|
+
}) as any as S.Schema<ListLoadBalancersRequest>;
|
|
958
|
+
|
|
959
|
+
export type ListLoadBalancersResponseLoadBalancersList = Array<LoadBalancer>;
|
|
960
|
+
export const ListLoadBalancersResponseLoadBalancersList = /*@__PURE__*/ S.Array(
|
|
961
|
+
LoadBalancer,
|
|
962
|
+
) as any as S.Schema<ListLoadBalancersResponseLoadBalancersList>;
|
|
963
|
+
|
|
964
|
+
export interface ListLoadBalancersResponse {
|
|
965
|
+
loadBalancers?: ListLoadBalancersResponseLoadBalancersList;
|
|
966
|
+
/** Continue token from the ListLoadBalancerResponse with Limit option */
|
|
967
|
+
nextPageId?: string;
|
|
968
|
+
}
|
|
969
|
+
export const ListLoadBalancersResponse = /*@__PURE__*/ S.suspend(() =>
|
|
970
|
+
S.Struct({
|
|
971
|
+
loadBalancers: S.optional(ListLoadBalancersResponseLoadBalancersList),
|
|
972
|
+
nextPageId: S.optional(S.String),
|
|
973
|
+
}),
|
|
974
|
+
).annotate({
|
|
975
|
+
identifier: "ListLoadBalancersResponse",
|
|
976
|
+
}) as any as S.Schema<ListLoadBalancersResponse>;
|
|
977
|
+
|
|
978
|
+
export interface ListPlansRequest {
|
|
979
|
+
region: string;
|
|
980
|
+
}
|
|
981
|
+
export const ListPlansRequest = /*@__PURE__*/ S.suspend(() =>
|
|
982
|
+
S.Struct({
|
|
983
|
+
region: S.String.pipe(T.Label()),
|
|
984
|
+
}).pipe(
|
|
985
|
+
T.Http({
|
|
986
|
+
method: "GET",
|
|
987
|
+
uri: "/v2/regions/{region}/plans",
|
|
988
|
+
code: 200,
|
|
989
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
990
|
+
}),
|
|
991
|
+
),
|
|
992
|
+
).annotate({
|
|
993
|
+
identifier: "ListPlansRequest",
|
|
994
|
+
}) as any as S.Schema<ListPlansRequest>;
|
|
995
|
+
|
|
996
|
+
export interface PlanDetails {
|
|
997
|
+
/** Description */
|
|
998
|
+
description?: string;
|
|
999
|
+
/** Flavor Name */
|
|
1000
|
+
flavorName?: string;
|
|
1001
|
+
/** Maximum number of concurrent connections per Application Load Balancer VM instance. */
|
|
1002
|
+
maxConnections?: number;
|
|
1003
|
+
/** Service Plan Name */
|
|
1004
|
+
name?: string;
|
|
1005
|
+
/** Service Plan Identifier */
|
|
1006
|
+
planId?: string;
|
|
1007
|
+
/** Region this Plan is available in */
|
|
1008
|
+
region?: string;
|
|
1009
|
+
}
|
|
1010
|
+
export const PlanDetails = /*@__PURE__*/ S.suspend(() =>
|
|
1011
|
+
S.Struct({
|
|
1012
|
+
description: S.optional(S.String),
|
|
1013
|
+
flavorName: S.optional(S.String),
|
|
1014
|
+
maxConnections: S.optional(S.Number),
|
|
1015
|
+
name: S.optional(S.String),
|
|
1016
|
+
planId: S.optional(S.String),
|
|
1017
|
+
region: S.optional(S.String),
|
|
1018
|
+
}),
|
|
1019
|
+
).annotate({ identifier: "PlanDetails" }) as any as S.Schema<PlanDetails>;
|
|
1020
|
+
|
|
1021
|
+
/** List of available service plans. */
|
|
1022
|
+
export type ListPlansResponseValidPlansList = Array<PlanDetails>;
|
|
1023
|
+
export const ListPlansResponseValidPlansList = /*@__PURE__*/ S.Array(
|
|
1024
|
+
PlanDetails,
|
|
1025
|
+
) as any as S.Schema<ListPlansResponseValidPlansList>;
|
|
1026
|
+
|
|
1027
|
+
export interface ListPlansResponse {
|
|
1028
|
+
/** List of available service plans. */
|
|
1029
|
+
validPlans?: ListPlansResponseValidPlansList;
|
|
1030
|
+
}
|
|
1031
|
+
export const ListPlansResponse = /*@__PURE__*/ S.suspend(() =>
|
|
1032
|
+
S.Struct({
|
|
1033
|
+
validPlans: S.optional(ListPlansResponseValidPlansList),
|
|
1034
|
+
}),
|
|
1035
|
+
).annotate({
|
|
1036
|
+
identifier: "ListPlansResponse",
|
|
1037
|
+
}) as any as S.Schema<ListPlansResponse>;
|
|
1038
|
+
|
|
1039
|
+
export interface UpdateCredentialsRequest {
|
|
1040
|
+
projectId: string;
|
|
1041
|
+
region: string;
|
|
1042
|
+
credentialsRef: string;
|
|
1043
|
+
/** Credential name */
|
|
1044
|
+
displayName?: string;
|
|
1045
|
+
/** A valid password used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
1046
|
+
password?: string | Redacted.Redacted<string>;
|
|
1047
|
+
/** A valid username used for an existing STACKIT Observability instance, which is used during basic auth. */
|
|
1048
|
+
username?: string;
|
|
1049
|
+
}
|
|
1050
|
+
export const UpdateCredentialsRequest = /*@__PURE__*/ S.suspend(() =>
|
|
1051
|
+
S.Struct({
|
|
1052
|
+
projectId: S.String.pipe(T.Label()),
|
|
1053
|
+
region: S.String.pipe(T.Label()),
|
|
1054
|
+
credentialsRef: S.String.pipe(T.Label()),
|
|
1055
|
+
displayName: S.optional(S.String),
|
|
1056
|
+
password: S.optional(S.String.pipe(T.SensitiveValue({}))),
|
|
1057
|
+
username: S.optional(S.String),
|
|
1058
|
+
}).pipe(
|
|
1059
|
+
T.Http({
|
|
1060
|
+
method: "PUT",
|
|
1061
|
+
uri: "/v2/projects/{projectId}/regions/{region}/credentials/{credentialsRef}",
|
|
1062
|
+
code: 200,
|
|
1063
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
1064
|
+
}),
|
|
1065
|
+
),
|
|
1066
|
+
).annotate({
|
|
1067
|
+
identifier: "UpdateCredentialsRequest",
|
|
1068
|
+
}) as any as S.Schema<UpdateCredentialsRequest>;
|
|
1069
|
+
|
|
1070
|
+
export interface UpdateCredentialsResponse {
|
|
1071
|
+
credential?: CredentialsResponse;
|
|
1072
|
+
}
|
|
1073
|
+
export const UpdateCredentialsResponse = /*@__PURE__*/ S.suspend(() =>
|
|
1074
|
+
S.Struct({
|
|
1075
|
+
credential: S.optional(CredentialsResponse),
|
|
1076
|
+
}),
|
|
1077
|
+
).annotate({
|
|
1078
|
+
identifier: "UpdateCredentialsResponse",
|
|
1079
|
+
}) as any as S.Schema<UpdateCredentialsResponse>;
|
|
1080
|
+
|
|
1081
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
1082
|
+
export type UpdateLoadBalancerRequestLabelsMap = {
|
|
1083
|
+
[key: string]: string | undefined;
|
|
1084
|
+
};
|
|
1085
|
+
export const UpdateLoadBalancerRequestLabelsMap = /*@__PURE__*/ S.Record(
|
|
1086
|
+
S.String,
|
|
1087
|
+
S.String,
|
|
1088
|
+
) as any as S.Schema<UpdateLoadBalancerRequestLabelsMap>;
|
|
1089
|
+
|
|
1090
|
+
/** There is a maximum listener count of 20. */
|
|
1091
|
+
export type UpdateLoadBalancerRequestListenersList = Array<Listener>;
|
|
1092
|
+
export const UpdateLoadBalancerRequestListenersList = /*@__PURE__*/ S.Array(
|
|
1093
|
+
Listener,
|
|
1094
|
+
) as any as S.Schema<UpdateLoadBalancerRequestListenersList>;
|
|
1095
|
+
|
|
1096
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
1097
|
+
export type UpdateLoadBalancerRequestNetworksList = Array<Network>;
|
|
1098
|
+
export const UpdateLoadBalancerRequestNetworksList = /*@__PURE__*/ S.Array(
|
|
1099
|
+
Network,
|
|
1100
|
+
) as any as S.Schema<UpdateLoadBalancerRequestNetworksList>;
|
|
1101
|
+
|
|
1102
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
1103
|
+
export type UpdateLoadBalancerRequestTargetPoolsList = Array<TargetPool>;
|
|
1104
|
+
export const UpdateLoadBalancerRequestTargetPoolsList = /*@__PURE__*/ S.Array(
|
|
1105
|
+
TargetPool,
|
|
1106
|
+
) as any as S.Schema<UpdateLoadBalancerRequestTargetPoolsList>;
|
|
1107
|
+
|
|
1108
|
+
export interface UpdateLoadBalancerRequest {
|
|
1109
|
+
projectId: string;
|
|
1110
|
+
region: string;
|
|
1111
|
+
name: string;
|
|
1112
|
+
/** 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. */
|
|
1113
|
+
disableTargetSecurityGroupAssignment?: boolean;
|
|
1114
|
+
/** The external IP address where this Application Load Balancer is exposed. Not changeable after creation. */
|
|
1115
|
+
externalAddress?: string;
|
|
1116
|
+
/** Labels represent user-defined metadata as key-value pairs. Label count should not exceed 64 per ALB. **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. */
|
|
1117
|
+
labels?: UpdateLoadBalancerRequestLabelsMap;
|
|
1118
|
+
/** There is a maximum listener count of 20. */
|
|
1119
|
+
listeners?: UpdateLoadBalancerRequestListenersList;
|
|
1120
|
+
/** List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation. */
|
|
1121
|
+
networks?: UpdateLoadBalancerRequestNetworksList;
|
|
1122
|
+
options?: LoadBalancerOptions;
|
|
1123
|
+
/** Service Plan configures the size of the Application Load Balancer. Currently supported plan is p10. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. */
|
|
1124
|
+
planId?: string;
|
|
1125
|
+
/** List of all target pools which will be used in the Application Load Balancer. Limited to 20. */
|
|
1126
|
+
targetPools?: UpdateLoadBalancerRequestTargetPoolsList;
|
|
1127
|
+
/** Application Load Balancer resource version. Must be empty or unset for creating Application Load Balancers, non-empty for updating. Semantics: While retrieving, this is the current version of this Application Load Balancer resource that changes during updates. On updates this field specified the Application 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 Application 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 Application 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. */
|
|
1128
|
+
version?: string;
|
|
1129
|
+
}
|
|
1130
|
+
export const UpdateLoadBalancerRequest = /*@__PURE__*/ S.suspend(() =>
|
|
1131
|
+
S.Struct({
|
|
1132
|
+
projectId: S.String.pipe(T.Label()),
|
|
1133
|
+
region: S.String.pipe(T.Label()),
|
|
1134
|
+
name: S.String.pipe(T.Label()),
|
|
1135
|
+
disableTargetSecurityGroupAssignment: S.optional(S.Boolean),
|
|
1136
|
+
externalAddress: S.optional(S.String),
|
|
1137
|
+
labels: S.optional(UpdateLoadBalancerRequestLabelsMap),
|
|
1138
|
+
listeners: S.optional(UpdateLoadBalancerRequestListenersList),
|
|
1139
|
+
networks: S.optional(UpdateLoadBalancerRequestNetworksList),
|
|
1140
|
+
options: S.optional(LoadBalancerOptions),
|
|
1141
|
+
planId: S.optional(S.String),
|
|
1142
|
+
targetPools: S.optional(UpdateLoadBalancerRequestTargetPoolsList),
|
|
1143
|
+
version: S.optional(S.String),
|
|
1144
|
+
}).pipe(
|
|
1145
|
+
T.Http({
|
|
1146
|
+
method: "PUT",
|
|
1147
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}",
|
|
1148
|
+
code: 200,
|
|
1149
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
1150
|
+
}),
|
|
1151
|
+
),
|
|
1152
|
+
).annotate({
|
|
1153
|
+
identifier: "UpdateLoadBalancerRequest",
|
|
1154
|
+
}) as any as S.Schema<UpdateLoadBalancerRequest>;
|
|
1155
|
+
|
|
1156
|
+
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
1157
|
+
export type UpdateTargetPoolRequestTargetsList = Array<Target>;
|
|
1158
|
+
export const UpdateTargetPoolRequestTargetsList = /*@__PURE__*/ S.Array(
|
|
1159
|
+
Target,
|
|
1160
|
+
) as any as S.Schema<UpdateTargetPoolRequestTargetsList>;
|
|
1161
|
+
|
|
1162
|
+
export interface UpdateTargetPoolRequest {
|
|
1163
|
+
projectId: string;
|
|
1164
|
+
region: string;
|
|
1165
|
+
name: string;
|
|
1166
|
+
targetPoolName: string;
|
|
1167
|
+
activeHealthCheck?: ActiveHealthCheck;
|
|
1168
|
+
/** The number identifying the port where each target listens for traffic. */
|
|
1169
|
+
targetPort?: number;
|
|
1170
|
+
/** List of all targets which will be used in the pool. Limited to 250. */
|
|
1171
|
+
targets?: UpdateTargetPoolRequestTargetsList;
|
|
1172
|
+
tlsConfig?: TlsConfig;
|
|
1173
|
+
}
|
|
1174
|
+
export const UpdateTargetPoolRequest = /*@__PURE__*/ S.suspend(() =>
|
|
1175
|
+
S.Struct({
|
|
1176
|
+
projectId: S.String.pipe(T.Label()),
|
|
1177
|
+
region: S.String.pipe(T.Label()),
|
|
1178
|
+
name: S.String.pipe(T.Label()),
|
|
1179
|
+
targetPoolName: S.String.pipe(T.Label()),
|
|
1180
|
+
activeHealthCheck: S.optional(ActiveHealthCheck),
|
|
1181
|
+
targetPort: S.optional(S.Number),
|
|
1182
|
+
targets: S.optional(UpdateTargetPoolRequestTargetsList),
|
|
1183
|
+
tlsConfig: S.optional(TlsConfig),
|
|
1184
|
+
}).pipe(
|
|
1185
|
+
T.Http({
|
|
1186
|
+
method: "PUT",
|
|
1187
|
+
uri: "/v2/projects/{projectId}/regions/{region}/load-balancers/{name}/target-pools/{targetPoolName}",
|
|
1188
|
+
code: 200,
|
|
1189
|
+
baseUrl: "https://alb.api.stackit.cloud",
|
|
1190
|
+
}),
|
|
1191
|
+
),
|
|
1192
|
+
).annotate({
|
|
1193
|
+
identifier: "UpdateTargetPoolRequest",
|
|
1194
|
+
}) as any as S.Schema<UpdateTargetPoolRequest>;
|
|
1195
|
+
|
|
1196
|
+
export type CreateCredentialsError = BadRequest | Forbidden | StackitOpError;
|
|
1197
|
+
/** Create credentials for observability of the Application 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. */
|
|
1198
|
+
export const createCredentials: API.OperationMethod<
|
|
1199
|
+
CreateCredentialsRequest,
|
|
1200
|
+
CreateCredentialsResponse,
|
|
1201
|
+
CreateCredentialsError,
|
|
1202
|
+
StackitOpContext
|
|
1203
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1204
|
+
input: CreateCredentialsRequest,
|
|
1205
|
+
output: CreateCredentialsResponse,
|
|
1206
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1207
|
+
protocol: StackitProtocol,
|
|
1208
|
+
retry: Retry.Retry,
|
|
1209
|
+
}));
|
|
1210
|
+
|
|
1211
|
+
export type CreateLoadBalancerError =
|
|
1212
|
+
| BadRequest
|
|
1213
|
+
| Forbidden
|
|
1214
|
+
| Conflict
|
|
1215
|
+
| StackitOpError;
|
|
1216
|
+
/** Create an Application Load Balancer in a project Creates an Application Load Balancer. The default load balancing algorithm is Maglev, and selecting a different algorithm is currently not supported. */
|
|
1217
|
+
export const createLoadBalancer: API.OperationMethod<
|
|
1218
|
+
CreateLoadBalancerRequest,
|
|
1219
|
+
LoadBalancer,
|
|
1220
|
+
CreateLoadBalancerError,
|
|
1221
|
+
StackitOpContext
|
|
1222
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1223
|
+
input: CreateLoadBalancerRequest,
|
|
1224
|
+
output: LoadBalancer,
|
|
1225
|
+
errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
|
|
1226
|
+
protocol: StackitProtocol,
|
|
1227
|
+
retry: Retry.Retry,
|
|
1228
|
+
}));
|
|
1229
|
+
|
|
1230
|
+
export type DeleteCredentialsError = BadRequest | Forbidden | StackitOpError;
|
|
1231
|
+
/** Delete a single credential in a project. Deletes the stored Observability credentials. */
|
|
1232
|
+
export const deleteCredentials: API.OperationMethod<
|
|
1233
|
+
DeleteCredentialsRequest,
|
|
1234
|
+
DeleteCredentialsResponse2,
|
|
1235
|
+
DeleteCredentialsError,
|
|
1236
|
+
StackitOpContext
|
|
1237
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1238
|
+
input: DeleteCredentialsRequest,
|
|
1239
|
+
output: DeleteCredentialsResponse2,
|
|
1240
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1241
|
+
protocol: StackitProtocol,
|
|
1242
|
+
retry: Retry.Retry,
|
|
1243
|
+
}));
|
|
1244
|
+
|
|
1245
|
+
export type DeleteLoadBalancerError = BadRequest | Forbidden | StackitOpError;
|
|
1246
|
+
/** Delete a given load balancer in a project. Deletes the specified Application Load Balancer. */
|
|
1247
|
+
export const deleteLoadBalancer: API.OperationMethod<
|
|
1248
|
+
DeleteLoadBalancerRequest,
|
|
1249
|
+
DeleteLoadBalancerResponse2,
|
|
1250
|
+
DeleteLoadBalancerError,
|
|
1251
|
+
StackitOpContext
|
|
1252
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1253
|
+
input: DeleteLoadBalancerRequest,
|
|
1254
|
+
output: DeleteLoadBalancerResponse2,
|
|
1255
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1256
|
+
protocol: StackitProtocol,
|
|
1257
|
+
retry: Retry.Retry,
|
|
1258
|
+
}));
|
|
1259
|
+
|
|
1260
|
+
export type GetCredentialsError =
|
|
1261
|
+
| BadRequest
|
|
1262
|
+
| Forbidden
|
|
1263
|
+
| NotFound
|
|
1264
|
+
| StackitOpError;
|
|
1265
|
+
/** Get a single credential reference in a project. Gets the stored Observability credentials. */
|
|
1266
|
+
export const getCredentials: API.OperationMethod<
|
|
1267
|
+
GetCredentialsRequest,
|
|
1268
|
+
GetCredentialsResponse,
|
|
1269
|
+
GetCredentialsError,
|
|
1270
|
+
StackitOpContext
|
|
1271
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1272
|
+
input: GetCredentialsRequest,
|
|
1273
|
+
output: GetCredentialsResponse,
|
|
1274
|
+
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1275
|
+
protocol: StackitProtocol,
|
|
1276
|
+
retry: Retry.Retry,
|
|
1277
|
+
}));
|
|
1278
|
+
|
|
1279
|
+
export type GetLoadBalancerError =
|
|
1280
|
+
| BadRequest
|
|
1281
|
+
| Forbidden
|
|
1282
|
+
| NotFound
|
|
1283
|
+
| StackitOpError;
|
|
1284
|
+
/** Get a single Application Load Balancer in a project. Retrieves details of a specific Application Load Balancer in a project. Includes creation and update information, current status, and any error descriptions. */
|
|
1285
|
+
export const getLoadBalancer: API.OperationMethod<
|
|
1286
|
+
GetLoadBalancerRequest,
|
|
1287
|
+
LoadBalancer,
|
|
1288
|
+
GetLoadBalancerError,
|
|
1289
|
+
StackitOpContext
|
|
1290
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1291
|
+
input: GetLoadBalancerRequest,
|
|
1292
|
+
output: LoadBalancer,
|
|
1293
|
+
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1294
|
+
protocol: StackitProtocol,
|
|
1295
|
+
retry: Retry.Retry,
|
|
1296
|
+
}));
|
|
1297
|
+
|
|
1298
|
+
export type GetQuotaError = BadRequest | Forbidden | StackitOpError;
|
|
1299
|
+
/** Get the quota of Application Load Balancers in a project. Retrieves the configured Application Load Balancer quota for the project. Limit can be changed via service request. */
|
|
1300
|
+
export const getQuota: API.OperationMethod<
|
|
1301
|
+
GetQuotaRequest,
|
|
1302
|
+
GetQuotaResponse,
|
|
1303
|
+
GetQuotaError,
|
|
1304
|
+
StackitOpContext
|
|
1305
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1306
|
+
input: GetQuotaRequest,
|
|
1307
|
+
output: GetQuotaResponse,
|
|
1308
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1309
|
+
protocol: StackitProtocol,
|
|
1310
|
+
retry: Retry.Retry,
|
|
1311
|
+
}));
|
|
1312
|
+
|
|
1313
|
+
export type ListCredentialsError = BadRequest | Forbidden | StackitOpError;
|
|
1314
|
+
/** List all credentials in a project. Lists the stored Observability credentials. */
|
|
1315
|
+
export const listCredentials: API.OperationMethod<
|
|
1316
|
+
ListCredentialsRequest,
|
|
1317
|
+
ListCredentialsResponse,
|
|
1318
|
+
ListCredentialsError,
|
|
1319
|
+
StackitOpContext
|
|
1320
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1321
|
+
input: ListCredentialsRequest,
|
|
1322
|
+
output: ListCredentialsResponse,
|
|
1323
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1324
|
+
protocol: StackitProtocol,
|
|
1325
|
+
retry: Retry.Retry,
|
|
1326
|
+
}));
|
|
1327
|
+
|
|
1328
|
+
export type ListLoadBalancersError = BadRequest | Forbidden | StackitOpError;
|
|
1329
|
+
/** List Application Load Balancers in a project. Lists all Application Load Balancers in a project. Includes details from creation or updates, along with their status and any error descriptions. */
|
|
1330
|
+
export const listLoadBalancers: API.OperationMethod<
|
|
1331
|
+
ListLoadBalancersRequest,
|
|
1332
|
+
ListLoadBalancersResponse,
|
|
1333
|
+
ListLoadBalancersError,
|
|
1334
|
+
StackitOpContext
|
|
1335
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1336
|
+
input: ListLoadBalancersRequest,
|
|
1337
|
+
output: ListLoadBalancersResponse,
|
|
1338
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1339
|
+
protocol: StackitProtocol,
|
|
1340
|
+
retry: Retry.Retry,
|
|
1341
|
+
}));
|
|
1342
|
+
|
|
1343
|
+
export type ListPlansError = BadRequest | Forbidden | StackitOpError;
|
|
1344
|
+
/** List available service plans. Lists the configured service plans for a project. */
|
|
1345
|
+
export const listPlans: API.OperationMethod<
|
|
1346
|
+
ListPlansRequest,
|
|
1347
|
+
ListPlansResponse,
|
|
1348
|
+
ListPlansError,
|
|
1349
|
+
StackitOpContext
|
|
1350
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1351
|
+
input: ListPlansRequest,
|
|
1352
|
+
output: ListPlansResponse,
|
|
1353
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1354
|
+
protocol: StackitProtocol,
|
|
1355
|
+
retry: Retry.Retry,
|
|
1356
|
+
}));
|
|
1357
|
+
|
|
1358
|
+
export type UpdateCredentialsError =
|
|
1359
|
+
| BadRequest
|
|
1360
|
+
| Forbidden
|
|
1361
|
+
| NotFound
|
|
1362
|
+
| StackitOpError;
|
|
1363
|
+
/** Update credentials for observability in a project. Updates the stored Observability credentials. */
|
|
1364
|
+
export const updateCredentials: API.OperationMethod<
|
|
1365
|
+
UpdateCredentialsRequest,
|
|
1366
|
+
UpdateCredentialsResponse,
|
|
1367
|
+
UpdateCredentialsError,
|
|
1368
|
+
StackitOpContext
|
|
1369
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1370
|
+
input: UpdateCredentialsRequest,
|
|
1371
|
+
output: UpdateCredentialsResponse,
|
|
1372
|
+
errors: [BadRequest, Forbidden, NotFound, UnknownStackitError],
|
|
1373
|
+
protocol: StackitProtocol,
|
|
1374
|
+
retry: Retry.Retry,
|
|
1375
|
+
}));
|
|
1376
|
+
|
|
1377
|
+
export type UpdateLoadBalancerError =
|
|
1378
|
+
| BadRequest
|
|
1379
|
+
| Forbidden
|
|
1380
|
+
| Conflict
|
|
1381
|
+
| StackitOpError;
|
|
1382
|
+
/** Update a load balancer in a project. Updates an existing Application Load Balancer by modifying its listeners and target pools. Ensure the resource version is current to maintain concurrency safety. The default load balancing algorithm is Maglev, and selecting a different algorithm is currently not supported. */
|
|
1383
|
+
export const updateLoadBalancer: API.OperationMethod<
|
|
1384
|
+
UpdateLoadBalancerRequest,
|
|
1385
|
+
LoadBalancer,
|
|
1386
|
+
UpdateLoadBalancerError,
|
|
1387
|
+
StackitOpContext
|
|
1388
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1389
|
+
input: UpdateLoadBalancerRequest,
|
|
1390
|
+
output: LoadBalancer,
|
|
1391
|
+
errors: [BadRequest, Forbidden, Conflict, UnknownStackitError],
|
|
1392
|
+
protocol: StackitProtocol,
|
|
1393
|
+
retry: Retry.Retry,
|
|
1394
|
+
}));
|
|
1395
|
+
|
|
1396
|
+
export type UpdateTargetPoolError = BadRequest | Forbidden | StackitOpError;
|
|
1397
|
+
/** Update a single target pool of a load balancer in a project. Replaces the content of a specific target pool in the Application Load Balancer (useful for adding or removing target servers). Only updates the specified target pool, leaving others unchanged. Cannot be used to create or rename target pools. */
|
|
1398
|
+
export const updateTargetPool: API.OperationMethod<
|
|
1399
|
+
UpdateTargetPoolRequest,
|
|
1400
|
+
TargetPool,
|
|
1401
|
+
UpdateTargetPoolError,
|
|
1402
|
+
StackitOpContext
|
|
1403
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
1404
|
+
input: UpdateTargetPoolRequest,
|
|
1405
|
+
output: TargetPool,
|
|
1406
|
+
errors: [BadRequest, Forbidden, UnknownStackitError],
|
|
1407
|
+
protocol: StackitProtocol,
|
|
1408
|
+
retry: Retry.Retry,
|
|
1409
|
+
}));
|