UNPKG

@yandex-cloud/nodejs-sdk

Version:
1,090 lines 437 kB
/// <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 { BackendGroup, HttpBackendGroup, GrpcBackendGroup, StreamBackendGroup, HttpBackend, GrpcBackend, StreamBackend } from "../../../../yandex/cloud/apploadbalancer/v1/backend_group"; import { Operation } from "../../../../yandex/cloud/operation/operation"; export declare const protobufPackage = "yandex.cloud.apploadbalancer.v1"; export interface GetBackendGroupRequest { $type: "yandex.cloud.apploadbalancer.v1.GetBackendGroupRequest"; /** * ID of the backend group to return. * * To get the backend group ID, make a [BackendGroupService.List] request. */ backendGroupId: string; } export interface ListBackendGroupsRequest { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupsRequest"; /** * ID of the folder to list backend groups 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 [ListBackendGroupsResponse.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 * [ListBackendGroupsResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters backend groups listed in the response. * * The expression must specify: * 1. The field name. Currently you can use filtering only on [BackendGroup.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-backend-group`. */ filter: string; } export interface ListBackendGroupsResponse { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupsResponse"; /** List of backend groups in the specified folder. */ backendGroups: BackendGroup[]; /** * Token for getting the next page of the list. If the number of results is greater than * the specified [ListBackendGroupsRequest.page_size], use `next_page_token` as the value * for the [ListBackendGroupsRequest.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 DeleteBackendGroupRequest { $type: "yandex.cloud.apploadbalancer.v1.DeleteBackendGroupRequest"; /** * ID of the backend group to delete. * * To get the backend group ID, make a [BackendGroupService.List] request. */ backendGroupId: string; } export interface DeleteBackendGroupMetadata { $type: "yandex.cloud.apploadbalancer.v1.DeleteBackendGroupMetadata"; /** ID of the backend group that is being deleted. */ backendGroupId: string; } export interface UpdateBackendGroupRequest { $type: "yandex.cloud.apploadbalancer.v1.UpdateBackendGroupRequest"; /** * ID of the backend group to update. * * To get the backend group ID, make a [BackendGroupService.List] request. */ backendGroupId: string; /** Field mask that specifies which attributes of the backend group should be updated. */ updateMask?: FieldMask; /** * New name for the backend group. * The name must be unique within the folder. */ name: string; /** New description of the backend group. */ description: string; /** * Backend group 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 [BackendGroupService.Get] request. * 2. Add or remove a label in this set. * 3. Send the new set in this field. */ labels: { [key: string]: string; }; /** New list of HTTP backends that the backend group will consist of. */ http?: HttpBackendGroup | undefined; /** New list of gRPC backends that the backend group will consist of. */ grpc?: GrpcBackendGroup | undefined; /** New list of stream (TCP) backends that the backend group will consist of. */ stream?: StreamBackendGroup | undefined; } export interface UpdateBackendGroupRequest_LabelsEntry { $type: "yandex.cloud.apploadbalancer.v1.UpdateBackendGroupRequest.LabelsEntry"; key: string; value: string; } export interface UpdateBackendGroupMetadata { $type: "yandex.cloud.apploadbalancer.v1.UpdateBackendGroupMetadata"; /** ID of the backend group that is being updated. */ backendGroupId: string; } export interface CreateBackendGroupRequest { $type: "yandex.cloud.apploadbalancer.v1.CreateBackendGroupRequest"; /** * ID of the folder to create a backend group in. * * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * Name of the backend group. * The name must be unique within the folder. */ name: string; /** Description of the backend group. */ description: string; /** * Backend group labels as `key:value` pairs. * For details about the concept, see [documentation](/docs/overview/concepts/services#labels). */ labels: { [key: string]: string; }; /** List of HTTP backends that the backend group will consist of. */ http?: HttpBackendGroup | undefined; /** List of gRPC backends that the backend group consists of. */ grpc?: GrpcBackendGroup | undefined; /** List of stream (TCP) backends that the backend group consists of. */ stream?: StreamBackendGroup | undefined; } export interface CreateBackendGroupRequest_LabelsEntry { $type: "yandex.cloud.apploadbalancer.v1.CreateBackendGroupRequest.LabelsEntry"; key: string; value: string; } export interface CreateBackendGroupMetadata { $type: "yandex.cloud.apploadbalancer.v1.CreateBackendGroupMetadata"; /** ID of the backend group that is being created. */ backendGroupId: string; } export interface AddBackendRequest { $type: "yandex.cloud.apploadbalancer.v1.AddBackendRequest"; /** * ID of the backend group to add a backend to. * * To get the backend group ID, make a [BackendGroupService.List] request. */ backendGroupId: string; /** HTTP backend to add to the backend group. */ http?: HttpBackend | undefined; /** gRPC backend to add to the backend group. */ grpc?: GrpcBackend | undefined; /** New settings for the Stream backend. */ stream?: StreamBackend | undefined; } export interface AddBackendMetadata { $type: "yandex.cloud.apploadbalancer.v1.AddBackendMetadata"; /** ID of the backend group that the backend is being added to. */ backendGroupId: string; /** Name of the backend that is being added to the backend group. */ backendName: string; } export interface UpdateBackendRequest { $type: "yandex.cloud.apploadbalancer.v1.UpdateBackendRequest"; /** ID of the backend group to update the backend in. */ backendGroupId: string; /** Field mask that specifies which attributes of the backend should be updated. */ updateMask?: FieldMask; /** New settings for the HTTP backend. */ http?: HttpBackend | undefined; /** New settings for the gRPC backend. */ grpc?: GrpcBackend | undefined; /** New settings for the stream (TCP) backend. */ stream?: StreamBackend | undefined; } export interface UpdateBackendMetadata { $type: "yandex.cloud.apploadbalancer.v1.UpdateBackendMetadata"; /** ID of the backend group that the backend is being updated it. */ backendGroupId: string; /** Name of the backend that is being updated. */ backendName: string; } export interface RemoveBackendRequest { $type: "yandex.cloud.apploadbalancer.v1.RemoveBackendRequest"; /** * ID of the backend group to remove a backend from. * * To get the backend group ID, make a [BackendGroupService.List] request. */ backendGroupId: string; /** * Name of the backend to remove. * * To get the backend name, make a [BackendGroupService.Get] request. */ backendName: string; } export interface RemoveBackendMetadata { $type: "yandex.cloud.apploadbalancer.v1.RemoveBackendMetadata"; /** ID of the backend group that the backend is being removed from. */ backendGroupId: string; /** Name of the backend that is being removed. */ backendName: string; } export interface ListBackendGroupOperationsRequest { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupOperationsRequest"; /** * ID of the backend group to get operations for. * * To get the backend group ID, use a [BackendGroupService.List] request. */ backendGroupId: 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 [ListBackendGroupOperationsResponse.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 * [ListBackendGroupOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListBackendGroupOperationsResponse { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupOperationsResponse"; /** List of operations for the specified backend group. */ operations: Operation[]; /** * Token for getting the next page of the list. If the number of results is greater than * the specified [ListBackendGroupOperationsRequest.page_size], use `next_page_token` as the value * for the [ListBackendGroupOperationsRequest.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 GetBackendGroupRequest: { $type: "yandex.cloud.apploadbalancer.v1.GetBackendGroupRequest"; encode(message: GetBackendGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetBackendGroupRequest; fromJSON(object: any): GetBackendGroupRequest; toJSON(message: GetBackendGroupRequest): unknown; fromPartial<I extends { backendGroupId?: string | undefined; } & { backendGroupId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "backendGroupId">, never>>(object: I): GetBackendGroupRequest; }; export declare const ListBackendGroupsRequest: { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupsRequest"; encode(message: ListBackendGroupsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListBackendGroupsRequest; fromJSON(object: any): ListBackendGroupsRequest; toJSON(message: ListBackendGroupsRequest): 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): ListBackendGroupsRequest; }; export declare const ListBackendGroupsResponse: { $type: "yandex.cloud.apploadbalancer.v1.ListBackendGroupsResponse"; encode(message: ListBackendGroupsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListBackendGroupsResponse; fromJSON(object: any): ListBackendGroupsResponse; toJSON(message: ListBackendGroupsResponse): unknown; fromPartial<I extends { nextPageToken?: string | undefined; backendGroups?: { description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; http?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; storageBucket?: { bucket?: string | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; useHttp2?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; grpc?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; stream?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; enableProxyProtocol?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; } | undefined; }[] | undefined; } & { nextPageToken?: string | undefined; backendGroups?: ({ description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; http?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; storageBucket?: { bucket?: string | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; useHttp2?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; grpc?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; stream?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; enableProxyProtocol?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; } | undefined; }[] & ({ description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; http?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; storageBucket?: { bucket?: string | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; useHttp2?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; grpc?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } | undefined; stream?: { backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; enableProxyProtocol?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; } | undefined; } & { description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | 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["backendGroups"][number]["labels"], string | number>, never>) | undefined; http?: ({ backends?: { name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; storageBucket?: { bucket?: string | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: boolean | undefined; host?: string | undefined; path?: string | undefined; } | undefined; grpc?: { serviceName?: string | undefined; } | undefined; stream?: { send?: { text?: string | undefined; } | undefined; receive?: { text?: string | undefined; } | undefined; } | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; intervalJitterPercent?: number | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; healthcheckPort?: number | undefined; plaintext?: {} | undefined; }[] | undefined; tls?: { sni?: string | undefined; validationContext?: { trustedCaId?: string | undefined; trustedCaBytes?: string | undefined; } | undefined; } | undefined; useHttp2?: boolean | undefined; }[] | undefined; connection?: { sourceIp?: boolean | undefined; } | undefined; header?: { headerName?: string | undefined; } | undefined; cookie?: { name?: string | undefined; ttl?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; } & { backends?: ({ name?: string | undefined; backendWeight?: number | undefined; loadBalancingConfig?: { panicThreshold?: number | undefined; localityAwareRoutingPercent?: number | undefined; strictLocality?: boolean | undefined; mode?: import("../../../../yandex/cloud/apploadbalancer/v1/backend_group").LoadBalancingMode | undefined; } | undefined; port?: number | undefined; targetGroups?: { targetGroupIds?: string[] | undefined; } | undefined; storageBucket?: { bucket?: string | undefined; } | undefined; healthchecks?: { http?: { useHttp2?: b