@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
1,083 lines (1,082 loc) • 287 kB
TypeScript
/// <reference types="node" />
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js";
import _m0 from "protobufjs/minimal";
import { FieldMask } from "../../../../google/protobuf/field_mask";
import { AllocationPolicy, AutoScalePolicy, TlsHandler, LoadBalancer, HttpListener, TlsListener, StreamListener, TargetState } from "../../../../yandex/cloud/apploadbalancer/v1/load_balancer";
import { LogOptions } from "../../../../yandex/cloud/apploadbalancer/v1/logging";
import { Operation } from "../../../../yandex/cloud/operation/operation";
export declare const protobufPackage = "yandex.cloud.apploadbalancer.v1";
export interface GetLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.GetLoadBalancerRequest";
/**
* ID of the application load balancer to return.
*
* To get the application load balancer ID, make a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
}
export interface ListLoadBalancersRequest {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancersRequest";
/**
* ID of the folder to list application load balancers in.
*
* To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/**
* The maximum number of results per page to return. If the number of available
* results is larger than `page_size`, the service returns a [ListLoadBalancersResponse.next_page_token]
* that can be used to get the next page of results in subsequent list requests.
* Default value: 100.
*/
pageSize: number;
/**
* Page token. To get the next page of results, set `page_token` to the
* [ListLoadBalancersResponse.next_page_token] returned by a previous list request.
*/
pageToken: string;
/**
* A filter expression that filters application load balancers listed in the response.
*
* The expression must specify:
* 1. The field name. Currently you can use filtering only on [LoadBalancer.name] field.
* 2. An `=` operator.
* 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
* Example of a filter: `name=my-load-balancer`.
*/
filter: string;
}
export interface ListLoadBalancersResponse {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancersResponse";
/** List of application load balancers in the specified folder. */
loadBalancers: LoadBalancer[];
/**
* Token for getting the next page of the list. If the number of results is greater than
* the specified [ListLoadBalancersRequest.page_size], use `next_page_token` as the value
* for the [ListLoadBalancersRequest.page_token] parameter in the next list request.
*
* Each subsequent page will have its own `next_page_token` to continue paging through the results.
*/
nextPageToken: string;
}
export interface DeleteLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.DeleteLoadBalancerRequest";
/**
* ID of the application load balancer to delete.
*
* To get the application load balancer ID, make a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
}
export interface DeleteLoadBalancerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.DeleteLoadBalancerMetadata";
/** ID of the application load balancer that is being deleted. */
loadBalancerId: string;
}
export interface UpdateLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.UpdateLoadBalancerRequest";
/**
* ID of the application load balancer to update.
*
* To get the application load balancer ID, make a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
/** Field mask that specifies which attributes of the application load balancer should be updated. */
updateMask?: FieldMask;
/**
* New name for the application load balancer.
* The name must be unique within the folder.
*/
name: string;
/** New description of the application load balancer. */
description: string;
/**
* New application load balancer labels as `key:value` pairs.
* For details about the concept, see [documentation](/docs/overview/concepts/services#labels).
*
* Existing set of labels is completely replaced by the provided set, so if you just want
* to add or remove a label:
* 1. Get the current set of labels with a [LoadBalancerService.Get] request.
* 2. Add or remove a label in this set.
* 3. Send the new set in this field.
*/
labels: {
[key: string]: string;
};
/**
* New listeners for the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#listener).
*
* Existing list of listeners is completely replaced by the specified list, so if you just want to add, update,
* or remove a listener, make a [LoadBalancerService.AddListener] request,
* a [LoadBalancerService.UpdateListener] request, or a [LoadBalancerService.RemoveListener] request.
*/
listenerSpecs: ListenerSpec[];
/**
* New locality settings of the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#lb-location).
*
* Existing locality settings are completely replaced by the specified settings,
* so if you just want to add or remove an allocation policy:
* 1. Get the current settings with a [LoadBalancerService.Get] request.
* 2. Add or remove a policy in this set.
* 3. Send the new set in this field.
*/
allocationPolicy?: AllocationPolicy;
/**
* ID's of new security groups attributed to the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#security-groups).
*
* Existing list of security groups is completely replaced by the specified list,
* so if you just want to add or remove an allocation policy:
* 1. Get the current set of security groups with a [LoadBalancerService.Get] request.
* 2. Add or remove a group in this set.
* 3. Send the new set in this field.
*/
securityGroupIds: string[];
/**
* New scaling settings of the application load balancer.
*
* The scaling settings relate to a special internal instance group which facilitates the balancer's work.
* Instances in this group are called _resource units_. The group is scaled automatically based on incoming load
* and within limitations specified in these settings.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#lcu-scaling).
*/
autoScalePolicy?: AutoScalePolicy;
/** Cloud logging settings of the application load balancer. */
logOptions?: LogOptions;
}
export interface UpdateLoadBalancerRequest_LabelsEntry {
$type: "yandex.cloud.apploadbalancer.v1.UpdateLoadBalancerRequest.LabelsEntry";
key: string;
value: string;
}
export interface UpdateLoadBalancerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.UpdateLoadBalancerMetadata";
/** ID of the application load balancer that is being updated. */
loadBalancerId: string;
}
export interface CreateLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.CreateLoadBalancerRequest";
/**
* ID of the folder to create an application load balancer in.
*
* To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/**
* Name of the application load balancer.
* The name must be unique within the folder.
*/
name: string;
/** Description of the application load balancer. */
description: string;
/**
* Application load balancer labels as `key:value` pairs.
* For details about the concept, see [documentation](/docs/overview/concepts/services#labels).
*/
labels: {
[key: string]: string;
};
/**
* ID of the region that the application load balancer is located at.
*
* The only supported value is `ru-central1`.
*/
regionId: string;
/** ID of the network that the application load balancer belongs to. */
networkId: string;
/**
* Listeners that belong to the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#listener).
*/
listenerSpecs: ListenerSpec[];
/**
* Locality settings of the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#lb-location).
*/
allocationPolicy?: AllocationPolicy;
/**
* ID's of the security groups attributed to the application load balancer.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#security-groups).
*/
securityGroupIds: string[];
/**
* Scaling settings of the application load balancer.
*
* The scaling settings relate to a special internal instance group which facilitates the balancer's work.
* Instances in this group are called _resource units_. The group is scaled automatically based on incoming load
* and within limitations specified in these settings.
*
* For details about the concept,
* see [documentation](/docs/application-load-balancer/concepts/application-load-balancer#lcu-scaling).
*/
autoScalePolicy?: AutoScalePolicy;
/** Cloud logging settings of the application load balancer. */
logOptions?: LogOptions;
}
export interface CreateLoadBalancerRequest_LabelsEntry {
$type: "yandex.cloud.apploadbalancer.v1.CreateLoadBalancerRequest.LabelsEntry";
key: string;
value: string;
}
export interface CreateLoadBalancerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.CreateLoadBalancerMetadata";
/** ID of the application load balancer that is being created. */
loadBalancerId: string;
}
export interface StartLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.StartLoadBalancerRequest";
/**
* ID of the application load balancer to start.
*
* The application load balancer must have a `STOPPED` status ([LoadBalancer.status]).
*
* To get the application load balancer ID, make a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
}
export interface StartLoadBalancerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.StartLoadBalancerMetadata";
/** ID of the application load balancer that is being started. */
loadBalancerId: string;
}
export interface StopLoadBalancerRequest {
$type: "yandex.cloud.apploadbalancer.v1.StopLoadBalancerRequest";
/**
* ID of the application load balancer to stop.
*
* The application load balancer must have an `ACTIVE` status ([LoadBalancer.status]).
*
* To get the application load balancer ID, make a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
}
export interface StopLoadBalancerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.StopLoadBalancerMetadata";
/** ID of the application load balancer that is being stopped. */
loadBalancerId: string;
}
export interface AddListenerRequest {
$type: "yandex.cloud.apploadbalancer.v1.AddListenerRequest";
/** ID of the application load balancer to add a listener to. */
loadBalancerId: string;
/** Listener to add to the application load balancer. */
listenerSpec?: ListenerSpec;
}
export interface AddListenerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.AddListenerMetadata";
/** ID of the application load balancer that the listener is being added to. */
loadBalancerId: string;
/** Name of the listener that is being added to the application load balancer. */
listenerName: string;
}
export interface RemoveListenerRequest {
$type: "yandex.cloud.apploadbalancer.v1.RemoveListenerRequest";
/** ID of the application load balancer to remove the listener from. */
loadBalancerId: string;
/** Name of the listener to remove from the application load balancer. */
name: string;
}
export interface RemoveListenerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.RemoveListenerMetadata";
/** ID of the application load balancer that the listener is being removed from. */
loadBalancerId: string;
/** Name of the listener that is being removed from the application load balancer. */
listenerName: string;
}
export interface UpdateListenerRequest {
$type: "yandex.cloud.apploadbalancer.v1.UpdateListenerRequest";
/** ID of the application load balancer to update the listener in. */
loadBalancerId: string;
/** Field mask that specifies which attributes of the listener should be updated. */
updateMask?: FieldMask;
/** New attributes of the listener. */
listenerSpec?: ListenerSpec;
}
export interface UpdateListenerMetadata {
$type: "yandex.cloud.apploadbalancer.v1.UpdateListenerMetadata";
/** ID of the application load balancer that the listener is being updated in. */
loadBalancerId: string;
/** Name of the listener that is being updated. */
listenerName: string;
}
export interface AddressSpec {
$type: "yandex.cloud.apploadbalancer.v1.AddressSpec";
/** Public IPv4 endpoint address. */
externalIpv4AddressSpec?: ExternalIpv4AddressSpec | undefined;
/**
* Internal IPv4 endpoint address.
*
* To enable the use of listeners with internal addresses, [contact support](https://console.cloud.yandex.ru/support).
*/
internalIpv4AddressSpec?: InternalIpv4AddressSpec | undefined;
/** Public IPv6 endpoint address. */
externalIpv6AddressSpec?: ExternalIpv6AddressSpec | undefined;
}
export interface ExternalIpv4AddressSpec {
$type: "yandex.cloud.apploadbalancer.v1.ExternalIpv4AddressSpec";
/** IPv4 address. */
address: string;
}
export interface InternalIpv4AddressSpec {
$type: "yandex.cloud.apploadbalancer.v1.InternalIpv4AddressSpec";
/** IPv4 address. */
address: string;
/** ID of the subnet that the address belongs to. */
subnetId: string;
}
export interface ExternalIpv6AddressSpec {
$type: "yandex.cloud.apploadbalancer.v1.ExternalIpv6AddressSpec";
/** IPv6 address. */
address: string;
}
export interface EndpointSpec {
$type: "yandex.cloud.apploadbalancer.v1.EndpointSpec";
/** Endpoint public (external) and internal addresses. */
addressSpecs: AddressSpec[];
/** Endpoint ports. */
ports: number[];
}
export interface ListenerSpec {
$type: "yandex.cloud.apploadbalancer.v1.ListenerSpec";
/** Name of the listener. The name is unique within the application load balancer. */
name: string;
/**
* Endpoints of the listener.
*
* Endpoints are defined by their IP addresses and ports.
*/
endpointSpecs: EndpointSpec[];
/** Unencrypted HTTP listener settings. */
http?: HttpListener | undefined;
/**
* TLS-encrypted HTTP or TCP stream listener settings.
*
* All handlers within a listener ([TlsListener.default_handler] and [TlsListener.sni_handlers]) must be of one
* type, [HttpHandler] or [StreamHandler]. Mixing HTTP and TCP stream traffic in a TLS-encrypted listener is not
* supported.
*/
tls?: TlsListener | undefined;
/** Unencrypted stream (TCP) listener settings. */
stream?: StreamListener | undefined;
}
export interface GetTargetStatesRequest {
$type: "yandex.cloud.apploadbalancer.v1.GetTargetStatesRequest";
/** ID of the application load balancer that the backend group is attributed to. */
loadBalancerId: string;
/** ID of the backend group that the target group is attributed to. */
backendGroupId: string;
/** ID of the target group to get target states of. */
targetGroupId: string;
}
export interface GetTargetStatesResponse {
$type: "yandex.cloud.apploadbalancer.v1.GetTargetStatesResponse";
/** Target states of the specified target group. */
targetStates: TargetState[];
}
export interface AddSniMatchRequest {
$type: "yandex.cloud.apploadbalancer.v1.AddSniMatchRequest";
/** ID of the application load balancer to add a SNI handler to. */
loadBalancerId: string;
/** Name of the listener to add a SNI handler to. */
listenerName: string;
/** Name of the SNI handler to add. */
name: string;
/** Server names that are matched by the SNI handler. */
serverNames: string[];
/** Settings for handling requests with Server Name Indication (SNI) matching one of [server_names] values. */
handler?: TlsHandler;
}
export interface AddSniMatchMetadata {
$type: "yandex.cloud.apploadbalancer.v1.AddSniMatchMetadata";
/** ID of the application load balancer that the SNI handler is being added to. */
loadBalancerId: string;
/** Name of the listener that the SNI handler is being added to. */
listenerName: string;
/** Name of the SNI handler that is being added to the listener. */
sniMatchName: string;
}
export interface RemoveSniMatchRequest {
$type: "yandex.cloud.apploadbalancer.v1.RemoveSniMatchRequest";
/** ID of the application load balancer to remove the SNI handler from. */
loadBalancerId: string;
/** Name of the listener te remove the SNI handler from. */
listenerName: string;
/** Name of the SNI handler to remove. */
sniMatchName: string;
}
export interface RemoveSniMatchMetadata {
$type: "yandex.cloud.apploadbalancer.v1.RemoveSniMatchMetadata";
/** ID of the application load balancer that the SNI handler is being removed from. */
loadBalancerId: string;
/** Name of the listener that the SNI handler is being removed from. */
listenerName: string;
/** Name of the SNI handler that is being removed. */
sniMatchName: string;
}
export interface UpdateSniMatchRequest {
$type: "yandex.cloud.apploadbalancer.v1.UpdateSniMatchRequest";
/** ID of the application load balancer to update the SNI handler in. */
loadBalancerId: string;
/** Name of the listener to update the SNI handler in. */
listenerName: string;
/** Name of the SNI handler to update. */
name: string;
/** Field mask that specifies which attributes of the SNI handler should be updated. */
updateMask?: FieldMask;
/**
* New server names that are matched by the SNI handler.
*
* Existing set of server names is completely replaced by the provided set, so if you just want
* to add or remove a server name:
* 1. Get the current set of server names with a [LoadBalancerService.Get] request.
* 2. Add or remove a server name in this set.
* 3. Send the new set in this field.
*/
serverNames: string[];
/** New settings for handling requests with Server Name Indication (SNI) matching one of [server_names] values. */
handler?: TlsHandler;
}
export interface UpdateSniMatchMetadata {
$type: "yandex.cloud.apploadbalancer.v1.UpdateSniMatchMetadata";
/** ID of the application load balancer that the SNI handler is being updated in. */
loadBalancerId: string;
/** Name of the listener that the SNI handler is being updated in. */
listenerName: string;
/** Name of the SNI handler that is being updated. */
sniMatchName: string;
}
export interface ListLoadBalancerOperationsRequest {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancerOperationsRequest";
/**
* ID of the application load balancer to get operations for.
*
* To get the application load balancer ID, use a [LoadBalancerService.List] request.
*/
loadBalancerId: string;
/**
* The maximum number of results per page that should be returned. If the number of available
* results is larger than [page_size], the service returns a [ListLoadBalancerOperationsResponse.next_page_token]
* that can be used to get the next page of results in subsequent list requests.
* Default value: 100.
*/
pageSize: number;
/**
* Page token. To get the next page of results, set [page_token] to the
* [ListLoadBalancerOperationsResponse.next_page_token] returned by a previous list request.
*/
pageToken: string;
}
export interface ListLoadBalancerOperationsResponse {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancerOperationsResponse";
/** List of operations for the specified application load balancer. */
operations: Operation[];
/**
* Token for getting the next page of the list. If the number of results is greater than
* the specified [ListLoadBalancerOperationsRequest.page_size], use `next_page_token` as the value
* for the [ListLoadBalancerOperationsRequest.page_token] parameter in the next list request.
*
* Each subsequent page will have its own `next_page_token` to continue paging through the results.
*/
nextPageToken: string;
}
export declare const GetLoadBalancerRequest: {
$type: "yandex.cloud.apploadbalancer.v1.GetLoadBalancerRequest";
encode(message: GetLoadBalancerRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetLoadBalancerRequest;
fromJSON(object: any): GetLoadBalancerRequest;
toJSON(message: GetLoadBalancerRequest): unknown;
fromPartial<I extends {
loadBalancerId?: string | undefined;
} & {
loadBalancerId?: string | undefined;
} & Record<Exclude<keyof I, "$type" | "loadBalancerId">, never>>(object: I): GetLoadBalancerRequest;
};
export declare const ListLoadBalancersRequest: {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancersRequest";
encode(message: ListLoadBalancersRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListLoadBalancersRequest;
fromJSON(object: any): ListLoadBalancersRequest;
toJSON(message: ListLoadBalancersRequest): unknown;
fromPartial<I extends {
pageSize?: number | undefined;
pageToken?: string | undefined;
filter?: string | undefined;
folderId?: string | undefined;
} & {
pageSize?: number | undefined;
pageToken?: string | undefined;
filter?: string | undefined;
folderId?: string | undefined;
} & Record<Exclude<keyof I, "$type" | "pageSize" | "pageToken" | "filter" | "folderId">, never>>(object: I): ListLoadBalancersRequest;
};
export declare const ListLoadBalancersResponse: {
$type: "yandex.cloud.apploadbalancer.v1.ListLoadBalancersResponse";
encode(message: ListLoadBalancersResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListLoadBalancersResponse;
fromJSON(object: any): ListLoadBalancersResponse;
toJSON(message: ListLoadBalancersResponse): unknown;
fromPartial<I extends {
nextPageToken?: string | undefined;
loadBalancers?: {
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
status?: import("../../../../yandex/cloud/apploadbalancer/v1/load_balancer").LoadBalancer_Status | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
logGroupId?: string | undefined;
regionId?: string | undefined;
networkId?: string | undefined;
securityGroupIds?: string[] | undefined;
listeners?: {
name?: string | undefined;
http?: {
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} | undefined;
stream?: {
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} | undefined;
tls?: {
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
serverNames?: string[] | undefined;
}[] | undefined;
} | undefined;
endpoints?: {
addresses?: {
externalIpv4Address?: {
address?: string | undefined;
} | undefined;
internalIpv4Address?: {
subnetId?: string | undefined;
address?: string | undefined;
} | undefined;
externalIpv6Address?: {
address?: string | undefined;
} | undefined;
}[] | undefined;
ports?: number[] | undefined;
}[] | undefined;
}[] | undefined;
allocationPolicy?: {
locations?: {
subnetId?: string | undefined;
zoneId?: string | undefined;
disableTraffic?: boolean | undefined;
}[] | undefined;
} | undefined;
autoScalePolicy?: {
minZoneSize?: number | undefined;
maxSize?: number | undefined;
} | undefined;
logOptions?: {
logGroupId?: string | undefined;
disable?: boolean | undefined;
discardRules?: {
httpCodes?: number[] | undefined;
httpCodeIntervals?: import("../../../../yandex/cloud/apploadbalancer/v1/logging").HttpCodeInterval[] | undefined;
grpcCodes?: import("../../../../google/rpc/code").Code[] | undefined;
discardPercent?: number | undefined;
}[] | undefined;
} | undefined;
}[] | undefined;
} & {
nextPageToken?: string | undefined;
loadBalancers?: ({
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
status?: import("../../../../yandex/cloud/apploadbalancer/v1/load_balancer").LoadBalancer_Status | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
logGroupId?: string | undefined;
regionId?: string | undefined;
networkId?: string | undefined;
securityGroupIds?: string[] | undefined;
listeners?: {
name?: string | undefined;
http?: {
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} | undefined;
stream?: {
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} | undefined;
tls?: {
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
serverNames?: string[] | undefined;
}[] | undefined;
} | undefined;
endpoints?: {
addresses?: {
externalIpv4Address?: {
address?: string | undefined;
} | undefined;
internalIpv4Address?: {
subnetId?: string | undefined;
address?: string | undefined;
} | undefined;
externalIpv6Address?: {
address?: string | undefined;
} | undefined;
}[] | undefined;
ports?: number[] | undefined;
}[] | undefined;
}[] | undefined;
allocationPolicy?: {
locations?: {
subnetId?: string | undefined;
zoneId?: string | undefined;
disableTraffic?: boolean | undefined;
}[] | undefined;
} | undefined;
autoScalePolicy?: {
minZoneSize?: number | undefined;
maxSize?: number | undefined;
} | undefined;
logOptions?: {
logGroupId?: string | undefined;
disable?: boolean | undefined;
discardRules?: {
httpCodes?: number[] | undefined;
httpCodeIntervals?: import("../../../../yandex/cloud/apploadbalancer/v1/logging").HttpCodeInterval[] | undefined;
grpcCodes?: import("../../../../google/rpc/code").Code[] | undefined;
discardPercent?: number | undefined;
}[] | undefined;
} | undefined;
}[] & ({
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
status?: import("../../../../yandex/cloud/apploadbalancer/v1/load_balancer").LoadBalancer_Status | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
logGroupId?: string | undefined;
regionId?: string | undefined;
networkId?: string | undefined;
securityGroupIds?: string[] | undefined;
listeners?: {
name?: string | undefined;
http?: {
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} | undefined;
stream?: {
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} | undefined;
tls?: {
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
serverNames?: string[] | undefined;
}[] | undefined;
} | undefined;
endpoints?: {
addresses?: {
externalIpv4Address?: {
address?: string | undefined;
} | undefined;
internalIpv4Address?: {
subnetId?: string | undefined;
address?: string | undefined;
} | undefined;
externalIpv6Address?: {
address?: string | undefined;
} | undefined;
}[] | undefined;
ports?: number[] | undefined;
}[] | undefined;
}[] | undefined;
allocationPolicy?: {
locations?: {
subnetId?: string | undefined;
zoneId?: string | undefined;
disableTraffic?: boolean | undefined;
}[] | undefined;
} | undefined;
autoScalePolicy?: {
minZoneSize?: number | undefined;
maxSize?: number | undefined;
} | undefined;
logOptions?: {
logGroupId?: string | undefined;
disable?: boolean | undefined;
discardRules?: {
httpCodes?: number[] | undefined;
httpCodeIntervals?: import("../../../../yandex/cloud/apploadbalancer/v1/logging").HttpCodeInterval[] | undefined;
grpcCodes?: import("../../../../google/rpc/code").Code[] | undefined;
discardPercent?: number | undefined;
}[] | undefined;
} | undefined;
} & {
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
status?: import("../../../../yandex/cloud/apploadbalancer/v1/load_balancer").LoadBalancer_Status | undefined;
folderId?: string | undefined;
labels?: ({
[x: string]: string | undefined;
[x: number]: string | undefined;
} & {
[x: string]: string | undefined;
[x: number]: string | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["labels"], string | number>, never>) | undefined;
logGroupId?: string | undefined;
regionId?: string | undefined;
networkId?: string | undefined;
securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["loadBalancers"][number]["securityGroupIds"], "$type" | keyof string[]>, never>) | undefined;
listeners?: ({
name?: string | undefined;
http?: {
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} | undefined;
stream?: {
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} | undefined;
tls?: {
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
serverNames?: string[] | undefined;
}[] | undefined;
} | undefined;
endpoints?: {
addresses?: {
externalIpv4Address?: {
address?: string | undefined;
} | undefined;
internalIpv4Address?: {
subnetId?: string | undefined;
address?: string | undefined;
} | undefined;
externalIpv6Address?: {
address?: string | undefined;
} | undefined;
}[] | undefined;
ports?: number[] | undefined;
}[] | undefined;
}[] & ({
name?: string | undefined;
http?: {
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} | undefined;
stream?: {
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} | undefined;
tls?: {
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
serverNames?: string[] | undefined;
}[] | undefined;
} | undefined;
endpoints?: {
addresses?: {
externalIpv4Address?: {
address?: string | undefined;
} | undefined;
internalIpv4Address?: {
subnetId?: string | undefined;
address?: string | undefined;
} | undefined;
externalIpv6Address?: {
address?: string | undefined;
} | undefined;
}[] | undefined;
ports?: number[] | undefined;
}[] | undefined;
} & {
name?: string | undefined;
http?: ({
handler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
redirects?: {
httpToHttps?: boolean | undefined;
} | undefined;
} & {
handler?: ({
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} & {
httpRouterId?: string | undefined;
http2Options?: ({
maxConcurrentStreams?: number | undefined;
} & {
maxConcurrentStreams?: number | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["http"]["handler"]["http2Options"], "$type" | "maxConcurrentStreams">, never>) | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["http"]["handler"], "$type" | "httpRouterId" | "http2Options" | "allowHttp10" | "rewriteRequestId">, never>) | undefined;
redirects?: ({
httpToHttps?: boolean | undefined;
} & {
httpToHttps?: boolean | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["http"]["redirects"], "$type" | "httpToHttps">, never>) | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["http"], "$type" | "handler" | "redirects">, never>) | undefined;
stream?: ({
handler?: {
backendGroupId?: string | undefined;
} | undefined;
} & {
handler?: ({
backendGroupId?: string | undefined;
} & {
backendGroupId?: string | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["stream"]["handler"], "$type" | "backendGroupId">, never>) | undefined;
} & Record<Exclude<keyof I["loadBalancers"][number]["listeners"][number]["stream"], "$type" | "handler">, never>) | undefined;
tls?: ({
defaultHandler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {
maxConcurrentStreams?: number | undefined;
} | undefined;
allowHttp10?: boolean | undefined;
rewriteRequestId?: boolean | undefined;
} | undefined;
streamHandler?: {
backendGroupId?: string | undefined;
} | undefined;
certificateIds?: string[] | undefined;
} | undefined;
sniHandlers?: {
name?: string | undefined;
handler?: {
httpHandler?: {
httpRouterId?: string | undefined;
http2Options?: {