@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
1,052 lines (1,051 loc) • 120 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 { 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?: {