UNPKG

@yandex-cloud/nodejs-sdk

Version:
1,052 lines (1,051 loc) 120 kB
/// <reference types="node" /> import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { NetworkLoadBalancer_Type, AttachedTargetGroup, IpVersion, Listener_Protocol, NetworkLoadBalancer, TargetState } from "../../../../yandex/cloud/loadbalancer/v1/network_load_balancer"; import { FieldMask } from "../../../../google/protobuf/field_mask"; import { Operation } from "../../../../yandex/cloud/operation/operation"; export declare const protobufPackage = "yandex.cloud.loadbalancer.v1"; export interface GetNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.GetNetworkLoadBalancerRequest"; /** * ID of the NetworkLoadBalancer resource to return. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface ListNetworkLoadBalancersRequest { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancersRequest"; /** * ID of the folder that the network load balancer belongs to. * To get the folder ID, use a [NetworkLoadBalancerService.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 [<ResponseMessage>.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 * [ListNetworkLoadBalancersResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently you can only filter by the [NetworkLoadBalancer.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]`. */ filter: string; } export interface ListNetworkLoadBalancersResponse { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancersResponse"; /** List of NetworkLoadBalancer resources. */ networkLoadBalancers: NetworkLoadBalancer[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNetworkLoadBalancersRequest.page_size], use * the [next_page_token] as the value * for the [ListNetworkLoadBalancersRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.CreateNetworkLoadBalancerRequest"; /** * ID of the folder to create a network load balancer in. * To get the folder ID, use a [NetworkLoadBalancerService.List] request. */ folderId: string; /** * Name of the network load balancer. * The name must be unique within the folder. */ name: string; /** Description of the network load balancer. */ description: string; /** Resource labels as `` key:value `` pairs. */ labels: { [key: string]: string; }; /** ID of the region where the network load balancer resides. */ regionId: string; /** Type of the network load balancer. */ type: NetworkLoadBalancer_Type; /** List of listeners and their specs for the network load balancer. */ listenerSpecs: ListenerSpec[]; /** List of attached target groups for the network load balancer. */ attachedTargetGroups: AttachedTargetGroup[]; /** Specifies if network load balancer protected from deletion. */ deletionProtection: boolean; } export interface CreateNetworkLoadBalancerRequest_LabelsEntry { $type: "yandex.cloud.loadbalancer.v1.CreateNetworkLoadBalancerRequest.LabelsEntry"; key: string; value: string; } export interface CreateNetworkLoadBalancerMetadata { $type: "yandex.cloud.loadbalancer.v1.CreateNetworkLoadBalancerMetadata"; /** ID of the network load balancer that is being created. */ networkLoadBalancerId: string; } export interface UpdateNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.UpdateNetworkLoadBalancerRequest"; /** * ID of the network load balancer to update. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** Field mask that specifies which fields of the NetworkLoadBalancer resource are going to be updated. */ updateMask?: FieldMask; /** * Name of the network load balancer. * The name must be unique within the folder. */ name: string; /** Description of the network load balancer. */ description: string; /** * Resource labels as `` key:value `` pairs. * * The existing set of `` labels `` is completely replaced with the provided set. */ labels: { [key: string]: string; }; /** A list of listeners and their specs for the network load balancer. */ listenerSpecs: ListenerSpec[]; /** A list of attached target groups for the network load balancer. */ attachedTargetGroups: AttachedTargetGroup[]; /** Specifies if network load balancer protected from deletion. */ deletionProtection: boolean; } export interface UpdateNetworkLoadBalancerRequest_LabelsEntry { $type: "yandex.cloud.loadbalancer.v1.UpdateNetworkLoadBalancerRequest.LabelsEntry"; key: string; value: string; } export interface UpdateNetworkLoadBalancerMetadata { $type: "yandex.cloud.loadbalancer.v1.UpdateNetworkLoadBalancerMetadata"; /** ID of the NetworkLoadBalancer resource that is being updated. */ networkLoadBalancerId: string; } export interface DeleteNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.DeleteNetworkLoadBalancerRequest"; /** * ID of the network load balancer to delete. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface DeleteNetworkLoadBalancerMetadata { $type: "yandex.cloud.loadbalancer.v1.DeleteNetworkLoadBalancerMetadata"; /** ID of the NetworkLoadBalancer resource that is being deleted. */ networkLoadBalancerId: string; } export interface StartNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.StartNetworkLoadBalancerRequest"; /** * ID of the network load balancer to start. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface StartNetworkLoadBalancerMetadata { $type: "yandex.cloud.loadbalancer.v1.StartNetworkLoadBalancerMetadata"; /** ID of the NetworkLoadBalancer resource that is being started. */ networkLoadBalancerId: string; } export interface StopNetworkLoadBalancerRequest { $type: "yandex.cloud.loadbalancer.v1.StopNetworkLoadBalancerRequest"; /** * ID of the network load balancer to stop. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface StopNetworkLoadBalancerMetadata { $type: "yandex.cloud.loadbalancer.v1.StopNetworkLoadBalancerMetadata"; /** ID of the NetworkLoadBalancer resource that is being stopped. */ networkLoadBalancerId: string; } export interface AttachNetworkLoadBalancerTargetGroupRequest { $type: "yandex.cloud.loadbalancer.v1.AttachNetworkLoadBalancerTargetGroupRequest"; /** * ID of the network load balancer to attach the target group to. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * ID of the attached target group to attach to the network load balancer. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ attachedTargetGroup?: AttachedTargetGroup; } export interface AttachNetworkLoadBalancerTargetGroupMetadata { $type: "yandex.cloud.loadbalancer.v1.AttachNetworkLoadBalancerTargetGroupMetadata"; /** ID of the network load balancer that the target group is being attached to. */ networkLoadBalancerId: string; /** ID of the target group. */ targetGroupId: string; } export interface DetachNetworkLoadBalancerTargetGroupRequest { $type: "yandex.cloud.loadbalancer.v1.DetachNetworkLoadBalancerTargetGroupRequest"; /** * ID of the network load balancer to detach the target group from. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** ID of the target group. */ targetGroupId: string; } export interface DetachNetworkLoadBalancerTargetGroupMetadata { $type: "yandex.cloud.loadbalancer.v1.DetachNetworkLoadBalancerTargetGroupMetadata"; /** ID of the network load balancer that the target group is being detached from. */ networkLoadBalancerId: string; /** ID of the target group. */ targetGroupId: string; } export interface AddNetworkLoadBalancerListenerRequest { $type: "yandex.cloud.loadbalancer.v1.AddNetworkLoadBalancerListenerRequest"; /** * ID of the network load balancer to add a listener to. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** Listener spec. */ listenerSpec?: ListenerSpec; } export interface AddNetworkLoadBalancerListenerMetadata { $type: "yandex.cloud.loadbalancer.v1.AddNetworkLoadBalancerListenerMetadata"; /** ID of the network load balancer that the listener is being added to. */ networkLoadBalancerId: string; } export interface RemoveNetworkLoadBalancerListenerRequest { $type: "yandex.cloud.loadbalancer.v1.RemoveNetworkLoadBalancerListenerRequest"; /** * ID of the network load balancer to remove the listener from. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** Name of the listener to delete. */ listenerName: string; } export interface RemoveNetworkLoadBalancerListenerMetadata { $type: "yandex.cloud.loadbalancer.v1.RemoveNetworkLoadBalancerListenerMetadata"; /** ID of the network load balancer that the listener is being removed from. */ networkLoadBalancerId: string; } export interface ListNetworkLoadBalancerOperationsRequest { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancerOperationsRequest"; /** ID of the NetworkLoadBalancer resource to list operations for. */ networkLoadBalancerId: 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 [ListNetworkLoadBalancerOperationsResponse.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 * [ListNetworkLoadBalancerOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListNetworkLoadBalancerOperationsResponse { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancerOperationsResponse"; /** List of operations for the specified network load balancer. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNetworkLoadBalancerOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListNetworkLoadBalancerOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface GetTargetStatesRequest { $type: "yandex.cloud.loadbalancer.v1.GetTargetStatesRequest"; /** ID of the NetworkLoadBalancer resource with an attached target group. */ networkLoadBalancerId: string; /** ID of the target group to get states of resources from. */ targetGroupId: string; } export interface GetTargetStatesResponse { $type: "yandex.cloud.loadbalancer.v1.GetTargetStatesResponse"; /** List of states of targets within the target group that is specified in the [GetTargetStatesRequest] message. */ targetStates: TargetState[]; } /** External address specification that is used by [ListenerSpec]. */ export interface ExternalAddressSpec { $type: "yandex.cloud.loadbalancer.v1.ExternalAddressSpec"; /** * Public IP address for a listener. * If you provide a static public IP address for the [NetworkLoadBalancerService.Update] * method, it will replace the existing listener address. */ address: string; /** IP version. */ ipVersion: IpVersion; } /** Internal address specification that is used by [ListenerSpec]. */ export interface InternalAddressSpec { $type: "yandex.cloud.loadbalancer.v1.InternalAddressSpec"; /** Internal IP address for a listener. */ address: string; /** ID of the subnet. */ subnetId: string; /** IP version. */ ipVersion: IpVersion; } /** Listener specification that will be used by a network load balancer. */ export interface ListenerSpec { $type: "yandex.cloud.loadbalancer.v1.ListenerSpec"; /** Name of the listener. The name must be unique for each listener on a single load balancer. 3-63 characters long. */ name: string; /** Port for incoming traffic. */ port: number; /** Protocol for incoming traffic. */ protocol: Listener_Protocol; /** External IP address specification. */ externalAddressSpec?: ExternalAddressSpec | undefined; /** Internal IP address specification. */ internalAddressSpec?: InternalAddressSpec | undefined; /** * Port of a target. * Acceptable values are 1 to 65535, inclusive. */ targetPort: number; } export declare const GetNetworkLoadBalancerRequest: { $type: "yandex.cloud.loadbalancer.v1.GetNetworkLoadBalancerRequest"; encode(message: GetNetworkLoadBalancerRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetNetworkLoadBalancerRequest; fromJSON(object: any): GetNetworkLoadBalancerRequest; toJSON(message: GetNetworkLoadBalancerRequest): unknown; fromPartial<I extends { networkLoadBalancerId?: string | undefined; } & { networkLoadBalancerId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "networkLoadBalancerId">, never>>(object: I): GetNetworkLoadBalancerRequest; }; export declare const ListNetworkLoadBalancersRequest: { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancersRequest"; encode(message: ListNetworkLoadBalancersRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListNetworkLoadBalancersRequest; fromJSON(object: any): ListNetworkLoadBalancersRequest; toJSON(message: ListNetworkLoadBalancersRequest): 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): ListNetworkLoadBalancersRequest; }; export declare const ListNetworkLoadBalancersResponse: { $type: "yandex.cloud.loadbalancer.v1.ListNetworkLoadBalancersResponse"; encode(message: ListNetworkLoadBalancersResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListNetworkLoadBalancersResponse; fromJSON(object: any): ListNetworkLoadBalancersResponse; toJSON(message: ListNetworkLoadBalancersResponse): unknown; fromPartial<I extends { nextPageToken?: string | undefined; networkLoadBalancers?: { description?: string | undefined; id?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_Status | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; regionId?: string | undefined; listeners?: { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[] | undefined; deletionProtection?: boolean | undefined; sessionAffinity?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_SessionAffinity | undefined; attachedTargetGroups?: { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] | undefined; }[] | undefined; } & { nextPageToken?: string | undefined; networkLoadBalancers?: ({ description?: string | undefined; id?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_Status | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; regionId?: string | undefined; listeners?: { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[] | undefined; deletionProtection?: boolean | undefined; sessionAffinity?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_SessionAffinity | undefined; attachedTargetGroups?: { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] | undefined; }[] & ({ description?: string | undefined; id?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_Status | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; regionId?: string | undefined; listeners?: { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[] | undefined; deletionProtection?: boolean | undefined; sessionAffinity?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_SessionAffinity | undefined; attachedTargetGroups?: { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] | undefined; } & { description?: string | undefined; id?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_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["networkLoadBalancers"][number]["labels"], string | number>, never>) | undefined; regionId?: string | undefined; listeners?: ({ name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[] & ({ name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; } & { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["listeners"][number], "$type" | "name" | "port" | "subnetId" | "address" | "ipVersion" | "protocol" | "targetPort">, never>)[] & Record<Exclude<keyof I["networkLoadBalancers"][number]["listeners"], "$type" | keyof { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[]>, never>) | undefined; deletionProtection?: boolean | undefined; sessionAffinity?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_SessionAffinity | undefined; attachedTargetGroups?: ({ targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] & ({ targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; } & { targetGroupId?: string | undefined; healthChecks?: ({ name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; } & { name?: string | undefined; timeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"][number]["timeout"], "$type" | "seconds" | "nanos">, never>) | undefined; interval?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"][number]["interval"], "$type" | "seconds" | "nanos">, never>) | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: ({ port?: number | undefined; } & { port?: number | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"][number]["tcpOptions"], "$type" | "port">, never>) | undefined; httpOptions?: ({ port?: number | undefined; path?: string | undefined; } & { port?: number | undefined; path?: string | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"][number]["httpOptions"], "$type" | "port" | "path">, never>) | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"][number], "$type" | "name" | "timeout" | "interval" | "healthyThreshold" | "unhealthyThreshold" | "tcpOptions" | "httpOptions">, never>)[] & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number]["healthChecks"], "$type" | keyof { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"][number], "$type" | "targetGroupId" | "healthChecks">, never>)[] & Record<Exclude<keyof I["networkLoadBalancers"][number]["attachedTargetGroups"], "$type" | keyof { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["networkLoadBalancers"][number], "$type" | "description" | "id" | "type" | "name" | "createdAt" | "status" | "folderId" | "labels" | "regionId" | "listeners" | "deletionProtection" | "sessionAffinity" | "attachedTargetGroups">, never>)[] & Record<Exclude<keyof I["networkLoadBalancers"], "$type" | keyof { description?: string | undefined; id?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_Status | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; regionId?: string | undefined; listeners?: { name?: string | undefined; port?: number | undefined; subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; }[] | undefined; deletionProtection?: boolean | undefined; sessionAffinity?: import("../../../../yandex/cloud/loadbalancer/v1/network_load_balancer").NetworkLoadBalancer_SessionAffinity | undefined; attachedTargetGroups?: { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I, "$type" | "nextPageToken" | "networkLoadBalancers">, never>>(object: I): ListNetworkLoadBalancersResponse; }; export declare const CreateNetworkLoadBalancerRequest: { $type: "yandex.cloud.loadbalancer.v1.CreateNetworkLoadBalancerRequest"; encode(message: CreateNetworkLoadBalancerRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): CreateNetworkLoadBalancerRequest; fromJSON(object: any): CreateNetworkLoadBalancerRequest; toJSON(message: CreateNetworkLoadBalancerRequest): unknown; fromPartial<I extends { description?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | undefined; folderId?: string | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; regionId?: string | undefined; listenerSpecs?: { name?: string | undefined; port?: number | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; externalAddressSpec?: { address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; internalAddressSpec?: { subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; }[] | undefined; deletionProtection?: boolean | undefined; attachedTargetGroups?: { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] | undefined; } & { description?: string | undefined; type?: NetworkLoadBalancer_Type | undefined; name?: string | 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["labels"], string | number>, never>) | undefined; regionId?: string | undefined; listenerSpecs?: ({ name?: string | undefined; port?: number | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; externalAddressSpec?: { address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; internalAddressSpec?: { subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; }[] & ({ name?: string | undefined; port?: number | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; externalAddressSpec?: { address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; internalAddressSpec?: { subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; } & { name?: string | undefined; port?: number | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; externalAddressSpec?: ({ address?: string | undefined; ipVersion?: IpVersion | undefined; } & { address?: string | undefined; ipVersion?: IpVersion | undefined; } & Record<Exclude<keyof I["listenerSpecs"][number]["externalAddressSpec"], "$type" | "address" | "ipVersion">, never>) | undefined; internalAddressSpec?: ({ subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } & { subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } & Record<Exclude<keyof I["listenerSpecs"][number]["internalAddressSpec"], "$type" | "subnetId" | "address" | "ipVersion">, never>) | undefined; } & Record<Exclude<keyof I["listenerSpecs"][number], "$type" | "name" | "port" | "protocol" | "targetPort" | "externalAddressSpec" | "internalAddressSpec">, never>)[] & Record<Exclude<keyof I["listenerSpecs"], "$type" | keyof { name?: string | undefined; port?: number | undefined; protocol?: Listener_Protocol | undefined; targetPort?: number | undefined; externalAddressSpec?: { address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; internalAddressSpec?: { subnetId?: string | undefined; address?: string | undefined; ipVersion?: IpVersion | undefined; } | undefined; }[]>, never>) | undefined; deletionProtection?: boolean | undefined; attachedTargetGroups?: ({ targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; }[] & ({ targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] | undefined; } & { targetGroupId?: string | undefined; healthChecks?: ({ name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; } & { name?: string | undefined; timeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"][number]["timeout"], "$type" | "seconds" | "nanos">, never>) | undefined; interval?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"][number]["interval"], "$type" | "seconds" | "nanos">, never>) | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: ({ port?: number | undefined; } & { port?: number | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"][number]["tcpOptions"], "$type" | "port">, never>) | undefined; httpOptions?: ({ port?: number | undefined; path?: string | undefined; } & { port?: number | undefined; path?: string | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"][number]["httpOptions"], "$type" | "port" | "path">, never>) | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"][number], "$type" | "name" | "timeout" | "interval" | "healthyThreshold" | "unhealthyThreshold" | "tcpOptions" | "httpOptions">, never>)[] & Record<Exclude<keyof I["attachedTargetGroups"][number]["healthChecks"], "$type" | keyof { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: { port?: number | undefined; path?: string | undefined; } | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["attachedTargetGroups"][number], "$type" | "targetGroupId" | "healthChecks">, never>)[] & Record<Exclude<keyof I["attachedTargetGroups"], "$type" | keyof { targetGroupId?: string | undefined; healthChecks?: { name?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; interval?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; healthyThreshold?: number | undefined; unhealthyThreshold?: number | undefined; tcpOptions?: { port?: number | undefined; } | undefined; httpOptions?: {