UNPKG

@google-cloud/secret-manager

Version:
775 lines (733 loc) 2.29 MB
// Copyright 2026 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_secret_manager_protos || ($protobuf.roots._google_cloud_secret_manager_protos = {}); $root.google = (function() { /** * Namespace google. * @exports google * @namespace */ var google = {}; google.cloud = (function() { /** * Namespace cloud. * @memberof google * @namespace */ var cloud = {}; cloud.secretmanager = (function() { /** * Namespace secretmanager. * @memberof google.cloud * @namespace */ var secretmanager = {}; secretmanager.v1 = (function() { /** * Namespace v1. * @memberof google.cloud.secretmanager * @namespace */ var v1 = {}; v1.Secret = (function() { /** * Properties of a Secret. * @memberof google.cloud.secretmanager.v1 * @interface ISecret * @property {string|null} [name] Secret name * @property {google.cloud.secretmanager.v1.IReplication|null} [replication] Secret replication * @property {google.protobuf.ITimestamp|null} [createTime] Secret createTime * @property {Object.<string,string>|null} [labels] Secret labels * @property {Array.<google.cloud.secretmanager.v1.ITopic>|null} [topics] Secret topics * @property {google.protobuf.ITimestamp|null} [expireTime] Secret expireTime * @property {google.protobuf.IDuration|null} [ttl] Secret ttl * @property {string|null} [etag] Secret etag * @property {google.cloud.secretmanager.v1.IRotation|null} [rotation] Secret rotation * @property {Object.<string,number|Long>|null} [versionAliases] Secret versionAliases * @property {Object.<string,string>|null} [annotations] Secret annotations * @property {google.protobuf.IDuration|null} [versionDestroyTtl] Secret versionDestroyTtl * @property {google.cloud.secretmanager.v1.ICustomerManagedEncryption|null} [customerManagedEncryption] Secret customerManagedEncryption * @property {Object.<string,string>|null} [tags] Secret tags */ /** * Constructs a new Secret. * @memberof google.cloud.secretmanager.v1 * @classdesc Represents a Secret. * @implements ISecret * @constructor * @param {google.cloud.secretmanager.v1.ISecret=} [properties] Properties to set */ function Secret(properties) { this.labels = {}; this.topics = []; this.versionAliases = {}; this.annotations = {}; this.tags = {}; 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]]; } /** * Secret name. * @member {string} name * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.name = ""; /** * Secret replication. * @member {google.cloud.secretmanager.v1.IReplication|null|undefined} replication * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.replication = null; /** * Secret createTime. * @member {google.protobuf.ITimestamp|null|undefined} createTime * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.createTime = null; /** * Secret labels. * @member {Object.<string,string>} labels * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.labels = $util.emptyObject; /** * Secret topics. * @member {Array.<google.cloud.secretmanager.v1.ITopic>} topics * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.topics = $util.emptyArray; /** * Secret expireTime. * @member {google.protobuf.ITimestamp|null|undefined} expireTime * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.expireTime = null; /** * Secret ttl. * @member {google.protobuf.IDuration|null|undefined} ttl * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.ttl = null; /** * Secret etag. * @member {string} etag * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.etag = ""; /** * Secret rotation. * @member {google.cloud.secretmanager.v1.IRotation|null|undefined} rotation * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.rotation = null; /** * Secret versionAliases. * @member {Object.<string,number|Long>} versionAliases * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.versionAliases = $util.emptyObject; /** * Secret annotations. * @member {Object.<string,string>} annotations * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.annotations = $util.emptyObject; /** * Secret versionDestroyTtl. * @member {google.protobuf.IDuration|null|undefined} versionDestroyTtl * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.versionDestroyTtl = null; /** * Secret customerManagedEncryption. * @member {google.cloud.secretmanager.v1.ICustomerManagedEncryption|null|undefined} customerManagedEncryption * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.customerManagedEncryption = null; /** * Secret tags. * @member {Object.<string,string>} tags * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Secret.prototype.tags = $util.emptyObject; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * Secret expiration. * @member {"expireTime"|"ttl"|undefined} expiration * @memberof google.cloud.secretmanager.v1.Secret * @instance */ Object.defineProperty(Secret.prototype, "expiration", { get: $util.oneOfGetter($oneOfFields = ["expireTime", "ttl"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new Secret instance using the specified properties. * @function create * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {google.cloud.secretmanager.v1.ISecret=} [properties] Properties to set * @returns {google.cloud.secretmanager.v1.Secret} Secret instance */ Secret.create = function create(properties) { return new Secret(properties); }; /** * Encodes the specified Secret message. Does not implicitly {@link google.cloud.secretmanager.v1.Secret.verify|verify} messages. * @function encode * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {google.cloud.secretmanager.v1.ISecret} message Secret message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Secret.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.replication != null && Object.hasOwnProperty.call(message, "replication")) $root.google.cloud.secretmanager.v1.Replication.encode(message.replication, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, 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.topics != null && message.topics.length) for (var i = 0; i < message.topics.length; ++i) $root.google.cloud.secretmanager.v1.Topic.encode(message.topics[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.ttl != null && Object.hasOwnProperty.call(message, "ttl")) $root.google.protobuf.Duration.encode(message.ttl, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.etag != null && Object.hasOwnProperty.call(message, "etag")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.etag); if (message.rotation != null && Object.hasOwnProperty.call(message, "rotation")) $root.google.cloud.secretmanager.v1.Rotation.encode(message.rotation, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.versionAliases != null && Object.hasOwnProperty.call(message, "versionAliases")) for (var keys = Object.keys(message.versionAliases), i = 0; i < keys.length; ++i) writer.uint32(/* id 11, wireType 2 =*/90).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.versionAliases[keys[i]]).ldelim(); if (message.annotations != null && Object.hasOwnProperty.call(message, "annotations")) for (var keys = Object.keys(message.annotations), i = 0; i < keys.length; ++i) writer.uint32(/* id 13, wireType 2 =*/106).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.annotations[keys[i]]).ldelim(); if (message.versionDestroyTtl != null && Object.hasOwnProperty.call(message, "versionDestroyTtl")) $root.google.protobuf.Duration.encode(message.versionDestroyTtl, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.customerManagedEncryption != null && Object.hasOwnProperty.call(message, "customerManagedEncryption")) $root.google.cloud.secretmanager.v1.CustomerManagedEncryption.encode(message.customerManagedEncryption, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.tags != null && Object.hasOwnProperty.call(message, "tags")) for (var keys = Object.keys(message.tags), 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.tags[keys[i]]).ldelim(); return writer; }; /** * Encodes the specified Secret message, length delimited. Does not implicitly {@link google.cloud.secretmanager.v1.Secret.verify|verify} messages. * @function encodeDelimited * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {google.cloud.secretmanager.v1.ISecret} message Secret message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Secret.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Secret message from the specified reader or buffer. * @function decode * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {google.cloud.secretmanager.v1.Secret} Secret * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Secret.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.secretmanager.v1.Secret(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { message.name = reader.string(); break; } case 2: { message.replication = $root.google.cloud.secretmanager.v1.Replication.decode(reader, reader.uint32()); break; } case 3: { message.createTime = $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: { if (!(message.topics && message.topics.length)) message.topics = []; message.topics.push($root.google.cloud.secretmanager.v1.Topic.decode(reader, reader.uint32())); break; } case 6: { message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; } case 7: { message.ttl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; } case 8: { message.etag = reader.string(); break; } case 9: { message.rotation = $root.google.cloud.secretmanager.v1.Rotation.decode(reader, reader.uint32()); break; } case 11: { if (message.versionAliases === $util.emptyObject) message.versionAliases = {}; var end2 = reader.uint32() + reader.pos; key = ""; value = 0; while (reader.pos < end2) { var tag2 = reader.uint32(); switch (tag2 >>> 3) { case 1: key = reader.string(); break; case 2: value = reader.int64(); break; default: reader.skipType(tag2 & 7); break; } } message.versionAliases[key] = value; break; } case 13: { if (message.annotations === $util.emptyObject) message.annotations = {}; 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.annotations[key] = value; break; } case 14: { message.versionDestroyTtl = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; } case 15: { message.customerManagedEncryption = $root.google.cloud.secretmanager.v1.CustomerManagedEncryption.decode(reader, reader.uint32()); break; } case 16: { if (message.tags === $util.emptyObject) message.tags = {}; 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.tags[key] = value; break; } default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Secret message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {google.cloud.secretmanager.v1.Secret} Secret * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Secret.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Secret message. * @function verify * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Secret.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.replication != null && message.hasOwnProperty("replication")) { var error = $root.google.cloud.secretmanager.v1.Replication.verify(message.replication); if (error) return "replication." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { var error = $root.google.protobuf.Timestamp.verify(message.createTime); if (error) return "createTime." + error; } if (message.labels != null && message.hasOwnProperty("labels")) { if (!$util.isObject(message.labels)) return "labels: object expected"; var key = Object.keys(message.labels); for (var i = 0; i < key.length; ++i) if (!$util.isString(message.labels[key[i]])) return "labels: string{k:string} expected"; } if (message.topics != null && message.hasOwnProperty("topics")) { if (!Array.isArray(message.topics)) return "topics: array expected"; for (var i = 0; i < message.topics.length; ++i) { var error = $root.google.cloud.secretmanager.v1.Topic.verify(message.topics[i]); if (error) return "topics." + error; } } if (message.expireTime != null && message.hasOwnProperty("expireTime")) { properties.expiration = 1; { var error = $root.google.protobuf.Timestamp.verify(message.expireTime); if (error) return "expireTime." + error; } } if (message.ttl != null && message.hasOwnProperty("ttl")) { if (properties.expiration === 1) return "expiration: multiple values"; properties.expiration = 1; { var error = $root.google.protobuf.Duration.verify(message.ttl); if (error) return "ttl." + error; } } if (message.etag != null && message.hasOwnProperty("etag")) if (!$util.isString(message.etag)) return "etag: string expected"; if (message.rotation != null && message.hasOwnProperty("rotation")) { var error = $root.google.cloud.secretmanager.v1.Rotation.verify(message.rotation); if (error) return "rotation." + error; } if (message.versionAliases != null && message.hasOwnProperty("versionAliases")) { if (!$util.isObject(message.versionAliases)) return "versionAliases: object expected"; var key = Object.keys(message.versionAliases); for (var i = 0; i < key.length; ++i) if (!$util.isInteger(message.versionAliases[key[i]]) && !(message.versionAliases[key[i]] && $util.isInteger(message.versionAliases[key[i]].low) && $util.isInteger(message.versionAliases[key[i]].high))) return "versionAliases: integer|Long{k:string} expected"; } if (message.annotations != null && message.hasOwnProperty("annotations")) { if (!$util.isObject(message.annotations)) return "annotations: object expected"; var key = Object.keys(message.annotations); for (var i = 0; i < key.length; ++i) if (!$util.isString(message.annotations[key[i]])) return "annotations: string{k:string} expected"; } if (message.versionDestroyTtl != null && message.hasOwnProperty("versionDestroyTtl")) { var error = $root.google.protobuf.Duration.verify(message.versionDestroyTtl); if (error) return "versionDestroyTtl." + error; } if (message.customerManagedEncryption != null && message.hasOwnProperty("customerManagedEncryption")) { var error = $root.google.cloud.secretmanager.v1.CustomerManagedEncryption.verify(message.customerManagedEncryption); if (error) return "customerManagedEncryption." + error; } if (message.tags != null && message.hasOwnProperty("tags")) { if (!$util.isObject(message.tags)) return "tags: object expected"; var key = Object.keys(message.tags); for (var i = 0; i < key.length; ++i) if (!$util.isString(message.tags[key[i]])) return "tags: string{k:string} expected"; } return null; }; /** * Creates a Secret message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {Object.<string,*>} object Plain object * @returns {google.cloud.secretmanager.v1.Secret} Secret */ Secret.fromObject = function fromObject(object) { if (object instanceof $root.google.cloud.secretmanager.v1.Secret) return object; var message = new $root.google.cloud.secretmanager.v1.Secret(); if (object.name != null) message.name = String(object.name); if (object.replication != null) { if (typeof object.replication !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.replication: object expected"); message.replication = $root.google.cloud.secretmanager.v1.Replication.fromObject(object.replication); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.createTime: object expected"); message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); } if (object.labels) { if (typeof object.labels !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.labels: object expected"); message.labels = {}; for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) message.labels[keys[i]] = String(object.labels[keys[i]]); } if (object.topics) { if (!Array.isArray(object.topics)) throw TypeError(".google.cloud.secretmanager.v1.Secret.topics: array expected"); message.topics = []; for (var i = 0; i < object.topics.length; ++i) { if (typeof object.topics[i] !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.topics: object expected"); message.topics[i] = $root.google.cloud.secretmanager.v1.Topic.fromObject(object.topics[i]); } } if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.expireTime: object expected"); message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); } if (object.ttl != null) { if (typeof object.ttl !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.ttl: object expected"); message.ttl = $root.google.protobuf.Duration.fromObject(object.ttl); } if (object.etag != null) message.etag = String(object.etag); if (object.rotation != null) { if (typeof object.rotation !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.rotation: object expected"); message.rotation = $root.google.cloud.secretmanager.v1.Rotation.fromObject(object.rotation); } if (object.versionAliases) { if (typeof object.versionAliases !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.versionAliases: object expected"); message.versionAliases = {}; for (var keys = Object.keys(object.versionAliases), i = 0; i < keys.length; ++i) if ($util.Long) (message.versionAliases[keys[i]] = $util.Long.fromValue(object.versionAliases[keys[i]])).unsigned = false; else if (typeof object.versionAliases[keys[i]] === "string") message.versionAliases[keys[i]] = parseInt(object.versionAliases[keys[i]], 10); else if (typeof object.versionAliases[keys[i]] === "number") message.versionAliases[keys[i]] = object.versionAliases[keys[i]]; else if (typeof object.versionAliases[keys[i]] === "object") message.versionAliases[keys[i]] = new $util.LongBits(object.versionAliases[keys[i]].low >>> 0, object.versionAliases[keys[i]].high >>> 0).toNumber(); } if (object.annotations) { if (typeof object.annotations !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.annotations: object expected"); message.annotations = {}; for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i) message.annotations[keys[i]] = String(object.annotations[keys[i]]); } if (object.versionDestroyTtl != null) { if (typeof object.versionDestroyTtl !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.versionDestroyTtl: object expected"); message.versionDestroyTtl = $root.google.protobuf.Duration.fromObject(object.versionDestroyTtl); } if (object.customerManagedEncryption != null) { if (typeof object.customerManagedEncryption !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.customerManagedEncryption: object expected"); message.customerManagedEncryption = $root.google.cloud.secretmanager.v1.CustomerManagedEncryption.fromObject(object.customerManagedEncryption); } if (object.tags) { if (typeof object.tags !== "object") throw TypeError(".google.cloud.secretmanager.v1.Secret.tags: object expected"); message.tags = {}; for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i) message.tags[keys[i]] = String(object.tags[keys[i]]); } return message; }; /** * Creates a plain object from a Secret message. Also converts values to other types if specified. * @function toObject * @memberof google.cloud.secretmanager.v1.Secret * @static * @param {google.cloud.secretmanager.v1.Secret} message Secret * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Secret.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.topics = []; if (options.objects || options.defaults) { object.labels = {}; object.versionAliases = {}; object.annotations = {}; object.tags = {}; } if (options.defaults) { object.name = ""; object.replication = null; object.createTime = null; object.etag = ""; object.rotation = null; object.versionDestroyTtl = null; object.customerManagedEncryption = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.replication != null && message.hasOwnProperty("replication")) object.replication = $root.google.cloud.secretmanager.v1.Replication.toObject(message.replication, options); if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; for (var j = 0; j < keys2.length; ++j) object.labels[keys2[j]] = message.labels[keys2[j]]; } if (message.topics && message.topics.length) { object.topics = []; for (var j = 0; j < message.topics.length; ++j) object.topics[j] = $root.google.cloud.secretmanager.v1.Topic.toObject(message.topics[j], options); } if (message.expireTime != null && message.hasOwnProperty("expireTime")) { object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options); if (options.oneofs) object.expiration = "expireTime"; } if (message.ttl != null && message.hasOwnProperty("ttl")) { object.ttl = $root.google.protobuf.Duration.toObject(message.ttl, options); if (options.oneofs) object.expiration = "ttl"; } if (message.etag != null && message.hasOwnProperty("etag")) object.etag = message.etag; if (message.rotation != null && message.hasOwnProperty("rotation")) object.rotation = $root.google.cloud.secretmanager.v1.Rotation.toObject(message.rotation, options); if (message.versionAliases && (keys2 = Object.keys(message.versionAliases)).length) { object.versionAliases = {}; for (var j = 0; j < keys2.length; ++j) if (typeof message.versionAliases[keys2[j]] === "number") object.versionAliases[keys2[j]] = options.longs === String ? String(message.versionAliases[keys2[j]]) : message.versionAliases[keys2[j]]; else object.versionAliases[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.versionAliases[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.versionAliases[keys2[j]].low >>> 0, message.versionAliases[keys2[j]].high >>> 0).toNumber() : message.versionAliases[keys2[j]]; } if (message.annotations && (keys2 = Object.keys(message.annotations)).length) { object.annotations = {}; for (var j = 0; j < keys2.length; ++j) object.annotations[keys2[j]] = message.annotations[keys2[j]]; } if (message.versionDestroyTtl != null && message.hasOwnProperty("versionDestroyTtl")) object.versionDestroyTtl = $root.google.protobuf.Duration.toObject(message.versionDestroyTtl, options); if (message.customerManagedEncryption != null && message.hasOwnProperty("customerManagedEncryption")) object.customerManagedEncryption = $root.google.cloud.secretmanager.v1.CustomerManagedEncryption.toObject(message.customerManagedEncryption, options); if (message.tags && (keys2 = Object.keys(message.tags)).length) { object.tags = {}; for (var j = 0; j < keys2.length; ++j) object.tags[keys2[j]] = message.tags[keys2[j]]; }