@google-cloud/memorystore
Version:
Memorystore API client for Node.js
816 lines (744 loc) • 2.14 MB
JavaScript
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
(function(global, factory) { /* global define, require, module */
/* AMD */ if (typeof define === 'function' && define.amd)
define(["protobufjs/minimal"], factory);
/* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal);
})(this, function($protobuf) {
"use strict";
// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
// Exported root namespace
var $root = $protobuf.roots._google_cloud_memorystore_protos || ($protobuf.roots._google_cloud_memorystore_protos = {});
$root.google = (function() {
/**
* Namespace google.
* @exports google
* @namespace
*/
var google = {};
google.cloud = (function() {
/**
* Namespace cloud.
* @memberof google
* @namespace
*/
var cloud = {};
cloud.memorystore = (function() {
/**
* Namespace memorystore.
* @memberof google.cloud
* @namespace
*/
var memorystore = {};
memorystore.v1 = (function() {
/**
* Namespace v1.
* @memberof google.cloud.memorystore
* @namespace
*/
var v1 = {};
v1.Memorystore = (function() {
/**
* Constructs a new Memorystore service.
* @memberof google.cloud.memorystore.v1
* @classdesc Represents a Memorystore
* @extends $protobuf.rpc.Service
* @constructor
* @param {$protobuf.RPCImpl} rpcImpl RPC implementation
* @param {boolean} [requestDelimited=false] Whether requests are length-delimited
* @param {boolean} [responseDelimited=false] Whether responses are length-delimited
*/
function Memorystore(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(Memorystore.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Memorystore;
/**
* Creates new Memorystore service using the specified rpc implementation.
* @function create
* @memberof google.cloud.memorystore.v1.Memorystore
* @static
* @param {$protobuf.RPCImpl} rpcImpl RPC implementation
* @param {boolean} [requestDelimited=false] Whether requests are length-delimited
* @param {boolean} [responseDelimited=false] Whether responses are length-delimited
* @returns {Memorystore} RPC service. Useful where requests and/or responses are streamed.
*/
Memorystore.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|listInstances}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef ListInstancesCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.cloud.memorystore.v1.ListInstancesResponse} [response] ListInstancesResponse
*/
/**
* Calls ListInstances.
* @function listInstances
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IListInstancesRequest} request ListInstancesRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.ListInstancesCallback} callback Node-style callback called with the error, if any, and ListInstancesResponse
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.listInstances = function listInstances(request, callback) {
return this.rpcCall(listInstances, $root.google.cloud.memorystore.v1.ListInstancesRequest, $root.google.cloud.memorystore.v1.ListInstancesResponse, request, callback);
}, "name", { value: "ListInstances" });
/**
* Calls ListInstances.
* @function listInstances
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IListInstancesRequest} request ListInstancesRequest message or plain object
* @returns {Promise<google.cloud.memorystore.v1.ListInstancesResponse>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|getInstance}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef GetInstanceCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.cloud.memorystore.v1.Instance} [response] Instance
*/
/**
* Calls GetInstance.
* @function getInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IGetInstanceRequest} request GetInstanceRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.GetInstanceCallback} callback Node-style callback called with the error, if any, and Instance
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.getInstance = function getInstance(request, callback) {
return this.rpcCall(getInstance, $root.google.cloud.memorystore.v1.GetInstanceRequest, $root.google.cloud.memorystore.v1.Instance, request, callback);
}, "name", { value: "GetInstance" });
/**
* Calls GetInstance.
* @function getInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IGetInstanceRequest} request GetInstanceRequest message or plain object
* @returns {Promise<google.cloud.memorystore.v1.Instance>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|createInstance}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef CreateInstanceCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.longrunning.Operation} [response] Operation
*/
/**
* Calls CreateInstance.
* @function createInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.CreateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.createInstance = function createInstance(request, callback) {
return this.rpcCall(createInstance, $root.google.cloud.memorystore.v1.CreateInstanceRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "CreateInstance" });
/**
* Calls CreateInstance.
* @function createInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
* @returns {Promise<google.longrunning.Operation>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|updateInstance}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef UpdateInstanceCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.longrunning.Operation} [response] Operation
*/
/**
* Calls UpdateInstance.
* @function updateInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.UpdateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.updateInstance = function updateInstance(request, callback) {
return this.rpcCall(updateInstance, $root.google.cloud.memorystore.v1.UpdateInstanceRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "UpdateInstance" });
/**
* Calls UpdateInstance.
* @function updateInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
* @returns {Promise<google.longrunning.Operation>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|deleteInstance}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef DeleteInstanceCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.longrunning.Operation} [response] Operation
*/
/**
* Calls DeleteInstance.
* @function deleteInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.DeleteInstanceCallback} callback Node-style callback called with the error, if any, and Operation
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.deleteInstance = function deleteInstance(request, callback) {
return this.rpcCall(deleteInstance, $root.google.cloud.memorystore.v1.DeleteInstanceRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "DeleteInstance" });
/**
* Calls DeleteInstance.
* @function deleteInstance
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
* @returns {Promise<google.longrunning.Operation>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.cloud.memorystore.v1.Memorystore|getCertificateAuthority}.
* @memberof google.cloud.memorystore.v1.Memorystore
* @typedef GetCertificateAuthorityCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.cloud.memorystore.v1.CertificateAuthority} [response] CertificateAuthority
*/
/**
* Calls GetCertificateAuthority.
* @function getCertificateAuthority
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IGetCertificateAuthorityRequest} request GetCertificateAuthorityRequest message or plain object
* @param {google.cloud.memorystore.v1.Memorystore.GetCertificateAuthorityCallback} callback Node-style callback called with the error, if any, and CertificateAuthority
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(Memorystore.prototype.getCertificateAuthority = function getCertificateAuthority(request, callback) {
return this.rpcCall(getCertificateAuthority, $root.google.cloud.memorystore.v1.GetCertificateAuthorityRequest, $root.google.cloud.memorystore.v1.CertificateAuthority, request, callback);
}, "name", { value: "GetCertificateAuthority" });
/**
* Calls GetCertificateAuthority.
* @function getCertificateAuthority
* @memberof google.cloud.memorystore.v1.Memorystore
* @instance
* @param {google.cloud.memorystore.v1.IGetCertificateAuthorityRequest} request GetCertificateAuthorityRequest message or plain object
* @returns {Promise<google.cloud.memorystore.v1.CertificateAuthority>} Promise
* @variation 2
*/
return Memorystore;
})();
/**
* PscConnectionStatus enum.
* @name google.cloud.memorystore.v1.PscConnectionStatus
* @enum {number}
* @property {number} PSC_CONNECTION_STATUS_UNSPECIFIED=0 PSC_CONNECTION_STATUS_UNSPECIFIED value
* @property {number} ACTIVE=1 ACTIVE value
* @property {number} NOT_FOUND=2 NOT_FOUND value
*/
v1.PscConnectionStatus = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "PSC_CONNECTION_STATUS_UNSPECIFIED"] = 0;
values[valuesById[1] = "ACTIVE"] = 1;
values[valuesById[2] = "NOT_FOUND"] = 2;
return values;
})();
/**
* ConnectionType enum.
* @name google.cloud.memorystore.v1.ConnectionType
* @enum {number}
* @property {number} CONNECTION_TYPE_UNSPECIFIED=0 CONNECTION_TYPE_UNSPECIFIED value
* @property {number} CONNECTION_TYPE_DISCOVERY=1 CONNECTION_TYPE_DISCOVERY value
* @property {number} CONNECTION_TYPE_PRIMARY=2 CONNECTION_TYPE_PRIMARY value
* @property {number} CONNECTION_TYPE_READER=3 CONNECTION_TYPE_READER value
*/
v1.ConnectionType = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "CONNECTION_TYPE_UNSPECIFIED"] = 0;
values[valuesById[1] = "CONNECTION_TYPE_DISCOVERY"] = 1;
values[valuesById[2] = "CONNECTION_TYPE_PRIMARY"] = 2;
values[valuesById[3] = "CONNECTION_TYPE_READER"] = 3;
return values;
})();
v1.Instance = (function() {
/**
* Properties of an Instance.
* @memberof google.cloud.memorystore.v1
* @interface IInstance
* @property {string|null} [name] Instance name
* @property {google.protobuf.ITimestamp|null} [createTime] Instance createTime
* @property {google.protobuf.ITimestamp|null} [updateTime] Instance updateTime
* @property {Object.<string,string>|null} [labels] Instance labels
* @property {google.cloud.memorystore.v1.Instance.State|null} [state] Instance state
* @property {google.cloud.memorystore.v1.Instance.IStateInfo|null} [stateInfo] Instance stateInfo
* @property {string|null} [uid] Instance uid
* @property {number|null} [replicaCount] Instance replicaCount
* @property {google.cloud.memorystore.v1.Instance.AuthorizationMode|null} [authorizationMode] Instance authorizationMode
* @property {google.cloud.memorystore.v1.Instance.TransitEncryptionMode|null} [transitEncryptionMode] Instance transitEncryptionMode
* @property {number|null} [shardCount] Instance shardCount
* @property {Array.<google.cloud.memorystore.v1.IDiscoveryEndpoint>|null} [discoveryEndpoints] Instance discoveryEndpoints
* @property {google.cloud.memorystore.v1.Instance.NodeType|null} [nodeType] Instance nodeType
* @property {google.cloud.memorystore.v1.IPersistenceConfig|null} [persistenceConfig] Instance persistenceConfig
* @property {string|null} [engineVersion] Instance engineVersion
* @property {Object.<string,string>|null} [engineConfigs] Instance engineConfigs
* @property {google.cloud.memorystore.v1.INodeConfig|null} [nodeConfig] Instance nodeConfig
* @property {google.cloud.memorystore.v1.IZoneDistributionConfig|null} [zoneDistributionConfig] Instance zoneDistributionConfig
* @property {boolean|null} [deletionProtectionEnabled] Instance deletionProtectionEnabled
* @property {Array.<google.cloud.memorystore.v1.IPscAutoConnection>|null} [pscAutoConnections] Instance pscAutoConnections
* @property {Array.<google.cloud.memorystore.v1.Instance.IInstanceEndpoint>|null} [endpoints] Instance endpoints
* @property {google.cloud.memorystore.v1.Instance.Mode|null} [mode] Instance mode
*/
/**
* Constructs a new Instance.
* @memberof google.cloud.memorystore.v1
* @classdesc Represents an Instance.
* @implements IInstance
* @constructor
* @param {google.cloud.memorystore.v1.IInstance=} [properties] Properties to set
*/
function Instance(properties) {
this.labels = {};
this.discoveryEndpoints = [];
this.engineConfigs = {};
this.pscAutoConnections = [];
this.endpoints = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* Instance name.
* @member {string} name
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.name = "";
/**
* Instance createTime.
* @member {google.protobuf.ITimestamp|null|undefined} createTime
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.createTime = null;
/**
* Instance updateTime.
* @member {google.protobuf.ITimestamp|null|undefined} updateTime
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.updateTime = null;
/**
* Instance labels.
* @member {Object.<string,string>} labels
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.labels = $util.emptyObject;
/**
* Instance state.
* @member {google.cloud.memorystore.v1.Instance.State} state
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.state = 0;
/**
* Instance stateInfo.
* @member {google.cloud.memorystore.v1.Instance.IStateInfo|null|undefined} stateInfo
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.stateInfo = null;
/**
* Instance uid.
* @member {string} uid
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.uid = "";
/**
* Instance replicaCount.
* @member {number|null|undefined} replicaCount
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.replicaCount = null;
/**
* Instance authorizationMode.
* @member {google.cloud.memorystore.v1.Instance.AuthorizationMode} authorizationMode
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.authorizationMode = 0;
/**
* Instance transitEncryptionMode.
* @member {google.cloud.memorystore.v1.Instance.TransitEncryptionMode} transitEncryptionMode
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.transitEncryptionMode = 0;
/**
* Instance shardCount.
* @member {number} shardCount
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.shardCount = 0;
/**
* Instance discoveryEndpoints.
* @member {Array.<google.cloud.memorystore.v1.IDiscoveryEndpoint>} discoveryEndpoints
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.discoveryEndpoints = $util.emptyArray;
/**
* Instance nodeType.
* @member {google.cloud.memorystore.v1.Instance.NodeType} nodeType
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.nodeType = 0;
/**
* Instance persistenceConfig.
* @member {google.cloud.memorystore.v1.IPersistenceConfig|null|undefined} persistenceConfig
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.persistenceConfig = null;
/**
* Instance engineVersion.
* @member {string} engineVersion
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.engineVersion = "";
/**
* Instance engineConfigs.
* @member {Object.<string,string>} engineConfigs
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.engineConfigs = $util.emptyObject;
/**
* Instance nodeConfig.
* @member {google.cloud.memorystore.v1.INodeConfig|null|undefined} nodeConfig
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.nodeConfig = null;
/**
* Instance zoneDistributionConfig.
* @member {google.cloud.memorystore.v1.IZoneDistributionConfig|null|undefined} zoneDistributionConfig
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.zoneDistributionConfig = null;
/**
* Instance deletionProtectionEnabled.
* @member {boolean|null|undefined} deletionProtectionEnabled
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.deletionProtectionEnabled = null;
/**
* Instance pscAutoConnections.
* @member {Array.<google.cloud.memorystore.v1.IPscAutoConnection>} pscAutoConnections
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.pscAutoConnections = $util.emptyArray;
/**
* Instance endpoints.
* @member {Array.<google.cloud.memorystore.v1.Instance.IInstanceEndpoint>} endpoints
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.endpoints = $util.emptyArray;
/**
* Instance mode.
* @member {google.cloud.memorystore.v1.Instance.Mode} mode
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Instance.prototype.mode = 0;
// OneOf field names bound to virtual getters and setters
var $oneOfFields;
/**
* Instance _replicaCount.
* @member {"replicaCount"|undefined} _replicaCount
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Object.defineProperty(Instance.prototype, "_replicaCount", {
get: $util.oneOfGetter($oneOfFields = ["replicaCount"]),
set: $util.oneOfSetter($oneOfFields)
});
/**
* Instance _deletionProtectionEnabled.
* @member {"deletionProtectionEnabled"|undefined} _deletionProtectionEnabled
* @memberof google.cloud.memorystore.v1.Instance
* @instance
*/
Object.defineProperty(Instance.prototype, "_deletionProtectionEnabled", {
get: $util.oneOfGetter($oneOfFields = ["deletionProtectionEnabled"]),
set: $util.oneOfSetter($oneOfFields)
});
/**
* Creates a new Instance instance using the specified properties.
* @function create
* @memberof google.cloud.memorystore.v1.Instance
* @static
* @param {google.cloud.memorystore.v1.IInstance=} [properties] Properties to set
* @returns {google.cloud.memorystore.v1.Instance} Instance instance
*/
Instance.create = function create(properties) {
return new Instance(properties);
};
/**
* Encodes the specified Instance message. Does not implicitly {@link google.cloud.memorystore.v1.Instance.verify|verify} messages.
* @function encode
* @memberof google.cloud.memorystore.v1.Instance
* @static
* @param {google.cloud.memorystore.v1.IInstance} message Instance message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Instance.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
if (message.state != null && Object.hasOwnProperty.call(message, "state"))
writer.uint32(/* id 5, wireType 0 =*/40).int32(message.state);
if (message.stateInfo != null && Object.hasOwnProperty.call(message, "stateInfo"))
$root.google.cloud.memorystore.v1.Instance.StateInfo.encode(message.stateInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
if (message.uid != null && Object.hasOwnProperty.call(message, "uid"))
writer.uint32(/* id 7, wireType 2 =*/58).string(message.uid);
if (message.replicaCount != null && Object.hasOwnProperty.call(message, "replicaCount"))
writer.uint32(/* id 8, wireType 0 =*/64).int32(message.replicaCount);
if (message.authorizationMode != null && Object.hasOwnProperty.call(message, "authorizationMode"))
writer.uint32(/* id 9, wireType 0 =*/72).int32(message.authorizationMode);
if (message.transitEncryptionMode != null && Object.hasOwnProperty.call(message, "transitEncryptionMode"))
writer.uint32(/* id 10, wireType 0 =*/80).int32(message.transitEncryptionMode);
if (message.shardCount != null && Object.hasOwnProperty.call(message, "shardCount"))
writer.uint32(/* id 11, wireType 0 =*/88).int32(message.shardCount);
if (message.discoveryEndpoints != null && message.discoveryEndpoints.length)
for (var i = 0; i < message.discoveryEndpoints.length; ++i)
$root.google.cloud.memorystore.v1.DiscoveryEndpoint.encode(message.discoveryEndpoints[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
if (message.nodeType != null && Object.hasOwnProperty.call(message, "nodeType"))
writer.uint32(/* id 13, wireType 0 =*/104).int32(message.nodeType);
if (message.persistenceConfig != null && Object.hasOwnProperty.call(message, "persistenceConfig"))
$root.google.cloud.memorystore.v1.PersistenceConfig.encode(message.persistenceConfig, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
if (message.engineVersion != null && Object.hasOwnProperty.call(message, "engineVersion"))
writer.uint32(/* id 15, wireType 2 =*/122).string(message.engineVersion);
if (message.engineConfigs != null && Object.hasOwnProperty.call(message, "engineConfigs"))
for (var keys = Object.keys(message.engineConfigs), i = 0; i < keys.length; ++i)
writer.uint32(/* id 16, wireType 2 =*/130).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.engineConfigs[keys[i]]).ldelim();
if (message.nodeConfig != null && Object.hasOwnProperty.call(message, "nodeConfig"))
$root.google.cloud.memorystore.v1.NodeConfig.encode(message.nodeConfig, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
if (message.zoneDistributionConfig != null && Object.hasOwnProperty.call(message, "zoneDistributionConfig"))
$root.google.cloud.memorystore.v1.ZoneDistributionConfig.encode(message.zoneDistributionConfig, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
if (message.deletionProtectionEnabled != null && Object.hasOwnProperty.call(message, "deletionProtectionEnabled"))
writer.uint32(/* id 19, wireType 0 =*/152).bool(message.deletionProtectionEnabled);
if (message.pscAutoConnections != null && message.pscAutoConnections.length)
for (var i = 0; i < message.pscAutoConnections.length; ++i)
$root.google.cloud.memorystore.v1.PscAutoConnection.encode(message.pscAutoConnections[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
if (message.endpoints != null && message.endpoints.length)
for (var i = 0; i < message.endpoints.length; ++i)
$root.google.cloud.memorystore.v1.Instance.InstanceEndpoint.encode(message.endpoints[i], writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
if (message.mode != null && Object.hasOwnProperty.call(message, "mode"))
writer.uint32(/* id 26, wireType 0 =*/208).int32(message.mode);
return writer;
};
/**
* Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.memorystore.v1.Instance.verify|verify} messages.
* @function encodeDelimited
* @memberof google.cloud.memorystore.v1.Instance
* @static
* @param {google.cloud.memorystore.v1.IInstance} message Instance message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Instance.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes an Instance message from the specified reader or buffer.
* @function decode
* @memberof google.cloud.memorystore.v1.Instance
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.cloud.memorystore.v1.Instance} Instance
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
Instance.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.memorystore.v1.Instance(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 3: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 4: {
if (message.labels === $util.emptyObject)
message.labels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labels[key] = value;
break;
}
case 5: {
message.state = reader.int32();
break;
}
case 6: {
message.stateInfo = $root.google.cloud.memorystore.v1.Instance.StateInfo.decode(reader, reader.uint32());
break;
}
case 7: {
message.uid = reader.string();
break;
}
case 8: {
message.replicaCount = reader.int32();
break;
}
case 9: {
message.authorizationMode = reader.int32();
break;
}
case 10: {
message.transitEncryptionMode = reader.int32();
break;
}
case 11: {
message.shardCount = reader.int32();
break;
}
case 12: {
if (!(message.discoveryEndpoints && message.discoveryEndpoints.length))
message.discoveryEndpoints = [];
message.discoveryEndpoints.push($root.google.cloud.memorystore.v1.DiscoveryEndpoint.decode(reader, reader.uint32()));
break;
}
case 13: {
message.nodeType = reader.int32();
break;
}
case 14: {
message.persistenceConfig = $root.google.cloud.memorystore.v1.PersistenceConfig.decode(reader, reader.uint32());
break;
}
case 15: {
message.engineVersion = reader.string();
break;
}
case 16: {
if (message.engineConfigs === $util.emptyObject)
message.engineConfigs = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.engineConfigs[key] = value;
break;
}
case 17: {
message.nodeConfig = $root.google.cloud.memorystore.v1.NodeConfig.decode(reader, reader.uint32());
break;
}
case 18: {
message.zoneDistributionConfig = $root.google.cloud.memorystore.v1.ZoneDistributionConfig.decode(reader, reader.uint32());
break;
}
case 19: {
message.deletionProtectionEnabled = reader.bool();
break;
}
case 20: {
if (!(message.pscAutoConnections && message.pscAutoConnections.length))
message.pscAutoConnections = [];
message.pscAutoConnections.push($root.google.cloud.memorystore.v1.PscAutoConnection.decode(reader, reader.uint32()));
break;
}