@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
1,158 lines • 90.3 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HealthCheck_GrpcHealthCheck = exports.HealthCheck_HttpHealthCheck = exports.HealthCheck_StreamHealthCheck = exports.HealthCheck = exports.StorageBucketBackend = exports.BackendTls = exports.SecureTransportSettings = exports.PlaintextTransportSettings = exports.TargetGroupsBackend = exports.GrpcBackend = exports.HttpBackend = exports.StreamBackend = exports.LoadBalancingConfig = exports.ConnectionSessionAffinity = exports.CookieSessionAffinity = exports.HeaderSessionAffinity = exports.GrpcBackendGroup = exports.HttpBackendGroup = exports.StreamBackendGroup = exports.BackendGroup_LabelsEntry = exports.BackendGroup = exports.loadBalancingModeToJSON = exports.loadBalancingModeFromJSON = exports.LoadBalancingMode = exports.protobufPackage = void 0;
/* eslint-disable */
const typeRegistry_1 = require("../../../../typeRegistry");
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
const duration_1 = require("../../../../google/protobuf/duration");
const tls_1 = require("../../../../yandex/cloud/apploadbalancer/v1/tls");
const payload_1 = require("../../../../yandex/cloud/apploadbalancer/v1/payload");
const timestamp_1 = require("../../../../google/protobuf/timestamp");
const wrappers_1 = require("../../../../google/protobuf/wrappers");
exports.protobufPackage = "yandex.cloud.apploadbalancer.v1";
/**
* A load balancing mode resource.
* For details about the concept, see
* [documentation](/docs/application-load-balancer/concepts/backend-group#balancing-mode).
*/
var LoadBalancingMode;
(function (LoadBalancingMode) {
/**
* ROUND_ROBIN - Round robin load balancing mode.
*
* All endpoints of the backend take their turns to receive requests attributed to the backend.
*/
LoadBalancingMode[LoadBalancingMode["ROUND_ROBIN"] = 0] = "ROUND_ROBIN";
/**
* RANDOM - Random load balancing mode. Default value.
*
* For a request attributed to the backend, an endpoint that receives it is picked at random.
*/
LoadBalancingMode[LoadBalancingMode["RANDOM"] = 1] = "RANDOM";
/**
* LEAST_REQUEST - Least request load balancing mode.
*
* To pick an endpoint that receives a request attributed to the backend, the power of two choices algorithm is used;
* that is, two endpoints are picked at random, and the request is sent to the one which has the fewest active
* requests.
*/
LoadBalancingMode[LoadBalancingMode["LEAST_REQUEST"] = 2] = "LEAST_REQUEST";
/**
* MAGLEV_HASH - Maglev hashing load balancing mode.
*
* Each endpoint is hashed, and a hash table with 65537 rows is filled accordingly, so that every endpoint occupies
* the same amount of rows. An attribute of each request is also hashed by the same function (if session affinity is
* enabled for the backend group, the attribute to hash is specified in session affinity configuration). The row
* with the same number as the resulting value is looked up in the table to determine the endpoint that receives
* the request.
*
* If the backend group with session affinity enabled contains more than one backend with positive weight, endpoints
* for backends with `MAGLEV_HASH` load balancing mode are picked at `RANDOM` instead.
*/
LoadBalancingMode[LoadBalancingMode["MAGLEV_HASH"] = 3] = "MAGLEV_HASH";
LoadBalancingMode[LoadBalancingMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LoadBalancingMode = exports.LoadBalancingMode || (exports.LoadBalancingMode = {}));
function loadBalancingModeFromJSON(object) {
switch (object) {
case 0:
case "ROUND_ROBIN":
return LoadBalancingMode.ROUND_ROBIN;
case 1:
case "RANDOM":
return LoadBalancingMode.RANDOM;
case 2:
case "LEAST_REQUEST":
return LoadBalancingMode.LEAST_REQUEST;
case 3:
case "MAGLEV_HASH":
return LoadBalancingMode.MAGLEV_HASH;
case -1:
case "UNRECOGNIZED":
default:
return LoadBalancingMode.UNRECOGNIZED;
}
}
exports.loadBalancingModeFromJSON = loadBalancingModeFromJSON;
function loadBalancingModeToJSON(object) {
switch (object) {
case LoadBalancingMode.ROUND_ROBIN:
return "ROUND_ROBIN";
case LoadBalancingMode.RANDOM:
return "RANDOM";
case LoadBalancingMode.LEAST_REQUEST:
return "LEAST_REQUEST";
case LoadBalancingMode.MAGLEV_HASH:
return "MAGLEV_HASH";
default:
return "UNKNOWN";
}
}
exports.loadBalancingModeToJSON = loadBalancingModeToJSON;
const baseBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.BackendGroup",
id: "",
name: "",
description: "",
folderId: "",
};
exports.BackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.BackendGroup",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.id !== "") {
writer.uint32(10).string(message.id);
}
if (message.name !== "") {
writer.uint32(18).string(message.name);
}
if (message.description !== "") {
writer.uint32(26).string(message.description);
}
if (message.folderId !== "") {
writer.uint32(34).string(message.folderId);
}
Object.entries(message.labels).forEach(([key, value]) => {
exports.BackendGroup_LabelsEntry.encode({
$type: "yandex.cloud.apploadbalancer.v1.BackendGroup.LabelsEntry",
key: key,
value,
}, writer.uint32(42).fork()).ldelim();
});
if (message.http !== undefined) {
exports.HttpBackendGroup.encode(message.http, writer.uint32(50).fork()).ldelim();
}
if (message.grpc !== undefined) {
exports.GrpcBackendGroup.encode(message.grpc, writer.uint32(58).fork()).ldelim();
}
if (message.stream !== undefined) {
exports.StreamBackendGroup.encode(message.stream, writer.uint32(82).fork()).ldelim();
}
if (message.createdAt !== undefined) {
timestamp_1.Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(74).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseBackendGroup);
message.labels = {};
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.id = reader.string();
break;
case 2:
message.name = reader.string();
break;
case 3:
message.description = reader.string();
break;
case 4:
message.folderId = reader.string();
break;
case 5:
const entry5 = exports.BackendGroup_LabelsEntry.decode(reader, reader.uint32());
if (entry5.value !== undefined) {
message.labels[entry5.key] = entry5.value;
}
break;
case 6:
message.http = exports.HttpBackendGroup.decode(reader, reader.uint32());
break;
case 7:
message.grpc = exports.GrpcBackendGroup.decode(reader, reader.uint32());
break;
case 10:
message.stream = exports.StreamBackendGroup.decode(reader, reader.uint32());
break;
case 9:
message.createdAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseBackendGroup);
message.id =
object.id !== undefined && object.id !== null ? String(object.id) : "";
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.description =
object.description !== undefined && object.description !== null
? String(object.description)
: "";
message.folderId =
object.folderId !== undefined && object.folderId !== null
? String(object.folderId)
: "";
message.labels = Object.entries((_a = object.labels) !== null && _a !== void 0 ? _a : {}).reduce((acc, [key, value]) => {
acc[key] = String(value);
return acc;
}, {});
message.http =
object.http !== undefined && object.http !== null
? exports.HttpBackendGroup.fromJSON(object.http)
: undefined;
message.grpc =
object.grpc !== undefined && object.grpc !== null
? exports.GrpcBackendGroup.fromJSON(object.grpc)
: undefined;
message.stream =
object.stream !== undefined && object.stream !== null
? exports.StreamBackendGroup.fromJSON(object.stream)
: undefined;
message.createdAt =
object.createdAt !== undefined && object.createdAt !== null
? fromJsonTimestamp(object.createdAt)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
message.id !== undefined && (obj.id = message.id);
message.name !== undefined && (obj.name = message.name);
message.description !== undefined &&
(obj.description = message.description);
message.folderId !== undefined && (obj.folderId = message.folderId);
obj.labels = {};
if (message.labels) {
Object.entries(message.labels).forEach(([k, v]) => {
obj.labels[k] = v;
});
}
message.http !== undefined &&
(obj.http = message.http
? exports.HttpBackendGroup.toJSON(message.http)
: undefined);
message.grpc !== undefined &&
(obj.grpc = message.grpc
? exports.GrpcBackendGroup.toJSON(message.grpc)
: undefined);
message.stream !== undefined &&
(obj.stream = message.stream
? exports.StreamBackendGroup.toJSON(message.stream)
: undefined);
message.createdAt !== undefined &&
(obj.createdAt = message.createdAt.toISOString());
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d, _e, _f;
const message = Object.assign({}, baseBackendGroup);
message.id = (_a = object.id) !== null && _a !== void 0 ? _a : "";
message.name = (_b = object.name) !== null && _b !== void 0 ? _b : "";
message.description = (_c = object.description) !== null && _c !== void 0 ? _c : "";
message.folderId = (_d = object.folderId) !== null && _d !== void 0 ? _d : "";
message.labels = Object.entries((_e = object.labels) !== null && _e !== void 0 ? _e : {}).reduce((acc, [key, value]) => {
if (value !== undefined) {
acc[key] = String(value);
}
return acc;
}, {});
message.http =
object.http !== undefined && object.http !== null
? exports.HttpBackendGroup.fromPartial(object.http)
: undefined;
message.grpc =
object.grpc !== undefined && object.grpc !== null
? exports.GrpcBackendGroup.fromPartial(object.grpc)
: undefined;
message.stream =
object.stream !== undefined && object.stream !== null
? exports.StreamBackendGroup.fromPartial(object.stream)
: undefined;
message.createdAt = (_f = object.createdAt) !== null && _f !== void 0 ? _f : undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.BackendGroup.$type, exports.BackendGroup);
const baseBackendGroup_LabelsEntry = {
$type: "yandex.cloud.apploadbalancer.v1.BackendGroup.LabelsEntry",
key: "",
value: "",
};
exports.BackendGroup_LabelsEntry = {
$type: "yandex.cloud.apploadbalancer.v1.BackendGroup.LabelsEntry",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.key !== "") {
writer.uint32(10).string(message.key);
}
if (message.value !== "") {
writer.uint32(18).string(message.value);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseBackendGroup_LabelsEntry);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.key = reader.string();
break;
case 2:
message.value = reader.string();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseBackendGroup_LabelsEntry);
message.key =
object.key !== undefined && object.key !== null ? String(object.key) : "";
message.value =
object.value !== undefined && object.value !== null
? String(object.value)
: "";
return message;
},
toJSON(message) {
const obj = {};
message.key !== undefined && (obj.key = message.key);
message.value !== undefined && (obj.value = message.value);
return obj;
},
fromPartial(object) {
var _a, _b;
const message = Object.assign({}, baseBackendGroup_LabelsEntry);
message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
message.value = (_b = object.value) !== null && _b !== void 0 ? _b : "";
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.BackendGroup_LabelsEntry.$type, exports.BackendGroup_LabelsEntry);
const baseStreamBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.StreamBackendGroup",
};
exports.StreamBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.StreamBackendGroup",
encode(message, writer = minimal_1.default.Writer.create()) {
for (const v of message.backends) {
exports.StreamBackend.encode(v, writer.uint32(10).fork()).ldelim();
}
if (message.connection !== undefined) {
exports.ConnectionSessionAffinity.encode(message.connection, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseStreamBackendGroup);
message.backends = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.backends.push(exports.StreamBackend.decode(reader, reader.uint32()));
break;
case 2:
message.connection = exports.ConnectionSessionAffinity.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseStreamBackendGroup);
message.backends = ((_a = object.backends) !== null && _a !== void 0 ? _a : []).map((e) => exports.StreamBackend.fromJSON(e));
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromJSON(object.connection)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
if (message.backends) {
obj.backends = message.backends.map((e) => e ? exports.StreamBackend.toJSON(e) : undefined);
}
else {
obj.backends = [];
}
message.connection !== undefined &&
(obj.connection = message.connection
? exports.ConnectionSessionAffinity.toJSON(message.connection)
: undefined);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseStreamBackendGroup);
message.backends =
((_a = object.backends) === null || _a === void 0 ? void 0 : _a.map((e) => exports.StreamBackend.fromPartial(e))) || [];
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromPartial(object.connection)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.StreamBackendGroup.$type, exports.StreamBackendGroup);
const baseHttpBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.HttpBackendGroup",
};
exports.HttpBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.HttpBackendGroup",
encode(message, writer = minimal_1.default.Writer.create()) {
for (const v of message.backends) {
exports.HttpBackend.encode(v, writer.uint32(10).fork()).ldelim();
}
if (message.connection !== undefined) {
exports.ConnectionSessionAffinity.encode(message.connection, writer.uint32(18).fork()).ldelim();
}
if (message.header !== undefined) {
exports.HeaderSessionAffinity.encode(message.header, writer.uint32(26).fork()).ldelim();
}
if (message.cookie !== undefined) {
exports.CookieSessionAffinity.encode(message.cookie, writer.uint32(34).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseHttpBackendGroup);
message.backends = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.backends.push(exports.HttpBackend.decode(reader, reader.uint32()));
break;
case 2:
message.connection = exports.ConnectionSessionAffinity.decode(reader, reader.uint32());
break;
case 3:
message.header = exports.HeaderSessionAffinity.decode(reader, reader.uint32());
break;
case 4:
message.cookie = exports.CookieSessionAffinity.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseHttpBackendGroup);
message.backends = ((_a = object.backends) !== null && _a !== void 0 ? _a : []).map((e) => exports.HttpBackend.fromJSON(e));
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromJSON(object.connection)
: undefined;
message.header =
object.header !== undefined && object.header !== null
? exports.HeaderSessionAffinity.fromJSON(object.header)
: undefined;
message.cookie =
object.cookie !== undefined && object.cookie !== null
? exports.CookieSessionAffinity.fromJSON(object.cookie)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
if (message.backends) {
obj.backends = message.backends.map((e) => e ? exports.HttpBackend.toJSON(e) : undefined);
}
else {
obj.backends = [];
}
message.connection !== undefined &&
(obj.connection = message.connection
? exports.ConnectionSessionAffinity.toJSON(message.connection)
: undefined);
message.header !== undefined &&
(obj.header = message.header
? exports.HeaderSessionAffinity.toJSON(message.header)
: undefined);
message.cookie !== undefined &&
(obj.cookie = message.cookie
? exports.CookieSessionAffinity.toJSON(message.cookie)
: undefined);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseHttpBackendGroup);
message.backends =
((_a = object.backends) === null || _a === void 0 ? void 0 : _a.map((e) => exports.HttpBackend.fromPartial(e))) || [];
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromPartial(object.connection)
: undefined;
message.header =
object.header !== undefined && object.header !== null
? exports.HeaderSessionAffinity.fromPartial(object.header)
: undefined;
message.cookie =
object.cookie !== undefined && object.cookie !== null
? exports.CookieSessionAffinity.fromPartial(object.cookie)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.HttpBackendGroup.$type, exports.HttpBackendGroup);
const baseGrpcBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.GrpcBackendGroup",
};
exports.GrpcBackendGroup = {
$type: "yandex.cloud.apploadbalancer.v1.GrpcBackendGroup",
encode(message, writer = minimal_1.default.Writer.create()) {
for (const v of message.backends) {
exports.GrpcBackend.encode(v, writer.uint32(10).fork()).ldelim();
}
if (message.connection !== undefined) {
exports.ConnectionSessionAffinity.encode(message.connection, writer.uint32(18).fork()).ldelim();
}
if (message.header !== undefined) {
exports.HeaderSessionAffinity.encode(message.header, writer.uint32(26).fork()).ldelim();
}
if (message.cookie !== undefined) {
exports.CookieSessionAffinity.encode(message.cookie, writer.uint32(34).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseGrpcBackendGroup);
message.backends = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.backends.push(exports.GrpcBackend.decode(reader, reader.uint32()));
break;
case 2:
message.connection = exports.ConnectionSessionAffinity.decode(reader, reader.uint32());
break;
case 3:
message.header = exports.HeaderSessionAffinity.decode(reader, reader.uint32());
break;
case 4:
message.cookie = exports.CookieSessionAffinity.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseGrpcBackendGroup);
message.backends = ((_a = object.backends) !== null && _a !== void 0 ? _a : []).map((e) => exports.GrpcBackend.fromJSON(e));
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromJSON(object.connection)
: undefined;
message.header =
object.header !== undefined && object.header !== null
? exports.HeaderSessionAffinity.fromJSON(object.header)
: undefined;
message.cookie =
object.cookie !== undefined && object.cookie !== null
? exports.CookieSessionAffinity.fromJSON(object.cookie)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
if (message.backends) {
obj.backends = message.backends.map((e) => e ? exports.GrpcBackend.toJSON(e) : undefined);
}
else {
obj.backends = [];
}
message.connection !== undefined &&
(obj.connection = message.connection
? exports.ConnectionSessionAffinity.toJSON(message.connection)
: undefined);
message.header !== undefined &&
(obj.header = message.header
? exports.HeaderSessionAffinity.toJSON(message.header)
: undefined);
message.cookie !== undefined &&
(obj.cookie = message.cookie
? exports.CookieSessionAffinity.toJSON(message.cookie)
: undefined);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseGrpcBackendGroup);
message.backends =
((_a = object.backends) === null || _a === void 0 ? void 0 : _a.map((e) => exports.GrpcBackend.fromPartial(e))) || [];
message.connection =
object.connection !== undefined && object.connection !== null
? exports.ConnectionSessionAffinity.fromPartial(object.connection)
: undefined;
message.header =
object.header !== undefined && object.header !== null
? exports.HeaderSessionAffinity.fromPartial(object.header)
: undefined;
message.cookie =
object.cookie !== undefined && object.cookie !== null
? exports.CookieSessionAffinity.fromPartial(object.cookie)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.GrpcBackendGroup.$type, exports.GrpcBackendGroup);
const baseHeaderSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.HeaderSessionAffinity",
headerName: "",
};
exports.HeaderSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.HeaderSessionAffinity",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.headerName !== "") {
writer.uint32(10).string(message.headerName);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseHeaderSessionAffinity);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.headerName = reader.string();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseHeaderSessionAffinity);
message.headerName =
object.headerName !== undefined && object.headerName !== null
? String(object.headerName)
: "";
return message;
},
toJSON(message) {
const obj = {};
message.headerName !== undefined && (obj.headerName = message.headerName);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseHeaderSessionAffinity);
message.headerName = (_a = object.headerName) !== null && _a !== void 0 ? _a : "";
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.HeaderSessionAffinity.$type, exports.HeaderSessionAffinity);
const baseCookieSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.CookieSessionAffinity",
name: "",
};
exports.CookieSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.CookieSessionAffinity",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.name !== "") {
writer.uint32(10).string(message.name);
}
if (message.ttl !== undefined) {
duration_1.Duration.encode(message.ttl, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseCookieSessionAffinity);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.ttl = duration_1.Duration.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseCookieSessionAffinity);
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.ttl =
object.ttl !== undefined && object.ttl !== null
? duration_1.Duration.fromJSON(object.ttl)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
message.name !== undefined && (obj.name = message.name);
message.ttl !== undefined &&
(obj.ttl = message.ttl ? duration_1.Duration.toJSON(message.ttl) : undefined);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseCookieSessionAffinity);
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
message.ttl =
object.ttl !== undefined && object.ttl !== null
? duration_1.Duration.fromPartial(object.ttl)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.CookieSessionAffinity.$type, exports.CookieSessionAffinity);
const baseConnectionSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.ConnectionSessionAffinity",
sourceIp: false,
};
exports.ConnectionSessionAffinity = {
$type: "yandex.cloud.apploadbalancer.v1.ConnectionSessionAffinity",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.sourceIp === true) {
writer.uint32(8).bool(message.sourceIp);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseConnectionSessionAffinity);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.sourceIp = reader.bool();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseConnectionSessionAffinity);
message.sourceIp =
object.sourceIp !== undefined && object.sourceIp !== null
? Boolean(object.sourceIp)
: false;
return message;
},
toJSON(message) {
const obj = {};
message.sourceIp !== undefined && (obj.sourceIp = message.sourceIp);
return obj;
},
fromPartial(object) {
var _a;
const message = Object.assign({}, baseConnectionSessionAffinity);
message.sourceIp = (_a = object.sourceIp) !== null && _a !== void 0 ? _a : false;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.ConnectionSessionAffinity.$type, exports.ConnectionSessionAffinity);
const baseLoadBalancingConfig = {
$type: "yandex.cloud.apploadbalancer.v1.LoadBalancingConfig",
panicThreshold: 0,
localityAwareRoutingPercent: 0,
strictLocality: false,
mode: 0,
};
exports.LoadBalancingConfig = {
$type: "yandex.cloud.apploadbalancer.v1.LoadBalancingConfig",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.panicThreshold !== 0) {
writer.uint32(8).int64(message.panicThreshold);
}
if (message.localityAwareRoutingPercent !== 0) {
writer.uint32(16).int64(message.localityAwareRoutingPercent);
}
if (message.strictLocality === true) {
writer.uint32(24).bool(message.strictLocality);
}
if (message.mode !== 0) {
writer.uint32(32).int32(message.mode);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseLoadBalancingConfig);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.panicThreshold = longToNumber(reader.int64());
break;
case 2:
message.localityAwareRoutingPercent = longToNumber(reader.int64());
break;
case 3:
message.strictLocality = reader.bool();
break;
case 4:
message.mode = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseLoadBalancingConfig);
message.panicThreshold =
object.panicThreshold !== undefined && object.panicThreshold !== null
? Number(object.panicThreshold)
: 0;
message.localityAwareRoutingPercent =
object.localityAwareRoutingPercent !== undefined &&
object.localityAwareRoutingPercent !== null
? Number(object.localityAwareRoutingPercent)
: 0;
message.strictLocality =
object.strictLocality !== undefined && object.strictLocality !== null
? Boolean(object.strictLocality)
: false;
message.mode =
object.mode !== undefined && object.mode !== null
? loadBalancingModeFromJSON(object.mode)
: 0;
return message;
},
toJSON(message) {
const obj = {};
message.panicThreshold !== undefined &&
(obj.panicThreshold = Math.round(message.panicThreshold));
message.localityAwareRoutingPercent !== undefined &&
(obj.localityAwareRoutingPercent = Math.round(message.localityAwareRoutingPercent));
message.strictLocality !== undefined &&
(obj.strictLocality = message.strictLocality);
message.mode !== undefined &&
(obj.mode = loadBalancingModeToJSON(message.mode));
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d;
const message = Object.assign({}, baseLoadBalancingConfig);
message.panicThreshold = (_a = object.panicThreshold) !== null && _a !== void 0 ? _a : 0;
message.localityAwareRoutingPercent =
(_b = object.localityAwareRoutingPercent) !== null && _b !== void 0 ? _b : 0;
message.strictLocality = (_c = object.strictLocality) !== null && _c !== void 0 ? _c : false;
message.mode = (_d = object.mode) !== null && _d !== void 0 ? _d : 0;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.LoadBalancingConfig.$type, exports.LoadBalancingConfig);
const baseStreamBackend = {
$type: "yandex.cloud.apploadbalancer.v1.StreamBackend",
name: "",
port: 0,
enableProxyProtocol: false,
};
exports.StreamBackend = {
$type: "yandex.cloud.apploadbalancer.v1.StreamBackend",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.name !== "") {
writer.uint32(10).string(message.name);
}
if (message.backendWeight !== undefined) {
wrappers_1.Int64Value.encode({ $type: "google.protobuf.Int64Value", value: message.backendWeight }, writer.uint32(18).fork()).ldelim();
}
if (message.loadBalancingConfig !== undefined) {
exports.LoadBalancingConfig.encode(message.loadBalancingConfig, writer.uint32(26).fork()).ldelim();
}
if (message.port !== 0) {
writer.uint32(32).int64(message.port);
}
if (message.targetGroups !== undefined) {
exports.TargetGroupsBackend.encode(message.targetGroups, writer.uint32(42).fork()).ldelim();
}
for (const v of message.healthchecks) {
exports.HealthCheck.encode(v, writer.uint32(50).fork()).ldelim();
}
if (message.tls !== undefined) {
exports.BackendTls.encode(message.tls, writer.uint32(58).fork()).ldelim();
}
if (message.enableProxyProtocol === true) {
writer.uint32(64).bool(message.enableProxyProtocol);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseStreamBackend);
message.healthchecks = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.backendWeight = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
case 3:
message.loadBalancingConfig = exports.LoadBalancingConfig.decode(reader, reader.uint32());
break;
case 4:
message.port = longToNumber(reader.int64());
break;
case 5:
message.targetGroups = exports.TargetGroupsBackend.decode(reader, reader.uint32());
break;
case 6:
message.healthchecks.push(exports.HealthCheck.decode(reader, reader.uint32()));
break;
case 7:
message.tls = exports.BackendTls.decode(reader, reader.uint32());
break;
case 8:
message.enableProxyProtocol = reader.bool();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseStreamBackend);
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.backendWeight =
object.backendWeight !== undefined && object.backendWeight !== null
? Number(object.backendWeight)
: undefined;
message.loadBalancingConfig =
object.loadBalancingConfig !== undefined &&
object.loadBalancingConfig !== null
? exports.LoadBalancingConfig.fromJSON(object.loadBalancingConfig)
: undefined;
message.port =
object.port !== undefined && object.port !== null
? Number(object.port)
: 0;
message.targetGroups =
object.targetGroups !== undefined && object.targetGroups !== null
? exports.TargetGroupsBackend.fromJSON(object.targetGroups)
: undefined;
message.healthchecks = ((_a = object.healthchecks) !== null && _a !== void 0 ? _a : []).map((e) => exports.HealthCheck.fromJSON(e));
message.tls =
object.tls !== undefined && object.tls !== null
? exports.BackendTls.fromJSON(object.tls)
: undefined;
message.enableProxyProtocol =
object.enableProxyProtocol !== undefined &&
object.enableProxyProtocol !== null
? Boolean(object.enableProxyProtocol)
: false;
return message;
},
toJSON(message) {
const obj = {};
message.name !== undefined && (obj.name = message.name);
message.backendWeight !== undefined &&
(obj.backendWeight = message.backendWeight);
message.loadBalancingConfig !== undefined &&
(obj.loadBalancingConfig = message.loadBalancingConfig
? exports.LoadBalancingConfig.toJSON(message.loadBalancingConfig)
: undefined);
message.port !== undefined && (obj.port = Math.round(message.port));
message.targetGroups !== undefined &&
(obj.targetGroups = message.targetGroups
? exports.TargetGroupsBackend.toJSON(message.targetGroups)
: undefined);
if (message.healthchecks) {
obj.healthchecks = message.healthchecks.map((e) => e ? exports.HealthCheck.toJSON(e) : undefined);
}
else {
obj.healthchecks = [];
}
message.tls !== undefined &&
(obj.tls = message.tls ? exports.BackendTls.toJSON(message.tls) : undefined);
message.enableProxyProtocol !== undefined &&
(obj.enableProxyProtocol = message.enableProxyProtocol);
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d, _e;
const message = Object.assign({}, baseStreamBackend);
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
message.backendWeight = (_b = object.backendWeight) !== null && _b !== void 0 ? _b : undefined;
message.loadBalancingConfig =
object.loadBalancingConfig !== undefined &&
object.loadBalancingConfig !== null
? exports.LoadBalancingConfig.fromPartial(object.loadBalancingConfig)
: undefined;
message.port = (_c = object.port) !== null && _c !== void 0 ? _c : 0;
message.targetGroups =
object.targetGroups !== undefined && object.targetGroups !== null
? exports.TargetGroupsBackend.fromPartial(object.targetGroups)
: undefined;
message.healthchecks =
((_d = object.healthchecks) === null || _d === void 0 ? void 0 : _d.map((e) => exports.HealthCheck.fromPartial(e))) || [];
message.tls =
object.tls !== undefined && object.tls !== null
? exports.BackendTls.fromPartial(object.tls)
: undefined;
message.enableProxyProtocol = (_e = object.enableProxyProtocol) !== null && _e !== void 0 ? _e : false;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.StreamBackend.$type, exports.StreamBackend);
const baseHttpBackend = {
$type: "yandex.cloud.apploadbalancer.v1.HttpBackend",
name: "",
port: 0,
useHttp2: false,
};
exports.HttpBackend = {
$type: "yandex.cloud.apploadbalancer.v1.HttpBackend",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.name !== "") {
writer.uint32(10).string(message.name);
}
if (message.backendWeight !== undefined) {
wrappers_1.Int64Value.encode({ $type: "google.protobuf.Int64Value", value: message.backendWeight }, writer.uint32(18).fork()).ldelim();
}
if (message.loadBalancingConfig !== undefined) {
exports.LoadBalancingConfig.encode(message.loadBalancingConfig, writer.uint32(26).fork()).ldelim();
}
if (message.port !== 0) {
writer.uint32(32).int64(message.port);
}
if (message.targetGroups !== undefined) {
exports.TargetGroupsBackend.encode(message.targetGroups, writer.uint32(42).fork()).ldelim();
}
if (message.storageBucket !== undefined) {
exports.StorageBucketBackend.encode(message.storageBucket, writer.uint32(74).fork()).ldelim();
}
for (const v of message.healthchecks) {
exports.HealthCheck.encode(v, writer.uint32(50).fork()).ldelim();
}
if (message.tls !== undefined) {
exports.BackendTls.encode(message.tls, writer.uint32(58).fork()).ldelim();
}
if (message.useHttp2 === true) {
writer.uint32(64).bool(message.useHttp2);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseHttpBackend);
message.healthchecks = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.backendWeight = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
case 3:
message.loadBalancingConfig = exports.LoadBalancingConfig.decode(reader, reader.uint32());
break;
case 4:
message.port = longToNumber(reader.int64());
break;
case 5:
message.targetGroups = exports.TargetGroupsBackend.decode(reader, reader.uint32());
break;
case 9:
message.storageBucket = exports.StorageBucketBackend.decode(reader, reader.uint32());
break;
case 6:
message.healthchecks.push(exports.HealthCheck.decode(reader, reader.uint32()));
break;
case 7:
message.tls = exports.BackendTls.decode(reader, reader.uint32());
break;
case 8:
message.useHttp2 = reader.bool();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, baseHttpBackend);
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.backendWeight =
object.backendWeight !== undefined && object.backendWeight !== null
? Number(object.backendWeight)
: undefined;
message.loadBalancingConfig =
object.loadBalancingConfig !== undefined &&
object.loadBalancingConfig !== null
? exports.LoadBalancingConfig.fromJSON(object.loadBalancingConfig)
: undefined;
message.port =
object.port !== undefined && object.port !== null
? Number(object.port)
: 0;
message.targetGroups =
object.targetGroups !== undefined && object.targetGroups !== null
? exports.TargetGroupsBackend.fromJSON(object.targetGroups)
: undefined;
message.storageBucket =
object.stora