@google-cloud/storage-control
Version:
Cloud Storage API client for Node.js
835 lines (757 loc) • 1.58 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_storage_control_protos || ($protobuf.roots._google_cloud_storage_control_protos = {});
$root.google = (function() {
/**
* Namespace google.
* @exports google
* @namespace
*/
var google = {};
google.storage = (function() {
/**
* Namespace storage.
* @memberof google
* @namespace
*/
var storage = {};
storage.control = (function() {
/**
* Namespace control.
* @memberof google.storage
* @namespace
*/
var control = {};
control.v2 = (function() {
/**
* Namespace v2.
* @memberof google.storage.control
* @namespace
*/
var v2 = {};
v2.StorageControl = (function() {
/**
* Constructs a new StorageControl service.
* @memberof google.storage.control.v2
* @classdesc Represents a StorageControl
* @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 StorageControl(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(StorageControl.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = StorageControl;
/**
* Creates new StorageControl service using the specified rpc implementation.
* @function create
* @memberof google.storage.control.v2.StorageControl
* @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 {StorageControl} RPC service. Useful where requests and/or responses are streamed.
*/
StorageControl.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|createFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef CreateFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.Folder} [response] Folder
*/
/**
* Calls CreateFolder.
* @function createFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.ICreateFolderRequest} request CreateFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.CreateFolderCallback} callback Node-style callback called with the error, if any, and Folder
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.createFolder = function createFolder(request, callback) {
return this.rpcCall(createFolder, $root.google.storage.control.v2.CreateFolderRequest, $root.google.storage.control.v2.Folder, request, callback);
}, "name", { value: "CreateFolder" });
/**
* Calls CreateFolder.
* @function createFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.ICreateFolderRequest} request CreateFolderRequest message or plain object
* @returns {Promise<google.storage.control.v2.Folder>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|deleteFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef DeleteFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.protobuf.Empty} [response] Empty
*/
/**
* Calls DeleteFolder.
* @function deleteFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IDeleteFolderRequest} request DeleteFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.DeleteFolderCallback} callback Node-style callback called with the error, if any, and Empty
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.deleteFolder = function deleteFolder(request, callback) {
return this.rpcCall(deleteFolder, $root.google.storage.control.v2.DeleteFolderRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteFolder" });
/**
* Calls DeleteFolder.
* @function deleteFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IDeleteFolderRequest} request DeleteFolderRequest message or plain object
* @returns {Promise<google.protobuf.Empty>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|getFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef GetFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.Folder} [response] Folder
*/
/**
* Calls GetFolder.
* @function getFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetFolderRequest} request GetFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.GetFolderCallback} callback Node-style callback called with the error, if any, and Folder
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.getFolder = function getFolder(request, callback) {
return this.rpcCall(getFolder, $root.google.storage.control.v2.GetFolderRequest, $root.google.storage.control.v2.Folder, request, callback);
}, "name", { value: "GetFolder" });
/**
* Calls GetFolder.
* @function getFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetFolderRequest} request GetFolderRequest message or plain object
* @returns {Promise<google.storage.control.v2.Folder>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|listFolders}.
* @memberof google.storage.control.v2.StorageControl
* @typedef ListFoldersCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.ListFoldersResponse} [response] ListFoldersResponse
*/
/**
* Calls ListFolders.
* @function listFolders
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IListFoldersRequest} request ListFoldersRequest message or plain object
* @param {google.storage.control.v2.StorageControl.ListFoldersCallback} callback Node-style callback called with the error, if any, and ListFoldersResponse
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.listFolders = function listFolders(request, callback) {
return this.rpcCall(listFolders, $root.google.storage.control.v2.ListFoldersRequest, $root.google.storage.control.v2.ListFoldersResponse, request, callback);
}, "name", { value: "ListFolders" });
/**
* Calls ListFolders.
* @function listFolders
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IListFoldersRequest} request ListFoldersRequest message or plain object
* @returns {Promise<google.storage.control.v2.ListFoldersResponse>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|renameFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef RenameFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.longrunning.Operation} [response] Operation
*/
/**
* Calls RenameFolder.
* @function renameFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IRenameFolderRequest} request RenameFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.RenameFolderCallback} callback Node-style callback called with the error, if any, and Operation
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.renameFolder = function renameFolder(request, callback) {
return this.rpcCall(renameFolder, $root.google.storage.control.v2.RenameFolderRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "RenameFolder" });
/**
* Calls RenameFolder.
* @function renameFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IRenameFolderRequest} request RenameFolderRequest message or plain object
* @returns {Promise<google.longrunning.Operation>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|getStorageLayout}.
* @memberof google.storage.control.v2.StorageControl
* @typedef GetStorageLayoutCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.StorageLayout} [response] StorageLayout
*/
/**
* Calls GetStorageLayout.
* @function getStorageLayout
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetStorageLayoutRequest} request GetStorageLayoutRequest message or plain object
* @param {google.storage.control.v2.StorageControl.GetStorageLayoutCallback} callback Node-style callback called with the error, if any, and StorageLayout
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.getStorageLayout = function getStorageLayout(request, callback) {
return this.rpcCall(getStorageLayout, $root.google.storage.control.v2.GetStorageLayoutRequest, $root.google.storage.control.v2.StorageLayout, request, callback);
}, "name", { value: "GetStorageLayout" });
/**
* Calls GetStorageLayout.
* @function getStorageLayout
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetStorageLayoutRequest} request GetStorageLayoutRequest message or plain object
* @returns {Promise<google.storage.control.v2.StorageLayout>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|createManagedFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef CreateManagedFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.ManagedFolder} [response] ManagedFolder
*/
/**
* Calls CreateManagedFolder.
* @function createManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.ICreateManagedFolderRequest} request CreateManagedFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.CreateManagedFolderCallback} callback Node-style callback called with the error, if any, and ManagedFolder
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.createManagedFolder = function createManagedFolder(request, callback) {
return this.rpcCall(createManagedFolder, $root.google.storage.control.v2.CreateManagedFolderRequest, $root.google.storage.control.v2.ManagedFolder, request, callback);
}, "name", { value: "CreateManagedFolder" });
/**
* Calls CreateManagedFolder.
* @function createManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.ICreateManagedFolderRequest} request CreateManagedFolderRequest message or plain object
* @returns {Promise<google.storage.control.v2.ManagedFolder>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|deleteManagedFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef DeleteManagedFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.protobuf.Empty} [response] Empty
*/
/**
* Calls DeleteManagedFolder.
* @function deleteManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IDeleteManagedFolderRequest} request DeleteManagedFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.DeleteManagedFolderCallback} callback Node-style callback called with the error, if any, and Empty
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.deleteManagedFolder = function deleteManagedFolder(request, callback) {
return this.rpcCall(deleteManagedFolder, $root.google.storage.control.v2.DeleteManagedFolderRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteManagedFolder" });
/**
* Calls DeleteManagedFolder.
* @function deleteManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IDeleteManagedFolderRequest} request DeleteManagedFolderRequest message or plain object
* @returns {Promise<google.protobuf.Empty>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|getManagedFolder}.
* @memberof google.storage.control.v2.StorageControl
* @typedef GetManagedFolderCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.ManagedFolder} [response] ManagedFolder
*/
/**
* Calls GetManagedFolder.
* @function getManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetManagedFolderRequest} request GetManagedFolderRequest message or plain object
* @param {google.storage.control.v2.StorageControl.GetManagedFolderCallback} callback Node-style callback called with the error, if any, and ManagedFolder
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.getManagedFolder = function getManagedFolder(request, callback) {
return this.rpcCall(getManagedFolder, $root.google.storage.control.v2.GetManagedFolderRequest, $root.google.storage.control.v2.ManagedFolder, request, callback);
}, "name", { value: "GetManagedFolder" });
/**
* Calls GetManagedFolder.
* @function getManagedFolder
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IGetManagedFolderRequest} request GetManagedFolderRequest message or plain object
* @returns {Promise<google.storage.control.v2.ManagedFolder>} Promise
* @variation 2
*/
/**
* Callback as used by {@link google.storage.control.v2.StorageControl|listManagedFolders}.
* @memberof google.storage.control.v2.StorageControl
* @typedef ListManagedFoldersCallback
* @type {function}
* @param {Error|null} error Error, if any
* @param {google.storage.control.v2.ListManagedFoldersResponse} [response] ListManagedFoldersResponse
*/
/**
* Calls ListManagedFolders.
* @function listManagedFolders
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IListManagedFoldersRequest} request ListManagedFoldersRequest message or plain object
* @param {google.storage.control.v2.StorageControl.ListManagedFoldersCallback} callback Node-style callback called with the error, if any, and ListManagedFoldersResponse
* @returns {undefined}
* @variation 1
*/
Object.defineProperty(StorageControl.prototype.listManagedFolders = function listManagedFolders(request, callback) {
return this.rpcCall(listManagedFolders, $root.google.storage.control.v2.ListManagedFoldersRequest, $root.google.storage.control.v2.ListManagedFoldersResponse, request, callback);
}, "name", { value: "ListManagedFolders" });
/**
* Calls ListManagedFolders.
* @function listManagedFolders
* @memberof google.storage.control.v2.StorageControl
* @instance
* @param {google.storage.control.v2.IListManagedFoldersRequest} request ListManagedFoldersRequest message or plain object
* @returns {Promise<google.storage.control.v2.ListManagedFoldersResponse>} Promise
* @variation 2
*/
return StorageControl;
})();
v2.PendingRenameInfo = (function() {
/**
* Properties of a PendingRenameInfo.
* @memberof google.storage.control.v2
* @interface IPendingRenameInfo
* @property {string|null} [operation] PendingRenameInfo operation
*/
/**
* Constructs a new PendingRenameInfo.
* @memberof google.storage.control.v2
* @classdesc Represents a PendingRenameInfo.
* @implements IPendingRenameInfo
* @constructor
* @param {google.storage.control.v2.IPendingRenameInfo=} [properties] Properties to set
*/
function PendingRenameInfo(properties) {
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]];
}
/**
* PendingRenameInfo operation.
* @member {string} operation
* @memberof google.storage.control.v2.PendingRenameInfo
* @instance
*/
PendingRenameInfo.prototype.operation = "";
/**
* Creates a new PendingRenameInfo instance using the specified properties.
* @function create
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {google.storage.control.v2.IPendingRenameInfo=} [properties] Properties to set
* @returns {google.storage.control.v2.PendingRenameInfo} PendingRenameInfo instance
*/
PendingRenameInfo.create = function create(properties) {
return new PendingRenameInfo(properties);
};
/**
* Encodes the specified PendingRenameInfo message. Does not implicitly {@link google.storage.control.v2.PendingRenameInfo.verify|verify} messages.
* @function encode
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {google.storage.control.v2.IPendingRenameInfo} message PendingRenameInfo message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
PendingRenameInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.operation != null && Object.hasOwnProperty.call(message, "operation"))
writer.uint32(/* id 1, wireType 2 =*/10).string(message.operation);
return writer;
};
/**
* Encodes the specified PendingRenameInfo message, length delimited. Does not implicitly {@link google.storage.control.v2.PendingRenameInfo.verify|verify} messages.
* @function encodeDelimited
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {google.storage.control.v2.IPendingRenameInfo} message PendingRenameInfo message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
PendingRenameInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a PendingRenameInfo message from the specified reader or buffer.
* @function decode
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.storage.control.v2.PendingRenameInfo} PendingRenameInfo
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
PendingRenameInfo.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.storage.control.v2.PendingRenameInfo();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
message.operation = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a PendingRenameInfo message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {google.storage.control.v2.PendingRenameInfo} PendingRenameInfo
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
PendingRenameInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a PendingRenameInfo message.
* @function verify
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
PendingRenameInfo.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.operation != null && message.hasOwnProperty("operation"))
if (!$util.isString(message.operation))
return "operation: string expected";
return null;
};
/**
* Creates a PendingRenameInfo message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {Object.<string,*>} object Plain object
* @returns {google.storage.control.v2.PendingRenameInfo} PendingRenameInfo
*/
PendingRenameInfo.fromObject = function fromObject(object) {
if (object instanceof $root.google.storage.control.v2.PendingRenameInfo)
return object;
var message = new $root.google.storage.control.v2.PendingRenameInfo();
if (object.operation != null)
message.operation = String(object.operation);
return message;
};
/**
* Creates a plain object from a PendingRenameInfo message. Also converts values to other types if specified.
* @function toObject
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {google.storage.control.v2.PendingRenameInfo} message PendingRenameInfo
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
PendingRenameInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults)
object.operation = "";
if (message.operation != null && message.hasOwnProperty("operation"))
object.operation = message.operation;
return object;
};
/**
* Converts this PendingRenameInfo to JSON.
* @function toJSON
* @memberof google.storage.control.v2.PendingRenameInfo
* @instance
* @returns {Object.<string,*>} JSON object
*/
PendingRenameInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Gets the default type url for PendingRenameInfo
* @function getTypeUrl
* @memberof google.storage.control.v2.PendingRenameInfo
* @static
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
* @returns {string} The default type url
*/
PendingRenameInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === undefined) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.storage.control.v2.PendingRenameInfo";
};
return PendingRenameInfo;
})();
v2.Folder = (function() {
/**
* Properties of a Folder.
* @memberof google.storage.control.v2
* @interface IFolder
* @property {string|null} [name] Folder name
* @property {number|Long|null} [metageneration] Folder metageneration
* @property {google.protobuf.ITimestamp|null} [createTime] Folder createTime
* @property {google.protobuf.ITimestamp|null} [updateTime] Folder updateTime
* @property {google.storage.control.v2.IPendingRenameInfo|null} [pendingRenameInfo] Folder pendingRenameInfo
*/
/**
* Constructs a new Folder.
* @memberof google.storage.control.v2
* @classdesc Represents a Folder.
* @implements IFolder
* @constructor
* @param {google.storage.control.v2.IFolder=} [properties] Properties to set
*/
function Folder(properties) {
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]];
}
/**
* Folder name.
* @member {string} name
* @memberof google.storage.control.v2.Folder
* @instance
*/
Folder.prototype.name = "";
/**
* Folder metageneration.
* @member {number|Long} metageneration
* @memberof google.storage.control.v2.Folder
* @instance
*/
Folder.prototype.metageneration = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
/**
* Folder createTime.
* @member {google.protobuf.ITimestamp|null|undefined} createTime
* @memberof google.storage.control.v2.Folder
* @instance
*/
Folder.prototype.createTime = null;
/**
* Folder updateTime.
* @member {google.protobuf.ITimestamp|null|undefined} updateTime
* @memberof google.storage.control.v2.Folder
* @instance
*/
Folder.prototype.updateTime = null;
/**
* Folder pendingRenameInfo.
* @member {google.storage.control.v2.IPendingRenameInfo|null|undefined} pendingRenameInfo
* @memberof google.storage.control.v2.Folder
* @instance
*/
Folder.prototype.pendingRenameInfo = null;
/**
* Creates a new Folder instance using the specified properties.
* @function create
* @memberof google.storage.control.v2.Folder
* @static
* @param {google.storage.control.v2.IFolder=} [properties] Properties to set
* @returns {google.storage.control.v2.Folder} Folder instance
*/
Folder.create = function create(properties) {
return new Folder(properties);
};
/**
* Encodes the specified Folder message. Does not implicitly {@link google.storage.control.v2.Folder.verify|verify} messages.
* @function encode
* @memberof google.storage.control.v2.Folder
* @static
* @param {google.storage.control.v2.IFolder} message Folder message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Folder.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.metageneration != null && Object.hasOwnProperty.call(message, "metageneration"))
writer.uint32(/* id 3, wireType 0 =*/24).int64(message.metageneration);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
if (message.pendingRenameInfo != null && Object.hasOwnProperty.call(message, "pendingRenameInfo"))
$root.google.storage.control.v2.PendingRenameInfo.encode(message.pendingRenameInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
return writer;
};
/**
* Encodes the specified Folder message, length delimited. Does not implicitly {@link google.storage.control.v2.Folder.verify|verify} messages.
* @function encodeDelimited
* @memberof google.storage.control.v2.Folder
* @static
* @param {google.storage.control.v2.IFolder} message Folder message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Folder.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a Folder message from the specified reader or buffer.
* @function decode
* @memberof google.storage.control.v2.Folder
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.storage.control.v2.Folder} Folder
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
Folder.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.storage.control.v2.Folder();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.metageneration = reader.int64();
break;
}
case 4: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 5: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 7: {
message.pendingRenameInfo = $root.google.storage.control.v2.PendingRenameInfo.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a Folder message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof google.storage.control.v2.Folder
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {google.storage.control.v2.Folder} Folder
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
Folder.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a Folder message.
* @function verify
* @memberof google.storage.control.v2.Folder
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
Folder.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name"))
if (!$util.isString(message.name))
return "name: string expected";
if (message.metageneration != null && message.hasOwnProperty("metageneration"))
if (!$util.isInteger(message.metageneration) && !(message.metageneration && $util.isInteger(message.metageneration.low) && $util.isInteger(message.metageneration.high)))
return "metageneration: integer|Long expected";
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error = $root.google.protobuf.Timestamp.ver