UNPKG

@google-cloud/tpu

Version:
870 lines (789 loc) 3.78 MB
// 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_tpu_protos || ($protobuf.roots._google_cloud_tpu_protos = {}); $root.google = (function() { /** * Namespace google. * @exports google * @namespace */ var google = {}; google.cloud = (function() { /** * Namespace cloud. * @memberof google * @namespace */ var cloud = {}; cloud.tpu = (function() { /** * Namespace tpu. * @memberof google.cloud * @namespace */ var tpu = {}; tpu.v1 = (function() { /** * Namespace v1. * @memberof google.cloud.tpu * @namespace */ var v1 = {}; v1.Tpu = (function() { /** * Constructs a new Tpu service. * @memberof google.cloud.tpu.v1 * @classdesc Represents a Tpu * @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 Tpu(rpcImpl, requestDelimited, responseDelimited) { $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); } (Tpu.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Tpu; /** * Creates new Tpu service using the specified rpc implementation. * @function create * @memberof google.cloud.tpu.v1.Tpu * @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 {Tpu} RPC service. Useful where requests and/or responses are streamed. */ Tpu.create = function create(rpcImpl, requestDelimited, responseDelimited) { return new this(rpcImpl, requestDelimited, responseDelimited); }; /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|listNodes}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListNodesCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.ListNodesResponse} [response] ListNodesResponse */ /** * Calls ListNodes. * @function listNodes * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListNodesRequest} request ListNodesRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.ListNodesCallback} callback Node-style callback called with the error, if any, and ListNodesResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.listNodes = function listNodes(request, callback) { return this.rpcCall(listNodes, $root.google.cloud.tpu.v1.ListNodesRequest, $root.google.cloud.tpu.v1.ListNodesResponse, request, callback); }, "name", { value: "ListNodes" }); /** * Calls ListNodes. * @function listNodes * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListNodesRequest} request ListNodesRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.ListNodesResponse>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|getNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.Node} [response] Node */ /** * Calls GetNode. * @function getNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetNodeRequest} request GetNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.GetNodeCallback} callback Node-style callback called with the error, if any, and Node * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.getNode = function getNode(request, callback) { return this.rpcCall(getNode, $root.google.cloud.tpu.v1.GetNodeRequest, $root.google.cloud.tpu.v1.Node, request, callback); }, "name", { value: "GetNode" }); /** * Calls GetNode. * @function getNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetNodeRequest} request GetNodeRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.Node>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|createNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef CreateNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.longrunning.Operation} [response] Operation */ /** * Calls CreateNode. * @function createNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.ICreateNodeRequest} request CreateNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.CreateNodeCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.createNode = function createNode(request, callback) { return this.rpcCall(createNode, $root.google.cloud.tpu.v1.CreateNodeRequest, $root.google.longrunning.Operation, request, callback); }, "name", { value: "CreateNode" }); /** * Calls CreateNode. * @function createNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.ICreateNodeRequest} request CreateNodeRequest message or plain object * @returns {Promise<google.longrunning.Operation>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|deleteNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef DeleteNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.longrunning.Operation} [response] Operation */ /** * Calls DeleteNode. * @function deleteNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.DeleteNodeCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.deleteNode = function deleteNode(request, callback) { return this.rpcCall(deleteNode, $root.google.cloud.tpu.v1.DeleteNodeRequest, $root.google.longrunning.Operation, request, callback); }, "name", { value: "DeleteNode" }); /** * Calls DeleteNode. * @function deleteNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object * @returns {Promise<google.longrunning.Operation>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|reimageNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ReimageNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.longrunning.Operation} [response] Operation */ /** * Calls ReimageNode. * @function reimageNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IReimageNodeRequest} request ReimageNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.ReimageNodeCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.reimageNode = function reimageNode(request, callback) { return this.rpcCall(reimageNode, $root.google.cloud.tpu.v1.ReimageNodeRequest, $root.google.longrunning.Operation, request, callback); }, "name", { value: "ReimageNode" }); /** * Calls ReimageNode. * @function reimageNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IReimageNodeRequest} request ReimageNodeRequest message or plain object * @returns {Promise<google.longrunning.Operation>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|stopNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef StopNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.longrunning.Operation} [response] Operation */ /** * Calls StopNode. * @function stopNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IStopNodeRequest} request StopNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.StopNodeCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.stopNode = function stopNode(request, callback) { return this.rpcCall(stopNode, $root.google.cloud.tpu.v1.StopNodeRequest, $root.google.longrunning.Operation, request, callback); }, "name", { value: "StopNode" }); /** * Calls StopNode. * @function stopNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IStopNodeRequest} request StopNodeRequest message or plain object * @returns {Promise<google.longrunning.Operation>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|startNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef StartNodeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.longrunning.Operation} [response] Operation */ /** * Calls StartNode. * @function startNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IStartNodeRequest} request StartNodeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.StartNodeCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.startNode = function startNode(request, callback) { return this.rpcCall(startNode, $root.google.cloud.tpu.v1.StartNodeRequest, $root.google.longrunning.Operation, request, callback); }, "name", { value: "StartNode" }); /** * Calls StartNode. * @function startNode * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IStartNodeRequest} request StartNodeRequest message or plain object * @returns {Promise<google.longrunning.Operation>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|listTensorFlowVersions}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListTensorFlowVersionsCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} [response] ListTensorFlowVersionsResponse */ /** * Calls ListTensorFlowVersions. * @function listTensorFlowVersions * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} request ListTensorFlowVersionsRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.ListTensorFlowVersionsCallback} callback Node-style callback called with the error, if any, and ListTensorFlowVersionsResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.listTensorFlowVersions = function listTensorFlowVersions(request, callback) { return this.rpcCall(listTensorFlowVersions, $root.google.cloud.tpu.v1.ListTensorFlowVersionsRequest, $root.google.cloud.tpu.v1.ListTensorFlowVersionsResponse, request, callback); }, "name", { value: "ListTensorFlowVersions" }); /** * Calls ListTensorFlowVersions. * @function listTensorFlowVersions * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} request ListTensorFlowVersionsRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.ListTensorFlowVersionsResponse>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|getTensorFlowVersion}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetTensorFlowVersionCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.TensorFlowVersion} [response] TensorFlowVersion */ /** * Calls GetTensorFlowVersion. * @function getTensorFlowVersion * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} request GetTensorFlowVersionRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.GetTensorFlowVersionCallback} callback Node-style callback called with the error, if any, and TensorFlowVersion * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.getTensorFlowVersion = function getTensorFlowVersion(request, callback) { return this.rpcCall(getTensorFlowVersion, $root.google.cloud.tpu.v1.GetTensorFlowVersionRequest, $root.google.cloud.tpu.v1.TensorFlowVersion, request, callback); }, "name", { value: "GetTensorFlowVersion" }); /** * Calls GetTensorFlowVersion. * @function getTensorFlowVersion * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} request GetTensorFlowVersionRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.TensorFlowVersion>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|listAcceleratorTypes}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListAcceleratorTypesCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.ListAcceleratorTypesResponse} [response] ListAcceleratorTypesResponse */ /** * Calls ListAcceleratorTypes. * @function listAcceleratorTypes * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.ListAcceleratorTypesCallback} callback Node-style callback called with the error, if any, and ListAcceleratorTypesResponse * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.listAcceleratorTypes = function listAcceleratorTypes(request, callback) { return this.rpcCall(listAcceleratorTypes, $root.google.cloud.tpu.v1.ListAcceleratorTypesRequest, $root.google.cloud.tpu.v1.ListAcceleratorTypesResponse, request, callback); }, "name", { value: "ListAcceleratorTypes" }); /** * Calls ListAcceleratorTypes. * @function listAcceleratorTypes * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.ListAcceleratorTypesResponse>} Promise * @variation 2 */ /** * Callback as used by {@link google.cloud.tpu.v1.Tpu|getAcceleratorType}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetAcceleratorTypeCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.cloud.tpu.v1.AcceleratorType} [response] AcceleratorType */ /** * Calls GetAcceleratorType. * @function getAcceleratorType * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object * @param {google.cloud.tpu.v1.Tpu.GetAcceleratorTypeCallback} callback Node-style callback called with the error, if any, and AcceleratorType * @returns {undefined} * @variation 1 */ Object.defineProperty(Tpu.prototype.getAcceleratorType = function getAcceleratorType(request, callback) { return this.rpcCall(getAcceleratorType, $root.google.cloud.tpu.v1.GetAcceleratorTypeRequest, $root.google.cloud.tpu.v1.AcceleratorType, request, callback); }, "name", { value: "GetAcceleratorType" }); /** * Calls GetAcceleratorType. * @function getAcceleratorType * @memberof google.cloud.tpu.v1.Tpu * @instance * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object * @returns {Promise<google.cloud.tpu.v1.AcceleratorType>} Promise * @variation 2 */ return Tpu; })(); v1.SchedulingConfig = (function() { /** * Properties of a SchedulingConfig. * @memberof google.cloud.tpu.v1 * @interface ISchedulingConfig * @property {boolean|null} [preemptible] SchedulingConfig preemptible * @property {boolean|null} [reserved] SchedulingConfig reserved */ /** * Constructs a new SchedulingConfig. * @memberof google.cloud.tpu.v1 * @classdesc Represents a SchedulingConfig. * @implements ISchedulingConfig * @constructor * @param {google.cloud.tpu.v1.ISchedulingConfig=} [properties] Properties to set */ function SchedulingConfig(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]]; } /** * SchedulingConfig preemptible. * @member {boolean} preemptible * @memberof google.cloud.tpu.v1.SchedulingConfig * @instance */ SchedulingConfig.prototype.preemptible = false; /** * SchedulingConfig reserved. * @member {boolean} reserved * @memberof google.cloud.tpu.v1.SchedulingConfig * @instance */ SchedulingConfig.prototype.reserved = false; /** * Creates a new SchedulingConfig instance using the specified properties. * @function create * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {google.cloud.tpu.v1.ISchedulingConfig=} [properties] Properties to set * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig instance */ SchedulingConfig.create = function create(properties) { return new SchedulingConfig(properties); }; /** * Encodes the specified SchedulingConfig message. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages. * @function encode * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {google.cloud.tpu.v1.ISchedulingConfig} message SchedulingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SchedulingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.preemptible != null && Object.hasOwnProperty.call(message, "preemptible")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.preemptible); if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.reserved); return writer; }; /** * Encodes the specified SchedulingConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages. * @function encodeDelimited * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {google.cloud.tpu.v1.ISchedulingConfig} message SchedulingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SchedulingConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SchedulingConfig message from the specified reader or buffer. * @function decode * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SchedulingConfig.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.tpu.v1.SchedulingConfig(); while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { message.preemptible = reader.bool(); break; } case 2: { message.reserved = reader.bool(); break; } default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SchedulingConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SchedulingConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SchedulingConfig message. * @function verify * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SchedulingConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.preemptible != null && message.hasOwnProperty("preemptible")) if (typeof message.preemptible !== "boolean") return "preemptible: boolean expected"; if (message.reserved != null && message.hasOwnProperty("reserved")) if (typeof message.reserved !== "boolean") return "reserved: boolean expected"; return null; }; /** * Creates a SchedulingConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {Object.<string,*>} object Plain object * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig */ SchedulingConfig.fromObject = function fromObject(object) { if (object instanceof $root.google.cloud.tpu.v1.SchedulingConfig) return object; var message = new $root.google.cloud.tpu.v1.SchedulingConfig(); if (object.preemptible != null) message.preemptible = Boolean(object.preemptible); if (object.reserved != null) message.reserved = Boolean(object.reserved); return message; }; /** * Creates a plain object from a SchedulingConfig message. Also converts values to other types if specified. * @function toObject * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {google.cloud.tpu.v1.SchedulingConfig} message SchedulingConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SchedulingConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.preemptible = false; object.reserved = false; } if (message.preemptible != null && message.hasOwnProperty("preemptible")) object.preemptible = message.preemptible; if (message.reserved != null && message.hasOwnProperty("reserved")) object.reserved = message.reserved; return object; }; /** * Converts this SchedulingConfig to JSON. * @function toJSON * @memberof google.cloud.tpu.v1.SchedulingConfig * @instance * @returns {Object.<string,*>} JSON object */ SchedulingConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Gets the default type url for SchedulingConfig * @function getTypeUrl * @memberof google.cloud.tpu.v1.SchedulingConfig * @static * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns {string} The default type url */ SchedulingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { if (typeUrlPrefix === undefined) { typeUrlPrefix = "type.googleapis.com"; } return typeUrlPrefix + "/google.cloud.tpu.v1.SchedulingConfig"; }; return SchedulingConfig; })(); v1.NetworkEndpoint = (function() { /** * Properties of a NetworkEndpoint. * @memberof google.cloud.tpu.v1 * @interface INetworkEndpoint * @property {string|null} [ipAddress] NetworkEndpoint ipAddress * @property {number|null} [port] NetworkEndpoint port */ /** * Constructs a new NetworkEndpoint. * @memberof google.cloud.tpu.v1 * @classdesc Represents a NetworkEndpoint. * @implements INetworkEndpoint * @constructor * @param {google.cloud.tpu.v1.INetworkEndpoint=} [properties] Properties to set */ function NetworkEndpoint(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]]; } /** * NetworkEndpoint ipAddress. * @member {string} ipAddress * @memberof google.cloud.tpu.v1.NetworkEndpoint * @instance */ NetworkEndpoint.prototype.ipAddress = ""; /** * NetworkEndpoint port. * @member {number} port * @memberof google.cloud.tpu.v1.NetworkEndpoint * @instance */ NetworkEndpoint.prototype.port = 0; /** * Creates a new NetworkEndpoint instance using the specified properties. * @function create * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {google.cloud.tpu.v1.INetworkEndpoint=} [properties] Properties to set * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint instance */ NetworkEndpoint.create = function create(properties) { return new NetworkEndpoint(properties); }; /** * Encodes the specified NetworkEndpoint message. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages. * @function encode * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {google.cloud.tpu.v1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NetworkEndpoint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.ipAddress); if (message.port != null && Object.hasOwnProperty.call(message, "port")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.port); return writer; }; /** * Encodes the specified NetworkEndpoint message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages. * @function encodeDelimited * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {google.cloud.tpu.v1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NetworkEndpoint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NetworkEndpoint message from the specified reader or buffer. * @function decode * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NetworkEndpoint.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.tpu.v1.NetworkEndpoint(); while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { message.ipAddress = reader.string(); break; } case 2: { message.port = reader.int32(); break; } default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NetworkEndpoint message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NetworkEndpoint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NetworkEndpoint message. * @function verify * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NetworkEndpoint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.ipAddress != null && message.hasOwnProperty("ipAddress")) if (!$util.isString(message.ipAddress)) return "ipAddress: string expected"; if (message.port != null && message.hasOwnProperty("port")) if (!$util.isInteger(message.port)) return "port: integer expected"; return null; }; /** * Creates a NetworkEndpoint message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof google.cloud.tpu.v1.NetworkEndpoint * @static * @param {Object.<string,*>} object Plain object * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint */ NetworkEndpoint.fromObject = function fromObject(object) { if (object instanceof $root.google.cloud.tpu.v1.NetworkEndpoint) return object; var message = new $root.google.cloud.tpu.v1.NetworkEndpoint(); if (object.ipAddress != null) message.ipAddress = String(object.ipAddress); if (object.port != null) message.port = object.port | 0; return message;