UNPKG

@yandex-cloud/nodejs-sdk

Version:
1,158 lines 90.3 kB
"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