@google-cloud/service-management
Version:
Service management client for Node.js
831 lines (770 loc) • 2.62 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_service_management_protos || ($protobuf.roots._google_cloud_service_management_protos = {});
$root.google = (function() {
/**
* Namespace google.
* @exports google
* @namespace
*/
var google = {};
google.api = (function() {
/**
* Namespace api.
* @memberof google
* @namespace
*/
var api = {};
api.servicemanagement = (function() {
/**
* Namespace servicemanagement.
* @memberof google.api
* @namespace
*/
var servicemanagement = {};
servicemanagement.v1 = (function() {
/**
* Namespace v1.
* @memberof google.api.servicemanagement
* @namespace
*/
var v1 = {};
v1.ManagedService = (function() {
/**
* Properties of a ManagedService.
* @memberof google.api.servicemanagement.v1
* @interface IManagedService
* @property {string|null} [serviceName] ManagedService serviceName
* @property {string|null} [producerProjectId] ManagedService producerProjectId
*/
/**
* Constructs a new ManagedService.
* @memberof google.api.servicemanagement.v1
* @classdesc Represents a ManagedService.
* @implements IManagedService
* @constructor
* @param {google.api.servicemanagement.v1.IManagedService=} [properties] Properties to set
*/
function ManagedService(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]];
}
/**
* ManagedService serviceName.
* @member {string} serviceName
* @memberof google.api.servicemanagement.v1.ManagedService
* @instance
*/
ManagedService.prototype.serviceName = "";
/**
* ManagedService producerProjectId.
* @member {string} producerProjectId
* @memberof google.api.servicemanagement.v1.ManagedService
* @instance
*/
ManagedService.prototype.producerProjectId = "";
/**
* Creates a new ManagedService instance using the specified properties.
* @function create
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {google.api.servicemanagement.v1.IManagedService=} [properties] Properties to set
* @returns {google.api.servicemanagement.v1.ManagedService} ManagedService instance
*/
ManagedService.create = function create(properties) {
return new ManagedService(properties);
};
/**
* Encodes the specified ManagedService message. Does not implicitly {@link google.api.servicemanagement.v1.ManagedService.verify|verify} messages.
* @function encode
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {google.api.servicemanagement.v1.IManagedService} message ManagedService message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
ManagedService.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.serviceName != null && Object.hasOwnProperty.call(message, "serviceName"))
writer.uint32(/* id 2, wireType 2 =*/18).string(message.serviceName);
if (message.producerProjectId != null && Object.hasOwnProperty.call(message, "producerProjectId"))
writer.uint32(/* id 3, wireType 2 =*/26).string(message.producerProjectId);
return writer;
};
/**
* Encodes the specified ManagedService message, length delimited. Does not implicitly {@link google.api.servicemanagement.v1.ManagedService.verify|verify} messages.
* @function encodeDelimited
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {google.api.servicemanagement.v1.IManagedService} message ManagedService message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
ManagedService.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a ManagedService message from the specified reader or buffer.
* @function decode
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.api.servicemanagement.v1.ManagedService} ManagedService
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
ManagedService.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.api.servicemanagement.v1.ManagedService();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error)
break;
switch (tag >>> 3) {
case 2: {
message.serviceName = reader.string();
break;
}
case 3: {
message.producerProjectId = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a ManagedService message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {google.api.servicemanagement.v1.ManagedService} ManagedService
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
ManagedService.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a ManagedService message.
* @function verify
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
ManagedService.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.serviceName != null && message.hasOwnProperty("serviceName"))
if (!$util.isString(message.serviceName))
return "serviceName: string expected";
if (message.producerProjectId != null && message.hasOwnProperty("producerProjectId"))
if (!$util.isString(message.producerProjectId))
return "producerProjectId: string expected";
return null;
};
/**
* Creates a ManagedService message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {Object.<string,*>} object Plain object
* @returns {google.api.servicemanagement.v1.ManagedService} ManagedService
*/
ManagedService.fromObject = function fromObject(object) {
if (object instanceof $root.google.api.servicemanagement.v1.ManagedService)
return object;
var message = new $root.google.api.servicemanagement.v1.ManagedService();
if (object.serviceName != null)
message.serviceName = String(object.serviceName);
if (object.producerProjectId != null)
message.producerProjectId = String(object.producerProjectId);
return message;
};
/**
* Creates a plain object from a ManagedService message. Also converts values to other types if specified.
* @function toObject
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {google.api.servicemanagement.v1.ManagedService} message ManagedService
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
ManagedService.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.serviceName = "";
object.producerProjectId = "";
}
if (message.serviceName != null && message.hasOwnProperty("serviceName"))
object.serviceName = message.serviceName;
if (message.producerProjectId != null && message.hasOwnProperty("producerProjectId"))
object.producerProjectId = message.producerProjectId;
return object;
};
/**
* Converts this ManagedService to JSON.
* @function toJSON
* @memberof google.api.servicemanagement.v1.ManagedService
* @instance
* @returns {Object.<string,*>} JSON object
*/
ManagedService.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Gets the default type url for ManagedService
* @function getTypeUrl
* @memberof google.api.servicemanagement.v1.ManagedService
* @static
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
* @returns {string} The default type url
*/
ManagedService.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === undefined) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.servicemanagement.v1.ManagedService";
};
return ManagedService;
})();
v1.OperationMetadata = (function() {
/**
* Properties of an OperationMetadata.
* @memberof google.api.servicemanagement.v1
* @interface IOperationMetadata
* @property {Array.<string>|null} [resourceNames] OperationMetadata resourceNames
* @property {Array.<google.api.servicemanagement.v1.OperationMetadata.IStep>|null} [steps] OperationMetadata steps
* @property {number|null} [progressPercentage] OperationMetadata progressPercentage
* @property {google.protobuf.ITimestamp|null} [startTime] OperationMetadata startTime
*/
/**
* Constructs a new OperationMetadata.
* @memberof google.api.servicemanagement.v1
* @classdesc Represents an OperationMetadata.
* @implements IOperationMetadata
* @constructor
* @param {google.api.servicemanagement.v1.IOperationMetadata=} [properties] Properties to set
*/
function OperationMetadata(properties) {
this.resourceNames = [];
this.steps = [];
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]];
}
/**
* OperationMetadata resourceNames.
* @member {Array.<string>} resourceNames
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @instance
*/
OperationMetadata.prototype.resourceNames = $util.emptyArray;
/**
* OperationMetadata steps.
* @member {Array.<google.api.servicemanagement.v1.OperationMetadata.IStep>} steps
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @instance
*/
OperationMetadata.prototype.steps = $util.emptyArray;
/**
* OperationMetadata progressPercentage.
* @member {number} progressPercentage
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @instance
*/
OperationMetadata.prototype.progressPercentage = 0;
/**
* OperationMetadata startTime.
* @member {google.protobuf.ITimestamp|null|undefined} startTime
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @instance
*/
OperationMetadata.prototype.startTime = null;
/**
* Creates a new OperationMetadata instance using the specified properties.
* @function create
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {google.api.servicemanagement.v1.IOperationMetadata=} [properties] Properties to set
* @returns {google.api.servicemanagement.v1.OperationMetadata} OperationMetadata instance
*/
OperationMetadata.create = function create(properties) {
return new OperationMetadata(properties);
};
/**
* Encodes the specified OperationMetadata message. Does not implicitly {@link google.api.servicemanagement.v1.OperationMetadata.verify|verify} messages.
* @function encode
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {google.api.servicemanagement.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
OperationMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceNames != null && message.resourceNames.length)
for (var i = 0; i < message.resourceNames.length; ++i)
writer.uint32(/* id 1, wireType 2 =*/10).string(message.resourceNames[i]);
if (message.steps != null && message.steps.length)
for (var i = 0; i < message.steps.length; ++i)
$root.google.api.servicemanagement.v1.OperationMetadata.Step.encode(message.steps[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
if (message.progressPercentage != null && Object.hasOwnProperty.call(message, "progressPercentage"))
writer.uint32(/* id 3, wireType 0 =*/24).int32(message.progressPercentage);
if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
$root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
return writer;
};
/**
* Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.api.servicemanagement.v1.OperationMetadata.verify|verify} messages.
* @function encodeDelimited
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {google.api.servicemanagement.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes an OperationMetadata message from the specified reader or buffer.
* @function decode
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.api.servicemanagement.v1.OperationMetadata} OperationMetadata
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
OperationMetadata.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.api.servicemanagement.v1.OperationMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceNames && message.resourceNames.length))
message.resourceNames = [];
message.resourceNames.push(reader.string());
break;
}
case 2: {
if (!(message.steps && message.steps.length))
message.steps = [];
message.steps.push($root.google.api.servicemanagement.v1.OperationMetadata.Step.decode(reader, reader.uint32()));
break;
}
case 3: {
message.progressPercentage = reader.int32();
break;
}
case 4: {
message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {google.api.servicemanagement.v1.OperationMetadata} OperationMetadata
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
OperationMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies an OperationMetadata message.
* @function verify
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
OperationMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) {
if (!Array.isArray(message.resourceNames))
return "resourceNames: array expected";
for (var i = 0; i < message.resourceNames.length; ++i)
if (!$util.isString(message.resourceNames[i]))
return "resourceNames: string[] expected";
}
if (message.steps != null && message.hasOwnProperty("steps")) {
if (!Array.isArray(message.steps))
return "steps: array expected";
for (var i = 0; i < message.steps.length; ++i) {
var error = $root.google.api.servicemanagement.v1.OperationMetadata.Step.verify(message.steps[i]);
if (error)
return "steps." + error;
}
}
if (message.progressPercentage != null && message.hasOwnProperty("progressPercentage"))
if (!$util.isInteger(message.progressPercentage))
return "progressPercentage: integer expected";
if (message.startTime != null && message.hasOwnProperty("startTime")) {
var error = $root.google.protobuf.Timestamp.verify(message.startTime);
if (error)
return "startTime." + error;
}
return null;
};
/**
* Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {Object.<string,*>} object Plain object
* @returns {google.api.servicemanagement.v1.OperationMetadata} OperationMetadata
*/
OperationMetadata.fromObject = function fromObject(object) {
if (object instanceof $root.google.api.servicemanagement.v1.OperationMetadata)
return object;
var message = new $root.google.api.servicemanagement.v1.OperationMetadata();
if (object.resourceNames) {
if (!Array.isArray(object.resourceNames))
throw TypeError(".google.api.servicemanagement.v1.OperationMetadata.resourceNames: array expected");
message.resourceNames = [];
for (var i = 0; i < object.resourceNames.length; ++i)
message.resourceNames[i] = String(object.resourceNames[i]);
}
if (object.steps) {
if (!Array.isArray(object.steps))
throw TypeError(".google.api.servicemanagement.v1.OperationMetadata.steps: array expected");
message.steps = [];
for (var i = 0; i < object.steps.length; ++i) {
if (typeof object.steps[i] !== "object")
throw TypeError(".google.api.servicemanagement.v1.OperationMetadata.steps: object expected");
message.steps[i] = $root.google.api.servicemanagement.v1.OperationMetadata.Step.fromObject(object.steps[i]);
}
}
if (object.progressPercentage != null)
message.progressPercentage = object.progressPercentage | 0;
if (object.startTime != null) {
if (typeof object.startTime !== "object")
throw TypeError(".google.api.servicemanagement.v1.OperationMetadata.startTime: object expected");
message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
}
return message;
};
/**
* Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
* @function toObject
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {google.api.servicemanagement.v1.OperationMetadata} message OperationMetadata
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
OperationMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.arrays || options.defaults) {
object.resourceNames = [];
object.steps = [];
}
if (options.defaults) {
object.progressPercentage = 0;
object.startTime = null;
}
if (message.resourceNames && message.resourceNames.length) {
object.resourceNames = [];
for (var j = 0; j < message.resourceNames.length; ++j)
object.resourceNames[j] = message.resourceNames[j];
}
if (message.steps && message.steps.length) {
object.steps = [];
for (var j = 0; j < message.steps.length; ++j)
object.steps[j] = $root.google.api.servicemanagement.v1.OperationMetadata.Step.toObject(message.steps[j], options);
}
if (message.progressPercentage != null && message.hasOwnProperty("progressPercentage"))
object.progressPercentage = message.progressPercentage;
if (message.startTime != null && message.hasOwnProperty("startTime"))
object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
return object;
};
/**
* Converts this OperationMetadata to JSON.
* @function toJSON
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @instance
* @returns {Object.<string,*>} JSON object
*/
OperationMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Gets the default type url for OperationMetadata
* @function getTypeUrl
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @static
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
* @returns {string} The default type url
*/
OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === undefined) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.servicemanagement.v1.OperationMetadata";
};
OperationMetadata.Step = (function() {
/**
* Properties of a Step.
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @interface IStep
* @property {string|null} [description] Step description
* @property {google.api.servicemanagement.v1.OperationMetadata.Status|null} [status] Step status
*/
/**
* Constructs a new Step.
* @memberof google.api.servicemanagement.v1.OperationMetadata
* @classdesc Represents a Step.
* @implements IStep
* @constructor
* @param {google.api.servicemanagement.v1.OperationMetadata.IStep=} [properties] Properties to set
*/
function Step(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]];
}
/**
* Step description.
* @member {string} description
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @instance
*/
Step.prototype.description = "";
/**
* Step status.
* @member {google.api.servicemanagement.v1.OperationMetadata.Status} status
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @instance
*/
Step.prototype.status = 0;
/**
* Creates a new Step instance using the specified properties.
* @function create
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {google.api.servicemanagement.v1.OperationMetadata.IStep=} [properties] Properties to set
* @returns {google.api.servicemanagement.v1.OperationMetadata.Step} Step instance
*/
Step.create = function create(properties) {
return new Step(properties);
};
/**
* Encodes the specified Step message. Does not implicitly {@link google.api.servicemanagement.v1.OperationMetadata.Step.verify|verify} messages.
* @function encode
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {google.api.servicemanagement.v1.OperationMetadata.IStep} message Step message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Step.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
if (message.status != null && Object.hasOwnProperty.call(message, "status"))
writer.uint32(/* id 4, wireType 0 =*/32).int32(message.status);
return writer;
};
/**
* Encodes the specified Step message, length delimited. Does not implicitly {@link google.api.servicemanagement.v1.OperationMetadata.Step.verify|verify} messages.
* @function encodeDelimited
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {google.api.servicemanagement.v1.OperationMetadata.IStep} message Step message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
Step.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a Step message from the specified reader or buffer.
* @function decode
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {google.api.servicemanagement.v1.OperationMetadata.Step} Step
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
Step.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.api.servicemanagement.v1.OperationMetadata.Step();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error)
break;
switch (tag >>> 3) {
case 2: {
message.description = reader.string();
break;
}
case 4: {
message.status = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a Step message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {google.api.servicemanagement.v1.OperationMetadata.Step} Step
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
Step.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a Step message.
* @function verify
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
Step.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.description != null && message.hasOwnProperty("description"))
if (!$util.isString(message.description))
return "description: string expected";
if (message.status != null && message.hasOwnProperty("status"))
switch (message.status) {
default:
return "status: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
return null;
};
/**
* Creates a Step message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof google.api.servicemanagement.v1.OperationMetadata.Step
* @static
* @param {Object.<string,*>} object Plain object
* @returns {google.api.servicemanagement.v1.OperationMetadata.Step} Step
*/
Step.fromObject = function fromObject(object) {
if (object instanceof $root.google.api.servicemanagement.v1.OperationMetadata.Step)
return object;
var message = new $root.google.api.servicemanagement.v1.OperationMetadata.Step();
if (object.description != null)
message.description = String(object.description);
switch (object.status) {
default:
if (typeof object.status === "number") {
message.status = object.status;
break;
}
break;
case "STATUS_UNSPECIFIED":
case 0:
message.status = 0;
break;
case "DONE":
case 1:
message.status = 1;
break;
case "NOT_STARTED":
case 2:
message.status = 2;
break;
case "IN_PROGRESS":
case 3:
message.status = 3;
break;
case "FAILED":
case 4:
message.status = 4;
break;
case "CANCELLED":
case 5:
message.status = 5;
break;
}
return message;
};
/**
* Creates a plain object from a Step message. Also converts values to other types if specified.